Tuesday, August 26, 2008

Need for processes for web projects

As you all know nowadays processes are becoming more and more mandatory in all types of software companies, does the existence of processes really benefit the company or its project? I have seen people recommending introduction of processes just for their personal growth so that it can help them to get a better job. Now, these are traps which companies need to consider. Similarly, I have also seen companies introduce processes just to get bigger and better processes. So when exactly should processes be introduced? A typical web based project has a short turn-around, say, 2 to 3 months. Is it worth for a company to introduce processes for such a small project? Why then are companies thriving to get CMMI certified? Is it just a means for getting bigger fish? Well, I would say Yes and No. Yes, in the sense that getting certified does help the company to get good deals but then it also helps the company to have a clear understanding of processes in general. For example, tomorrow if that company has to tie up with the likes of IBM who have strong tested processes, the company won't be lost trying to understand the different process terminologies. However the organization must be smart enough to tailor the processes as per the need of the project. A project have a 3 month schedule might require a weekly or fortnightly milestone setting just so because every single day is important. Similarly, elaborate documents like Use Cases or Unit Test Cases should be introduced only if required and not just so because they are followed as a standard practice. Nowadays, a client's requirement for a web based solution is more or less based on some or the other existing web concept so a careful searching might lead to a ready-made solution itself. Hence in such situations, the tasks to be completed by the developers are easil explainable thus eliminating the need for certain process documents. At the end of the day, a process is just a means to an end. If a process improves productivity, quality, efficiency and delivery, its well worth using it. Care should be taken to ensure that processes don't introduce bureaucracy.