09.09
Something I have long believed in, is that, as developers, we should be concentrating on one job at a time. I have often been put in the situation where I need to work on multiple tasks during a working day. This not only creates stress, but also leads to increased delivery time and potentially poor delivery for all of the projects.
It might be nice to be able to say to each customer: “Yes, your project is currently being worked on…” – but, I think it would be far better to be able to say to the customer: “Your project will be completed in 2 week’s time”. The second statement may not be exactly what that customer wants to hear, however, it will result in a better product and a lower overall cost (not only for the current development phase, but also future maintenance cost due to having a better product delivered).
While I understand that many customers simply want a product delivered in the shortest time possible, the long term benefits must surely be to retain a greater customer loyalty due to a better product being delivered.
With reference to: http://codemonkeyism.com/high-cost-overhead-working-parallel/
While I fully agree with what you have written, I think that the reference you linked to is flawed. That is because that writer is referring to a team of programmers.
Given 5 programmers, and 5 programs to be written, I feel sure that parallel development where each programmer concentrates on one program will be a lot more efficient than having the programmers work as a team on each program serially.
Sure, it might result in more progress meetings, but each progress meeting will be with one programmer instead of five.