Project management is an important field and it has gained much popularity in the last few years. The basic process of this project is to have a deep insight into the basic concepts, tools and techniques of Project management. And here our group of five members would be carrying out the whole project through different phases. Initially a bid was made for a software development project and the lateral sections of paper would describe the effective project management process for such software development project.
This is basically a role playing practice which would lead us to manage the real life projects effectively and efficiently. This software was basically designed for a university so that their lecturers could send SMS to their respective students. Now whatever bid our company put forward, the CEO of the university would include the whole software development project. Our group would be a complete team including a technical expert, software developer, coordination manager, relationships associate and a group leader so that the whole project remains coordinated and the bid becomes more effective and the whole process is explained below very clearly and step by step.
As this project relates to the software project development so our group has determined following aims and objectives for this report:
1. Description of the whole software development projects along with the limitations involved in this project.
2. Problems and critical situations involved in the software project management and ways to resolve such problems and issues.
3. Using different tools and techniques of project management, how the project objectives can be met.
4. Lastly using effective strategies to run software development project efficiently and to deliver the project to the company in its full working form.
Although software project management is comparatively a different process than all other management projects but still it follows the same set of rules and the same format of phases involved in a regular project management process (John & Sons, 1995).
Following are the main steps through which we would be passing while our software project management. Each and every step is a milestone in the process of software development project. It means that once we are done with the 1st step we would be moving on to the next; it's not possible that all steps start simultaneously or end jointly so each and every step would play a significant role in successful completion of the whole project. All these steps are further explained below in details.
This project was initiated by the university management team as they invited us for bidding and thus the project started and reached t this stage that we are planning to have this done through effective project management tools and techniques. Software development is a very critical issue whenever we talk about the requirements, so here the basic objective of the software is to provide a communication platform to the lecturers with their students so if it's going to be met the software would be successful otherwise whole thing would have no purpose (Cable, and Adams, 1982). All the support processes like management, finance and coordination are basically for the support of main software development project. So realizing this fact, in the initiation phase of the project a team was built to fulfil all such requirements. Many things need to be analyzed whenever we start a new project like risk assessment, time requirement, contingency plan and the basic problem which is the main reason behind all this to happen. Another important thing to be done in the initiation phase of a software development project is the requirement analysis and it not only involves the identification of resources, documentation and contracts, prioritizing all such projects, and additionally it is necessary to do each and every step smoothly once the project starts (Block, 1998). So the management needs to develop a proper plan to keep a close eye on each and everything happening within the process flow and to effectively manage the whole process throughout the software development.
Planning is the most important tool behind every success or failure of a project. So planning if done with full attention and analysis would surely bring significant results in the end (Yourdon, 1993). Now if we talk about our software development project, we simply segregated all the roles among our different group members and then we planned each and every activity by brainstorming sessions and a deep analysis of the organizational needs and problems (Brooks, 1982). If we have to make the whole process successful each and every group member will have to perform his duties efficiently. Following were the planning fields assigned to each group member including a
A group leader was the one who was in the lead and basically his role was to control the whole team and to run the whole process smoothly. Conflict resolution and leadership qualities are the basic traits the group leader would have. And thus he has been identified for this role. A leader makes the whole process comfortable for each member and secondly it keeps the motivation level of all the members high so that they work with their full energies.
Now if we talk about the technical expert, he is the one who knows all the technicalities involved in the process of software development for a special purpose. He is aware of both hardware and software and thus can resolve any problem regarding these things. He would be playing the role of a support staff whenever hardware or software goes wrong within the whole process.
As we all know software developers is the centre of attention for the whole process. As he basically has to develop the software for the university so making him aware of each and every problem involved within the process is very important. Secondly he should be well aware of the problem which a client has; due to which a company needs such software. Because knowing that reason he would be able to make the software according to the needs of client and thus client would be highly satisfied.
A coordination manager is the person who would be in a continuous talk with the client's representatives and the software developer, to keep each and every component of the software coordinated with the needs of our clients (Baker & Kim, 1998). Along with that he would also check whether the process is moving as per the planned criteria's or not. Wherever the problem occurs, it instantly forwards the instructions to the software developer so that the changes could be made where necessary.
It is one of the most important people who are necessary for the constant running of the whole process. Administration associate basically controls all the contracts and agreements between the two firms. And it keeps all the documentation and keeps on updating each and every necessary detail. Along with all such responsibilities administrative associate also deals with all the relationships which our company keeps with the client company.
A process flow was designed after a deep planning for this software project management. Each and every step should be started and completed properly t achieve the desired results in the end. This includes following steps.
Software process initially includes two basic things; product engineering and process management. And as shown in the diagram both will be carried out simultaneously and then the process of software development starts which would lead to the configuration management and later on when this is done the deep inspection would be done to check whether the software is performing its desired functions or not. And if any defect will be found a change management process would be carried out to bring the necessary changes in the project and to make it in line with the required functions to perform. Change management process is very important as it would bring in the last changes to make the whole process successful.
Execution phase is the level at which each and every planned step is brought to reality and thus a real implementation of everything occurs (Lewis, 2006). Now while executing the whole planning process many real life problems may occur but an efficient team would be able to solve all such problems very quickly. In the execution phase initially the whole team would meet the client representatives and they would decide what specifications are needed for the software. Once the specification list would be complete, next step would be of software development. But before that product engineering would be done by the software developer and technical staff. Product engineering basically includes what steps to follow in the development process which would lead the developer team to bring in the desired functioning of the software.
Along with the product engineering the process would be managed by the whole team; means everyone would play the planned roles and thus the process would be executed successfully. Software configuration is another important step while execution phase because this process will not only identify the scope of the software but it would also bring the control in the software development and the developer would be able to identify what component has been developed yet and what next things are in list and it also shows the order of software development activities. Software development would be carried out with continuous feedback from the client's representatives to avoid disastrous results in the end. Along with that a team would be continuously checking the status of the development process so that the work should be completed within the calculated time period.
By following all such steps a software developer with the help and support of the whole team would be successful in developing the whole structure and the software, so next thing which is important is named as release management (Martin & Tate, 1997). The software once developed would be tested under different conditions so that it can be released properly. Basically release reflects the phase where the company is going to check the whole software once and then it would deliver the software to the client which is university in this case. All the stakeholders would be invited to inspect the software in the subsequent step. In very big projects, where scattered teams require to incorporate their efforts prior to release to end-users, there will frequently be further settings for trying out the software; called software test, structure testing, or combination testing, before free to User approval testing (UAT).
Another important aspect of completion phase is to include the software installation over all the selected locations of the organization. Like where the software would be installed it should be in a working condition while they handover it to the clients. And after that software is also tested through dummy data and dummy results. And the whole software is demonstrated to the team of client's representatives so that whatever our developer has built should be well understood by the client's team who would be using the software for their problems. In this specific case a demonstration would be given to the lecturers of the university to make the process easier for them and they don't need to explore each and everything. This would not only comfort the users but it would also lead them to use the software efficiently.
Although this is the last step of the process but it is most important step because here our group would see whether their efforts have shown something for their client's or they went useless. So our team would stay in touch with the clients to see what problems they are going to face while using the software for the first one or two months. Initially our team would visit their office and the users to see how they are using the software and later on we would be available on demand cum basis (Anderson, 2003). Like whenever they would be having problem within next few months, they will contact us and our team will go and inspect the system and will make the corrective actions where necessary. Traditionally the evaluation and control is the last step but if errors are found then the whole project starts again as shown in the diagram given below.
Monitoring and control is very important for the long term goodwill creation for the company. So we have identified few steps in this regard.
- Initially the company representatives would analyze the software.
- Later on our members would inspect whether the company users are using the software properly or not.
- After that whatever problems the company users would be facing, they will call our software developer to check the problem.
- Our team would firstly analyze the whole system and the problem would be identified.
- And then the corrective actions would be sorted and implemented to the problematic situation.
- And lastly the software will be again analyzed for the check and balances before handing it over again to the users.
At the end I would like to conclude that the whole process should be in the safe hands so that each and every step is planned initially and later on it should be evaluated properly too. At each stage of the software development project, appropriate follow-up should be maintained to emphasise the step which is being executed and to decide the parameters for the next step. Visibility of the whole project should be very clear so that the whole project remains visible in front of the clients so that they can't object later on. All stakeholders should be kept in mind to have a deep insight into the whole software development procedure (Schwalbe, 2009). Sometimes low visibility of projects put a huge amount of costs over the organizations so this is very important to look after and thus whole team should be dedicated to maintain the visibility of the project. And thus it is very important to reduce the risk of the whole project and to keep the costs low for your own benefit.
Although Project management is a very successful approach in managing different projects but sometimes it may fall under severe mismanagement conditions so a contingency plan should always be there to execute when any emergency happens. People who are involved should be updated with the project status after every small interval so that no one can object later on (Stackpole, 2009). Training should be given to the software users if necessary because sometimes they don't even know about the tools of the project and it becomes a problem for them and later on they also waste your time too. So to avoid such problems software project management team should be very careful. There is frequently a guidance or instruction required. There will around indeed be a description requirement, in which for instance techniques like team consultation have proved very helpful.
Some people may not be working properly or efficiently but when a team follows the project management techniques the results make you ignore such problems. Lastly changes are always difficult to make so a team should be fully dedicated to make the perfect software in the first trail. And once you put full efforts in the first trail, the chances of errors become minimal. But remember one thing that although change is complicated, but it is for good and for right reason. Recalling this throughout and at the closing stages of your project, will help you accomplish a mission that is glowingly received, as well as flourishing solely in project management methodologies.