MSBuild for .Net 1.1
The last six months have been a major learning curve for me being at the start of a new company. Since I've been in company start-up phase a couple of times before, I've learnt two important things:
- Priorities make things happen: Developers generally are idealists. They usually have many great ideas and a belief that the software they build can only be truly great if only they had the time to implement all of them. It's no coincidence that the words of idea and ideal are from the same root. However, I think that in the early stages of a company, especially one that is growing rapidly (we hired 15 people in just 6 months, and we are still looking for more!), the most important task of management is prioritising the most important ideas, and getting the team focused on those. Without a good set of priorities, I think very little of lasting value happens in the business, or worse still, you get left with a slew of internal projects and ideas that only reached 80% implementation.
- Get a small set of key processes right upfront: If you want to get a good software team, it helps to get a small set of key processes right upfront. My "small set" is Joel Spolsky's Twelve Steps to Better Code - which has become a mantra for developers starting work at our company.
Step 2 of the Joel Spolsky test is to answer the question: "Can you make a build in one step?". Now since I issued this challenge to our development team, the immediate comeback was something like this:
In our company some of our developers are privileged: They are currently working on .Net 2.0. code exclusively, so can use MS Build to achieve their aim.
However some of our developers are from a historically disadvantaged background, having to code on our .Net 1.1. legacy projects where MS Build does not work natively.
However, Microsoft has a solution to this: A tool that will help historically disadvantaged .Net 1.1. developers reach the same levels of productivity of priviledged .Net 2.0 programmers. Curiously, its called MS BEE - I'm not making this up! It's part of the Power Toys for Visual Studio release, and worth a download.