Just read an interesting article written by Joel Spolsky. You can read it here.
It covers two important concepts in Software Development.
1. Developing shrink-wrapped sofware vs customised software. I've developed both kinds of software at various times.
I find that writing customised software really isn't a good business model. The process tends to go like this:
- Sales guy talks to the client
- Asks for a quote with some very vague, hand-wavy "requirements"
- BA/Architect comes up with an estimate based on gut feel
- Estimate is turned into a dollar figure, discounts are applied to ensure the deal is won
- Contract is signed
Later on, down the track, the consulting company decides what functionality can be crammed into the budget, negotiates with the customer and they come to some agreement.
The end result is that the customer doesn't really get what they want and the consulting company make a very small profit (or sometimes, large losses!) and that's it. No more chance to benefit from that work at all.
At least if you develop some software that can be resold (even with customisation) you've got an opportunity to leverage that work into future earnings.
2. Priorities
The other interesting concept discussed is prioritisation. I think this is so important, but lots of people just don't get it. If you set priorities and then develop components based on their importance, everybody wins!
No comments:
Post a Comment