John is the author of:
Thanks to Clarke for the invite.
Infoconomy’s publication Information Age, November 2005, Lean times for online gambling, highlights a Lean/agile success story.
Mention of “emphasises face-to-face collaboration over documentation”, “product management team sits side by side with programmers so they can see what is needed as they go along”, “Daily five-minute morning meetings review yesterday’s achievements and the day’s plans”.
It’s a short article, but picks up on a few important points.
Scott Wiltamuth’s C# blog has hinted that we might might see some service packs for Visual Studio 2003 and the recently launched Visual Studio 2005. Rumour has it, the service packs for Visual Studio 2005 might be available during the first half of 2006.
Whilst service packs are usually welcomed, I am a little concerned that there is talk of a service pack for Visual Studio 2005…so soon. I mean, it’s only a matter of hours since it was launched, and days since it reached RTM. I suppose Microsoft had to release the product during 2005 and have enough time to ensure a timely series of launch events, hence early November. Given that revenue shouldn’t be a real problem for Microsoft, I’m pretty confident that this isn’t a case of early release to bring in early profit.
Steve Ballmer delivered the launch speech via satellite from San Francisco where he shared an auditorium with 3000 or so guests (developers). The UK launch was held at the London Stock Exchange yesterday. There’s an on-demand web cast available here.
The key launch message that came across revolved around: better decisions, faster results, better insight. These are values/principles that guided the individual product development (Visual Studio, SQL Server, BizTalk) and the broad platform development (encompassing SharePoint, Windows clients, Microsoft Office, Microsoft Dynamics, developer tools, management tools, XML web services, ind std and Microsoft own .net innovations)
Steve went on to highlight some statistics from IDC. Platform momentum, five years after the launch of .NET – when asked what platform are you using for mission critical applications: 35% of customers are using .NET whereas 25% using Java. “35%, number one clearly is .NET”. In calendar year 04, SQL Server out-sold DB2 and Oracle. And with the sheer power provided by Intel and various hardware vendors, the combination of hardware and Microsoft product sets, Steve came out with this quote:
“There is no job that is too big to run on entirely on the Windows and Microsoft platform”
The launch speech saw a student and Brian Goldfarb extol the virtues of the Visual Studio 2005 and SQL Server 2005 Express Editions. What’s important to note about the Express Editions is that fact that they are free. Obviously the Express Editions don’t have all the features of the full product versions, but the projects you create with them are upwardly compatible and they’ll give you great exposure to the Visual Studio and SQL Server family. Aimed at hobbyist and students, the Express Editions are a good way of getting that much needed product experience that will put you in good stead in your first job. Download your Express Editions here.
There seemed to be some arm waving surrounding the introduction of “My” – something that has been introduced into the Visual Basic.net language. I’m not sure what all the fuss is about, but will take this opportunity to remind everybody that Juval Lowy has gone ahead and implemented in C#. There’s some good stuff about the Visual Basic.net version over here. There’s more about “My” for C#, this and that, over here…or you can just download it from here.
I also got to meet Tim Anderson – I shook his hand and that’s about it: three weeks of ‘flu, cold, coughing and sore throat cost me my voice…I was sipping Lemsip all day!
My voice eventually returned…Microsoft’s Phil Cross put up with me for the best part of an hour – we seem to share the same ideas about the concept of feedback. Feedback is important, if you (as a “vendor”) ask your customer(s) for some feedback, e.g. a restaurant owner asking guests for feedback after their meal, please take the feedback and do something with it: don’t turn it back on the customer and make them feel guilty. Towards the end of the evening IT Week’s Martin Banks passed by to say “hello, goodbye”…I shook his hand too! Of course, all this hand-shaking is nothing in comparison to Richard Costall’s experience in this department! (I shook Richard’s hand before I knew where his hand had been…may be something will have rubbed off on me?)
Sign up for the Ready To Launch Tour!
Information Week’s take on the launch is here.
With reference to this, Visual Studio 2005 Professional doesn’t come with the unit testing support that its big brother Visual Studio Team System does…
I’m pleased to see Richard Jonas follow it up in his Internal or External posting. I have to agree with Richard’s comments, the decision to “in-source” or “out-source” on a project-by-project, or function-by-function, basis has to be made using all the information available (I can’t think of situation where this wouldn’t be true, although we all see such decisions being made without such consideration). And, it is important to note that some projects/functions are inherently meant to be outsourced.
My original posting was prompted (apart from via Joel), by a letter in Computer Weekly dated 20th September 2005 on the subject of “Do contractors offer better value for money?” The author notes that contractors rates of pay are typically twice that of permanent employees. He goes on to state that hidden costs such as bonus, pension, employer’s national insurance, recruitment fees, cost of human resources, accounts, payroll, taxes, holiday and sickness actually make a contractor better value of more flexible. Are these costs really hidden? Surely most businesses know exactly how much it costs to have an employee sit at their desk carrying out their function? No? All these hidden costs, the opportunity cost of having somebody else sitting at the same desk carrying a potentially more profitable function, etc. Surely? Clearly there are two sides to scenarios like this, the author of this letter sits on the side of contractors, whereas I seem to sit on the side of permanent employees…
On the premise that hiring a contractor is analogous to outsourcing a project/function, let’s follow that notion for a while…
Are contractors better value and more flexible? Insofar as the contractor doesn’t [usually] get embroiled in the internal politics that some many permanent employees do (although not through choice I might add), the contractor is free to focus on the task in hand, they can spend 90%+ of their working day on the project/function. Therefore, on the surface, they appear more productive that permanent employees. They’re getting the job done faster, possibly better, but not necessarily cheaper – twice the cost remember, folks will see that as being “more expensive”, unless they are able to understand that the contractor may have taken less time to complete the piece of work (although the work is unlikely to be completed in 50% of the time it would take a permanent employee to complete).
Unless the contractor is able to “hit the ground running”, it’s very likely that some mentoring will be required. Mentoring is often a service delivered by a permanent employee…their costs must be factored when assessing contractor value. Indeed, there’s often an element of re-work involved if a mentor or supervisor is involved. Despite best efforts, I’ve seen the work of contractors being “finished off” by permament employees. Similarly, I’ve seen mentors/supervisors grimace at how long recently in-bound contractors take to complete a known to be simple task (this is more obvious where the mentor/supervisor would normally have performed the job the contractor was brought in to do).
Where the function/project involves the development of a piece of software, it’s very rare (in my experience) that the ultimate end customer actually uses the software the day they are issued with it. The day that they are issued with it may well be the contractor’s last day, in which case who fixes the customers snags? This is less of problem where the customer has wanted to or has been involved in the development process all along, something which is very desirable but rarely happens in traditional software development shops. Often the mentor has to “pick up” the customer’s snags and fix them. This is a double-edged sword. The mentor is nowhere near as familiar with the code-base as the contractor. This will lead to increased start-up time, i.e. the snag will take longer to fix. It will also lead to reduced quality, the mentor may think that they have fixed the snag without realising their fix may have repurcusions elsewhere (yes, practicing test-driven development and having a suite of tests would help, but we’re talking about traditional software development, not agile!)
Contractor flexibility is evident as a suitably qualified/skilled contractor will lend themselves to any platform, any language and their curriculum vitae will be a work of honesty, not fiction. However, the business may find itself paying a contractor to learn a new skill that puts the said contractor in a more marketable position for their next contract. Not good. Similarly, the said contractor completes the function/project then moves on to a new contract. Whatever the contractor had to learn in order to complete the function/project was a skill that went with them…that may well have been a potentially proprietary skill that would have been better value if it remained “in house”.
I’m standing by my original thoughts: if a piece of work, a function or project is considered “core” to your business, subject to the decision making process noted above and in Richard’s post, it should be kept in-house, i.e. internal. Proprietary intellectual skills that give you a business advantage, give you a means of adding value, give you the edge, should remain in-house.
Blogsphere has been busy over the last two weeks, talk about DeveloperDeveloperDeveloper 2 has been rife:
If I’ve missed you out, please let me know and I’ll be glad to add you to this list of DDD supporters!
Oh, and the Geek Dinner that was organised by Sarah, the podcasts are available here. Kudos to Dave Oliver (aka Sabot over at C9) for recording the podcasts! Might I add that my voice (in the second recording) was subject to:
a) a heavy dose of the ‘flu and
b) a few beers and some wine (even my recent blogcast sounds better, although I’m still troubled with the ‘flu and a heavy cold, violins, out!)
If you are interested in speaking at a community or user group event, whether it’s “down south” in England or here in the north (Scotland), let me know, listen to what I have to say here [96K] – or feel free to contact any of the other members of the team: Craig Murphy, Benjamin Mitchell, Tony Rogerson, James Crowley, Phil Winstanley, or Jonathan Hodgson. [Microsoft staff also form part of the team, however I’m not sure they’d appreciate their e-mail alias being published here, although I’ll happily be corrected if required.]
Windows Presentation Foundation Hands-On-Labs
Development; Development tools
Celebrate the 20-year anniversary of C++ with the top C++ speakers in
the world in Las Vegas
patterns & practices Guidance: Complete Catalog
.NET development; Deployment; Design; Development; practices; Scalability
patterns & practices – VB6 to VB.NET Migration Guide: Home
Threat Modeling Web Applications
Author: J.D. Meier, Alex Mackman, Blaine Wastell
Register Now for patterns & practices Summits
Generics FAQ: Fundamentals
Author: Juval Lowy
http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/Fundamentals.asp (Printed Pages: 51)
Generics FAQ: .NET Framework
Author: Juval Lowy
http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/NetFramework.asp (Printed Pages: 35)
Generics FAQ: Tool Support
Author: Juval Lowy
http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/ToolSupport.asp (Printed Pages: 5)
Generics FAQ: Best Practices
Author: Juval Lowy
http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/BestPractices.asp (Printed Pages: 16)
Microsoft After Dark: The Launch Show
Security; Web Services
Web Service Enhancements (WSE) 3.0 and Secure Web Services
Author: Mark Fussell
Video Series: Getting Started with Visual Web Developer 2005
Prescriptive architecture guidance
patterns & practices Developer Center
.NET development; Architecture; Development; Development tools; Patterns; practices
patterns & practices for Visual Studio 2005
.NET development; Development; Development tools; Migration; practices
Visual Basic 6.0 to VB.NET Upgrade Guidance – Community Pre-Release
Author: Edward Lafferty, William Loefler
Launch2K5: GridView Examples for ASP.NET 2.0
.NET development; Audio and video; Development
Non-Destructive Media Edits
Author: Arian Kulp
.NET development; Game development
Kid’s Programming Language: Pong!
Author: Jon Schwartz
Debugging; Design; Development; Performance; User interface
Improving the Performance of InfoPath 2003 Forms
Author: Andrew Begun, Dafina Toncheva
http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/odc_ip2003_ta/html/OfficeInfoPathTroubleshootPerformanceBestPracticeGuidelines.asp (Printed Pages: 18)
DevelopmentNamed Return Value Optimization in Visual C++ 2005
Author: Ayman B. Shoukry
http://msdn.microsoft.com/visualc/default.aspx?pull=/library/en-us/dnvs05/html/nrvo_cpp05.asp (Printed Pages: 12)
Development tools; Security
Adopting Visual Studio Express Within Your Organization
Author: Rudolph Araujo
http://msdn.microsoft.com/vstudio/default.aspx?pull=/library/en-us/dnvs05/html/vsexpresssecurity.asp (Printed Pages: 10)
Step by Step: Building a .NET Compact Framework Application for a
Windows Mobile-based Device Using Visual Studio 2005
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/med201_msdn_netcf_app_vs2005rtf.asp (Printed Pages: 56)
.NET development; Web development
ASP.NET Spiced: AJAX
Author: Karl Seguin
http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/ASPNetSpicedAjax.asp (Printed Pages: 17)
Architecture Chronicles – Dynamic Modeling: Aligning Business and IT
Author: Dave Welsh, with Frederick Chong
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/MSArcSeriesMCSIntro.asp (Printed Pages: 2)
Web Service Deployment: Deploying Web Services in the Northern
Electronics Scenario (Architecture Chronicles – Dynamic Modeling:
Aligning Business and IT)
Author: Frederick Chong, with Jim Clark
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/MSArcSeriesMCS7.asp (Printed Pages: 18)
Web Service Health Modeling, Instrumentation, and Monitoring: Developing
and Using a Web Services Health Model for the Northern Electronics
Scenario (Architecture Chronicles – Dynamic Modeling: Aligning Business
Author: Frederick Chong, with Jim Clark
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/MSArcSeriesMCS6.asp (Printed Pages: 46)
Web Service Solution Design: Developing a Solution Design for Web
Services in the Northern Electronics Scenario (Architecture Chronicles –
Dynamic Modeling: Aligning Business and IT)
Author: Frederick Chong, with Jim Clark
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/MSArcSeriesMCS5.asp (Printed Pages: 15)
Dealing with the “Melted Cheese Effect”: Contracts
Author: Maarten Mullender
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/MeltedCheeseContracts.asp (Printed Pages: 11)
Step by Step: Migrating an eMbedded Visual C++ Application to Visual
http://www.msdn.microsoft.com/library/en-us/dnppcgen/html/med303_msdn_migrate_evc_app_vs2k5.asp (Printed Pages: 22)
I’m pleased to announce that the DDD sessions that were recorded are now available for download from here.
Once you have installed a BitTorrent client, download and open the following to start downloading:
SQL to C# – Anton did a great job stepping in at the last minute.
AJAX in ASP.NET – James gave a great session about AJAX.
The Indigo Line – Simon drummed home the Windows Communications Framework
WPF (aka ‘Avalon’): The Future of Windows – Ian did a great job, well received…and he wrote the book!
1st Class Data-Driven Applications with ASP.NET 2.0 – lennybacon (Daniel Fisher) hits the nail on the head.
Attacking Web and Windows Applications – this session will have you “bricking” it, from a .net security perspective.
[07/11/2005: Videos are now available via http]: