Project Processes

The processes used by a software project determines how the development takes place over time. This includes how the development team communicates internally and with customers and stakeholders, what kinds of communications are required, and how resources utilized by the team are managed and tracked.


Communication and Collaboration

Class Presentation

Recommended Readings

Managing and Tracking Resources

Class Presentation

Recommended Readings

Project Management Tools

In this lecture we discussed the idea behind GANTT and PERT charts. GANT provides a tabular view of a project along a time line, with tasks and resources shown as as lists and bars representing those tasks along the time line. A PERT chart shows a network view of a project showing dependencies among the tasks.

The best known project management software for individuals and small teams is Microsoft Project, which provides both GANT and PERT charts. The desktop version only runs on Microsoft Windows 10, or a cloud-based subscription version is available through Office 365. A number of other web- and desktop-based project management tools are available and many of them are very well reviewed. However they also require a subscription beyond the trial period, even for academic use.

GanttProject is a relatively easy-to-use project management program available at no cost on Windows, MacOS, and Linux in 25 languages. It provides a good range of project management functions including GANTT and PERT charts. GanttProject was first available in 2003 and receives regular updates.The program also has extensive import and export capabilities including with Microsoft Project formats. Files can be store locally or on a WebDAV based storage server. A GanttProject Cloud service is also available for a fee that enables content collaboration.

A bonus is that the Java and Kotin source code is available on SourceForge if you want to explore the construction of project management software.

A 15 minute video on YouTube does a good job of presenting the major features. Find other tutorials on YouTube by searching "GanttProject." The distribution also includes a "HouseBuildingSample" demo project the help you get started. Although it is not a software project, it will at least let you explore the features more easily than starting with an empty project.

Disclaimer: Neither the instructor nor NEU have any association with this product.

Managing and Tracking Communications

Class Presentation

Recommended Readings

Managing and Tracking Development Processes

Class Presentation

Recommended Readings

  • DUE DATE: Thu, Apr 1 by 11:59:59pm

Communications Plan

In this assignment, your team will discuss how it will communicate during the project,, and create a project communication plan. As noted in lecture 9, regardless of how the communication plan is developed it should be written down, and kept with your other project documentation.

Contents of the communications plan

Your communications plan should describe how your team will communicate with each of the constituencies described in lecture 9: the project team, stakeholders, and customers/end-users. It should also consider the goals and objectives of the communications and the channels you will use.

Project Team. Your project team needs to communicate intrnally for the purposes of project planning, discusssing and coordinating activities, and updating project status, If your project is divided into subgroups, the subgroups also need a way to communicate about their work with the entire project team.

Certain methodologies may have additional communications requirements. For example, Scrum requires a daily "stand-up" scrum meeting where each team member gives a short report. It also needs to provide a way to share the backlog of possible project activities, and plan for each sprint by meeting to seleci a sprint backlog.

Your communications plan should describe how your team will communicate among its members during the project. What kinds of communications will your team have, including written (formal, informal) and verbal (formal, informal). What is the expected frequency of the various kinds of communications? What communications are specifically required by the methodology that your team has chosen? What channels will your team use to communicate? Which communications are ephemeral and which need to be captured and preserved?

Stakeholders. For the purpose of this class you should regard your assigned course staff representative as your stakeholders, who has a stake in your project and influence over its success. During the remainer of the project, you will communicate with your stakeholder to report progress, clarify requirements, discuss options, and get feedback about specific features being considered.

Your communications plan should describe how your team will communicate with your stakeholders. How do you plan to keep your stakeholders involved and knowledgeable about the status of your project? What information and context will you provide? How frequently will you provide it? What communication channels will you use to to provide it?

Note: Your stakeholders are open to a wide range of options, but it is up to your team to propose how it will communicate with the stakeholders, and to get agreement from the stakeholders about how your team will communicate with them about your project. Remember that your stakeholders are also concerned about the project staying on track and meeting its objectives.

Customers/end-users. For the purposes of this class, you should regards all the members of the class as potential customers and end-users. Although other teams are busy with their own projects, they are also interested in learning about your project, and staying abreast of progress. Keeping potential customers/end-users engaged is a part of project communications.

In addition to communicating about your project's main features, your team might also want to celebreate a milestone by letting everyone know about it. You could also let your classmates know if your team has discovered a way to do something, or a technology that your team has adopted, either to incorporate in your project, or to manage your project.

Your communications plan should include how you will let your stakeholders and customers know about your project. How will you let them know about the basics such as the purpose of the project, the main features, and the technologies you plan to use? How will you update your customer and stakeholders about progress in implementing the project and any significant milestones? Can you demonstrate parts of your system running by creating a short video or making an early deployment version available to try out? How frequently will you communicate with your stakeholders and customers about your project and what channels of communication will you use.

Deliverable

Your deliverable is a written communiations plan that addresses the issues and questions outlined earlier, for each of the three constituencies: the project team, stakeholders, and customers/end-users. Your team will add this plan to the project repository.

This plan can use whatever format and structure, or a combination, that is most appropriate for your project. If you create a document, you can include it as a single, suitably-named file in your "docs" directory. If it is multiple files, you can put it in a suitably-named directory in your "docs" directory. Please include a PDF rendition of any office document that does not render in GitHub. Add a note to the project README.md file to indicate the location of your plan so the graders can find it easily.

Your communcations plan should be specific enough that the course staff can use it to evaluate how well your team has done with project communcations as one of the components of your project grade. You are welcome to include a guide to suggest how the course staff can evaluate your team's performance in project communications. Since your team created the plan, it may be in the best position to suggest ways to evaluate how well the team has followed it. The course staff will take this guidance into account.

Project Staffing

This is a team assignment. The team will add the deliverable to the project repository. This plan will also be evaluated as part of your final project for how the communications plan was carried out.

Rubric

The plan will be evaluated by considering these factors:

  1. Does it include the major categories of communications that would be necessary for the type of project and its methodology?
  2. Does it address the communications that are needed for each of the major constituencies?
  3. Does it consider the goals and objectives, and the channels for each of the types of communications specified?