|Author : DAOUDI Samir | Context : MSc Software Engineering – Computer Structure
Software engineering is more than an art with different actors and discipline; it became an important field in the computation. Software project involves not only technical knowledge and funds but also a lot of planning and management skills.
A software life cycle can be summarized in the following main steps :
– Requirements specification – Design
The four steps are related and a good communication and documentation is the key of success of a project.
A research and survey stated some best-practices or secrets for successful software project that can be summarized in :
1.Having experts in the team
4.Understanding the target market
6.Testing your own stuff
7.Reject change requests
In my personal opinion, I think that ‘Good Communication’ and ‘Understanding the target market’ can be considered the most important. In Scott’s survey it has been noticed that :
Scope: 87.3 percent said that meeting the actual needs of stakeholders is more important than building the system to specification.
Quality: 87.3 percent said that delivering high quality is more important than delivering on time and on budget.
I will provide a concrete example from my own experience. I’ve taken part in the technical team for developing an adapted ERP for medical field in Algeria; we were about 6 persons with 4 developers, one project manager and a consultant and we worked on the project for about one year. The 1st step, which was the requirements specifications, took long time and efforts and was mainly done by the project manager and the consultant. We were trying to understand the requirement and make the design firstly of the Database.
Once we agreed on the design of the database, we started coding the basic modules, the logical interactions users-database and later we added the graphical windows of the applications.
I remember that the manager of the company was in a hurry to get the product delivered as he had already talked about it to big customers, we were under pressure everyday and we were asked to speed up the developing process. The project manager was absent for 2 months for health reasons and the company manager was too busy for our questions, so we continued working and a lot of changes in the technical team occurred, two developers quitted and others joined the team at the last stage of the project. When we presented the beta version of the software it was too far from the requirements, and none talked to us about specific functionalities and we all noticed that what we’ve done was far from what was expected by customers. The project failed, and this was mainly due to the lack of communication and the gap between the technical team, management and customer.
I has concluded from my own experience that the break of communication at the analyse step can end with the non-satisfaction of the end-users or the complete failure of the project.
 J.G Brookshear ‘Computer science 10th Edition’, 2010 P377, ISBN : 978-0-321-52403.
 ‘7SecretsforDeliveringSuccessfulSoftwareProjects’,2007, http://www.codeproject.com/Articles/21086/7- Secrets-for-Delivering-Successful-Software-Proje
 P.Krantz ‘Defining Characteristics of a Successful Software Project’,2008, http://www.peterkrantz.com/2008/defining-successful-it-projects/