Project Management

Next page: Development Process

Some aspects of software development naturally relate to project management, especially when the software is only one part of a larger project.

Consult on Project Management

Software projects can be completed in an efficient and organized manner by using a project management framework. Project management professionals can provide guidance on the right process level for your project type and size. They are trained to help you select the methods most likely to benefit your project. Whenever it is important to reach a goal quickly, predictably, and with high quality results, project management tools and processes can be used to your advantage.

Two organizations specializing in project management methods and certifications are the Project Management Institute (PMI) and the Scrum Alliance.

Use Agile Development Practices

Agile software development processes facilitate a cooperative and interactive software development.

Hold project reviews

For some projects, it may make sense to expand the design review concept (mentioned here) into a more general project review. The purpose would be to review and collaborate on all aspects of the project, such as the requirements, design, implementation, milestones, priorities, risks, technology selections, and other initial decisions. This would be the opportunity for other experts (like project management experts) and other developers to learn about and help guide the project, so the project benefits from the combined development experience in EOL.

Even without an actual project review meeting, developers should actively seek input from other developers and other experts. This seems to be accepted as a good practice in EOL, and it is consistent with the principle of cooperation, but the practice must actively be encouraged. It would be a natural extension to the project checklist (see the Software Project Template) to include which developers have consulted on the design and implementation of the software. Project reviews also give less experienced software engineers a chance to question and learn about good development practices.

Track issues

At present, issue tracking is not something that is used widely or regularly. Users would not be expected to use it, but certainly it should be kept open and available to everyone. An issue tracking tool also could be an important resource for tracking progress, but only if developers use it and keep it current.

Track progress

Some of the process guidelines relate to tracking the progress of a project, such as the project overview page and issue tracking. The questions are whether more tracking is needed and what are the best practices for tracking and reporting progress. Project tracking would benefit users, developers, and managers. Here are some notable pieces to the progress tracking picture:

  • Participation in regular project meetings
  • Milestones on a web or wiki page, with the current status of each milestone
  • Issue tracking, possibly with time tracking also
  • Emails on commits
  • Project overview page, with a field for current status and latest progress
  • Blogs, by developers and by project leads

All of these have been used in some form or other in EOL. As a minimum, every software development should have a web site which hosts the project checklist, ideally with something like a blog for status updates. The web site could be a wiki page, an EOL plone page, or a project wiki on the UCAR wiki. A directory of all of these web sites would be a comprehensive list of all software developments in EOL.

Even if a long range schedule and formal milestones are not possible, a software development can still report on the current efforts and impending tasks using the same mechanisms.

Next page: Development Process