Monday, May 3, 2010

SoftwarePractices (2)

Robert Margolies (margor@rpi.edu) , Christopher Brown(brownc7@rpi.edu)                      2

Best Practices to Succeed in a Software Project and Pitfalls of Failure

Introduction

              At the start of any software project, it is common for issues regarding project management to be overlooked. Generally, people are more concerned with the technical implementation of the project and do not think in the long term. It is very important from the very beginning to set forth a good schedule to keep a project on task and not let it fall behind schedule.

              In groups that are facilitated by RCOS, there is no appointed leader of a group. Roles are not assigned, they are usually taken or volunteered for by members of the group. This creates a potential problem because if no one steps into the role of project manager, it is possible for the project to fail to meet deadlines and goals.

              Successful project management involves delivering the right product at the right time. The following will describe the different phases of project management along with how it relates to RCOS.

Initiation Phase

              Initiation of the project occurs at the beginning of the project. After the proposal has been accepted by RCOS, the group should organize their first meeting. In the first meeting, guidelines should be set that all members of the group will abide by. In many cases, a standing meeting time can be setup to ensure face to face communication each week.

              It is also important to begin to discuss the scope of the project including goals, requirements, and deadlines.

Planning and Design Phase

              After the initiation phase where the scope of the project and goals are decided, the group should enter a phase of planning and design. In this phase, a high level design should be created along with a planned method to accomplish this design.

              This plan should include a schedule that identifies deliverables for each member along with due dates. If a project manager role has been created, this person should drive these deliverables to fruition. If no project manager has stepped up, it is the responsibility of each member of the group to complete their own work while also taking note in the overall group deliverables.

              Some tools that may be useful during the design phase to keep on track are Microsoft Project, Gannt Charts, Critical Path Analysis and PERT, and many more.

Execution/Production Phase

              The executing phase is the phase during which you operate to hit the deliverables set forth in the plan. The plan is only tentative and thus the executing phase may result in reevaluating the plan or seeking more help to determine a different design. It is important during the executing phase to try and stay motivated in order to get ahead of schedule or stay on track.

 

Monitoring Phase

              The monitoring phase should be occurring on the side throughout most of the project. The group should always be questioning the quality of their work, project activities and deadlines, along with what corrective actions need to be taken to ensure success. This phase will also occur after the conclusion of the execution stage as in this phase, the entire project will be evaluated for quality.

Closing Phase

              A project can only be useful to others if it is properly presented. The closing of the project involves ensuring that all goals of the project have been satisfied. If the goals of the project were not satisfied, this is where a recap of what occurred and why the project did not follow the planned path. It is sometimes possible that a project not meeting its goals will not be considered a failure. Here is where the members of the group can demonstrate what they have learned and will take away from the project along with how the project will help others.

              The project should be very well documented. This includes documenting the very technical aspects and the client-side aspects. Open source software is a great asset to the world however without documentation, it is little help to anyone.

 

Conclusion

              There are many phases to the management of a project. Overall, it is most important to budget the time effectively in order to meet goals in one semester. The semester goes very quickly and thus it is easy to become caught up in other time commitments. In a project that is self governing such as RCOS, it can be hard to motivate working on a project over other work that has more impending deadlines. Thus, it is imperative to set aside times that are dedicated to RCOS.  Motivation is a very important aspect of success. If the motivation for the project is lacking or at any time becomes lost, it will be hard to have a quality project. It is the responsibility of each group member to help to motivate the rest of the team. In the end, RCOS is a team and it is important to work and plan together to have a quality product.

References

http://en.wikipedia.org/wiki/Project_management
http://www.mindtools.com/critpath.html
http://www.executivebrief.com/software-development/techniques-successful-software-product-management/

 

 

 


No comments:

Post a Comment