April 19, 2012

My top ten list on how to succeed with large projects. (3)


Sometimes it seems like it's rude not to include everyone in all parts of the project resulting in a development method where every developer is part of the process from GUI down to the database and the external services. 

Software development is at the same level as how cars were produced before the T-Ford. They are built by hand, painstakingly, and they still end up with quality flaws that would have been corrected with a more industrial approach.

Software development methods are of course getting better, but still membership in a project is something that puts developers in a position where they are supposed to work eight hours a day from the start until the end of the project. It matters less if they are the best for the current task or not, yet in a project there are some highly specialized tasks that needs specialized skills like usability design, deployment, graphic design, performance testing etc.
How many of you haven't seen a good developer spending weeks on making lousy graphic design, buttons and the like? (For some reason few people seem to have strong skills in design and programming at the same time)

On the other end of the spectra we have projects where you appoint a manager or an architect even though you know that his or hers commitment is limited in time or effort. Putting an architect for the first months only in a big project will only damage it. Leading roles in a project should be long term.

So how do we get to a point where we can industrialize the process of making software?

I think that one important step is to sell more solutions than resources to the customer. If you sell a consultant for six months to a customer, he will stay there. If you sell a solution that will take six months to complete you will have a freedom in the staffing and you have at least a possibility to put the right person at the right task. Another important step is to have simple rules of thumb on staffing a project always striving to put the right person on the right spot with the right level of commitment.

No comments:

Post a Comment