|Author : DAOUDI Samir | Context : MSc Software Engineering – Professional issues in computing|
Some software projects involve a lot of human efforts, material, founds, time …etc. And might generate a lot of benefits for software--development companies, hence the importance of managing such projects and especially anticipating any risks should be considered as the primary task.
The art and science of planning and leading software projects known as software project management requires knowledge of the different phases and lifecycle of the development. It is important to define the vision, plan the different tasks, assign and involve the appropriate persons to the different tasks, scheduling and estimating the efforts for the tasks, designing, programming and testing are the key elements that a software project manager must have (Andrew.S, Jennifer.G 2005).
Even with such skills and abilities, sometimes unattended situations can occur and it is very difficult to deal with, it can even alter the whole project (schedules, costs, efforts …etc.).
Some of the risks that can be faced during a software development projects are:
-Non-exact estimation of the time window for tasks.
-Programmers working independently leaving the company.
-New functions and elements added to the project scope at an unexpected period. --Incomprehension of certain needs.
-Incorrect estimation of the budget for the project…etc. (Jasni.M, Wan.M & Eyas.Q 2011).
Those factors are very dangerous; efforts during the analyse phase of the project should be spent in examining these possibilities and countering them (or at least minimizing their impact).
I had a personal experience in a software development project; I was employed as C# freelance developer in a specific ERP developed in Algeria. We were around 10 developers and I personally worked for more than 10 months in the project, however as the majority of developers were freelancers and coding independently, we faced many problems as:
-Incoherence of code.
-Incomprehension of the source code.
-Usage of different technologies which were incompatible …etc.
Those were insignificant problems as we had a good project management team. However, we faced a major issue that ends with extending the schedule of the project and of course the customer was not happy with that and the company paid additional taxes for not respecting the delays.
The issue was the fact that 3 developers left the company without preventing or at least leaving comments and source code of their DLL’s. They worked on developing the licensing and encrypting system which was compiled and referenced in the solutions as DLL. It was doing exactly what was expected; however, without having the code source it was really dangerous and unacceptable to use it for such project, and we re--wrote the entire code for that. The non--professional attitude shown by these developers is one of the issues that we can face in software development project and in such situations, having a clear contract (especially for freelancers) is primary.
If a contract was established between the development company and the freelancers at the beginning we might avoid such situations.
Andrew.S & Jennifer.G (2005), Applied Software Project management. O’reilly, ISBN: 0-596-00948-8.
Jasni.M, Wan.M & Eyas.Q (2011), Software engineering and computer systems, ICSECS 2011 Springer, ISBN: 978-3-642-22190-3