We are at the fag end of a long 3-4 month development cycle for one of our clients. Although large e-commerce projects are not new for us the duration and intensity of this one was tough. The final site is fabulous but it left the team very little in the gas tank. Our team worked non-stop to deliver the site for the client which I felt in hindsight was not wise at all.
So based on this and other experiences here are some ideas on how to plan a long term website project.
Looking back at the planning stage we realized that we had left absolutely no room for rest periods. When one phase ended another began almost immediately. Many places phases overlapped creating needless pressure on the team. If we were to do it again i would at least leave 2-3 week long breaks for the team to recharge. When creating the project proposal I would account for this.
Most clients usually lean hard on the development team to shorten web development cycles. Most developers out of fear of loosing business or upsetting the clients acceed to these demands. Managers drives the team leaders who drive the developers hard to deliver. If the management team would stand up to the clients from the beginning and demand rest periods it would save a lot of burn out cases. Most clients, being reasonable, on reflection, would agree to the rest periods.
Website programming is such a process that it can be done in a variety of ways. Each developer and team have their own methodologies. What this means is that if pressed web developers can quite easily take shortcuts which won't show up in the short term but can be costly and damaging in the long term. Assuming that the developer is not lazy by nature (most coders are not), if given enough room they will always take the correct and rigorous path. Give the team space to code clearly and properly. Spare the whip and get good code.
Web technology is highly evolving and dynamic with new frameworks, programming language versions, database versions, browser versions all changing very frequently. To create a state of the art website application takes a lot of R&D, trial and error and sometimes scrapping of entire code pieces. Add to this client requested changes in functionality and design and we have a lot of potential for delays.
Unfortunately people are not as healthy as they used to be and that goes for web developers too. People quit jobs and jump companies all the time. Now you might say all this is an HR issue and should be planned ahead but most web development companies work on razor thin staffs (due to lack of talented programmers and financial constraints). Most do not have a big bench strength like a Wipro or a Infosys. Burn out cases too are quite common in our industry. Hence the need for breathing room.
Quite simply it means one week of rest for every 3 weeks of coding. The team develops furiously for 3 weeks and then rests and reviews for 1 week. It does not mean that developers stay at home. Only the pressing crush of deliverables is not there during the rest week. I know most clients and web developers would shake thier heads and call this sheer fantasy but the alternate can be quite bad too. Who wants fatigued, tired coders to work on their prestigious projects. Logically sprint and drift makes sense.
I have yet to work or see a web development project executed precisely as scheduled in the starting plan. I know this sounds weird but its the truth. The medium of the web is such that it rises possibilities and issues at every turn inadvertently delaying projects. Rather than tearing your hair out when delays happen you might as well plan for it from the beginning.
We've had the good fortune to work with clients who have been amazingly understanding when things have gone wrong or delayed. We would'nt be here without your support and patience. A Big Thank You to all our clients.
Now I shall rest?.cheers,
Ron