Our goal this week is to talk a bit about project management, overall, and then to begin learning Git, a specific tool for managing source code in a project. These two tasks are not entirely unrelated. However, by project management, I will be speaking to the broader, higher level objective of actually managing a big project -- that is, of being a manager. By Git, we will simply get our hands dirty learning how to manage source code within a project -- that is, of being a developer. Although both of these are important skills, it's not likely, even if you go into development, that you will be a developer for your entire career. But it is likely that as you mature in your profession, you will be required to manage and lead more. So, we learn Git to help you get started in a technical career and we learn project management to help you last in that career.
It is not likely that any of you will ever work alone -- working in teams is simply the way the world works. Because of this, it's important to know how to coordinate with others, to communicate well, and to plan a path as well as contingencies. To help with this, our reading from usability.gov this week speaks to a variety of project management methods. These include:
According to usability.gov, developing a project plan involves taking
into account the approach the team will take and helps the team and stakeholders document decisions made regarding the objective, scope, schedule, resources, and deliverables
That is, a project plan includes all interested parties involved in the project, and this entails not only the people working on the project, such as the designers, developers, and so forth, but also the stakeholders, that is, the people who will use the project or will be impacted by the project. The project plan page lists some good questions to ask at the start of a project. These questions are designed to lead the project team to a clear idea of what is being developed and a clear way to communicate that idea to all involved.
In the process of developing a project plan, people will also need to identify the team roles and responsibilities. That is, they will need to identify who does what. According to usability.gov, one way to accomplish identifying who does what is to use a method called resource allocation as a function of team members' areas of expertise. Therefore, we might want to identify those with expertise in content strategy, project management, or usability testing, and then have them become responsible for the tasks related to those skills and the project. It's important that defining and assigning these roles and responsibilities takes place at the beginning of a project. Things will inevitably change over the course of working on the project, but having a clear path at the beginning will minimize obstructions down the road.
Usability.gov also recommends holding a kick-off meeting. The idea is that during this meeting, the team discusses the framework for the project as well as the project's main ideas, such as audience, user needs, scope, vision, goals, and content. It's true that too many meetings can be obstructive, but it's also true that meetings are still important ways to coordinate and to establish shared goals. As such, it might even be important to discuss during a kick-off meeting things like communication strategies and methods among team members during the project.
Back in the olden days of websites, most websites were simply there to provide some information or some content on some topic. That is, websites were fairly passive things. Nowadays, websites do a lot more, and the more they do, the more requirements they'll have in order to function. Usability.gov presents a classification of the major requirements involved or associated with a website. These include:
I know that many of you are excited to learn or to continue to learn how to code, but that's only a small part of working on a project and having capable coders, etc on a project in no way predicts a project's success. In order to succeed, we have to think carefully about projects and about the ways we might want to model how a team works on one. That is, we need to think analytically as much about project management as we do on the code involved in creating the project.
In the next video, we'll begin to learn how to use Git.