Software Development Tips
Number One Reason that Software Projects Fail
Inadequate or incorrect specifications.
A successful software project must have a number of key ingredients:
- A project sponsor who takes ultimate responsibility and provides funding for the project
- A domain specialist who can impart what is required of the software
- Experienced, competent software builder(s)
- A realistic Project Plan
- Adequate resources to complete the task in the given time frame
- A common sense approach to time frame and budget
- Recognition of the impact of project scope creep.
Most important is that the whole team has a clear understanding of what needs to be done. The specification can take many forms (see notes below about writtem specifications) and needs to be a living thing in that it may change as the project proceeds. It is vital that as changes occur they are agreed by the whole team, authorised by the sponsor and correctly taken into account in the project plan, costing and time frame.
Written Software Specifications
Detailed written specifications can be a hinderance to the successful completion of a project.
The time taken to write, read, interpret, approve and contiually update detailed written spcifications can blow out a project budget and timetable beyond what is accepatable. In many cases the overhead cost and time to build this specification can make a project unviable.
Brief written guidelines, project meeings and software prototypes are a much more efficient way of imparting specification.
Recently we have also found the mind mapping software such as XMind can be a very efficient tools for maintaining concise specifications and project plans.
To this we need to add that the process of specification is often a learning experience to those creating the specification and the strength of above approach is even more apparent.
Coping with Project Scope Creep
This is one of the great enemies of successful software development projects.
When we are on target and on budget but seemingly small additional tasks keep getting added to the project.
There is always a temptation on the part of the project manager to accepts these small tasks in the interest of being responsive. However therein lies the great danger. These tasks may in fact be quite large or may add up to a significant impact on the budget and or time frame.
It is vital to immediately identify these items as being outside what the project was intended to do. No matter how small the tasks seem. Then to cost these in time and money and get agreement from all the stake holders whether to include or exclude these.