This is a very short post about software development that I hope will be useful to anyone that finds it. I wanted to put on our blog a five key checkpoints that help identify risks in a software development project, based on the more human aspects. Some of these items seem obvious, other less so. As my background is software development and software development consultancy, this list pertains to that discipline, however many of the ideas cross over into project management in general.
- Is the project ‘project managed’? If there is no dedicated project manager with project managements skills, then risks and issue are not likely to be picked up and dealt with.
- Is the software development project technically managed? This is quite different from good project management. Good technical management reduces risks, such as: bad choice of technologies; ego programming; bad communication between developers; poor testing; lack robustness, no extendibility and poor documentation.
- Is the software development team qualified? It’s not just important to have managers with the right experience, the team need to have the right experience too. Sometimes skill areas are transferable and training can help. In general a software development project team lacking some experience, that has been identified up-front and managed through training and time given to self learning may be an acceptable risk. After all, we all go through the process of learning new skills from time to time. However, asking a team of Cobol programmers to tackle a web integration project on the basis that “they are programmers” and “that is all that is needed”, would most certainly be a recipe for disaster. Of course most software development projects are not so extreme. The risk is that your software development project might be closer to this example that you might think; without looking at it carefully you might never know until it is too late.
- Staff attrition: is anyone likely to leave the team before the end of the software development project? This does happen and can cause a real issue if work is so segregated that each team member does not have any real idea of what the others are doing and therefore cannot pick on someone else’s area of work.
- Is the client (or project owner) communication good with the software development project team and managers in particular? Is progress well communicated with the client? Do the team understand their client’s expectations and have the project limitations been well communicated with the client? Does the client understand the risk and issues that have come up during the development to-date and do they have a good grasp of the project plan, schedule and current progress? In the end project success is about meeting your client’s expectations and it’s key to at least manage these expectations!
There are many factors that can effect a project adversely – these are my top 5 – what are yours, please comment on this article below …