There are many different styles of product management, but in this article, we will be focusing on the Agile methodology and, in particular, Scrum, a variant of Agile that is specifically used in software development.
Scrum is a product management framework that uses teams of about seven people, each with their own role. Scrum provides a clear structure for team members, meetings and rules. The teams work in one- to two-week periods called Sprints. These sprints are usually around one or two weeks long, but are never longer than a month. The goal of each Sprint is to build a shippable product increment.
Scrum is a management process that focuses on software development using incremental and empirical methods. It places emphasis on management and teams, and an open line of communication. It is a very simple framework for often complex and complicated software development projects.
Also, Scrum is a rugby analogy that lets a team self-organize and makes quick changes.
But before we delve into all the specifics, let's define product management.
What is Product Management?
Product management is the process of making the right product, to solve the right problem for the right person. The right person is the customer, who along with business and technology, make up the heart of the product management process. It is the process by which a vision or idea becomes a valuable product.
The project manager is an extremely important person in an organization. You will typically find product managers at companies that build software or products for customer or business-to-business (B2B) use.
The product manager is basically the CEO of the product. They are responsible for the strategy and road map for the product, as well as the team of employees that is involved in every step of making the product.
The product manager has the responsibility of analyzing the markets and watching the competition, and laying out the initial product vision based on his assessments. The project manager has duties that are both strategic and tactical, and must have excellent leadership skills. He or she must be able to bridge the gaps between the many different teams working on a product, from design and engineering to sales and marketing.
Let's think of Apple, Inc. It has several products, such as the iPhone, iPad, iTunes, Apple TV, and more. Each one of those products has one product manager that guides the product process from origination to completion. In the case of the iPhone, the project manager will have thousands of employees under him, including many junior project managers. The project manager will report directly to the CEO. A note: Steve Jobs started out as a project manager, and many project managers advance to top executive roles in their companies, including CEO.
Let's use an example as we discuss project management and its many intricacies.
Company ABC is a tech company that builds software for the service industry. Their client, XYZ Hotels, is a large chain of upscale hotels, and they are looking for a new software program that will help them better manage their hotels. Company ABC will use product management to develop and produce this product.
The project manager sees the product through from conception to final completion. This is called the product lifecycle.
Product Lifecycle Management (PLM)
There are four main steps in the product lifestyle.
Step 1 – Conceive of the product. This is where the team plans, imagines, and innovates.
What is the product that needs to be developed? The product management team uses this stage to determine the product requirements based on what the customer and/or company wants.
At this point the major technical parameters can be determined, and preliminary design work can begin.
For our example, we learn that XYZ Hotels wants a new software program that will help them better run their hotels. This could include reservations, human resources, facilities, and other aspects of the hotel industry. All of these requests are discussed during this stage.
The team will sit down with XYZ and get a list of everything they want their software to be able to do. ABC will make suggestions, but leave the meeting with a clear idea of what their client is looking for in a software product.
Step 2 – Design the product. This is where the team will define, develop, analyze, and test the product.
In this stage, the team will begin the design process, which will begin with the product form, progressing to the prototype, and eventually the final product launch. The designing process can use several tools, such as CAD, which allows for Hybrid Modeling, Reverse Engineering, Knowledge-Based Engineering, Nondestructive testing, and others.
The design process could be for many different engineering disciplines, such as mechanical, electrical, software, architectural, automotive, and many others.
For XYZ Hotels, ABC will use processes for software development, which you will learn about later in this course. This will involve software designers and programmers.
Step 3 – Realize the product. This is where the product is built, manufactured, sold, and delivered.
Once the product has been designed, the team decides how it will be manufactured. This can take many forms, depending on the type of product and engineering required.
For XYZ Hotels, this would mean receiving the software, and putting it into use. Once delivery occurs, that isn't the end of the relationship. Company ABC will still provide support and troubleshoot any problems that might arise.
Step 4 – Service – This is when the product must be used, maintained, and supported.
This is the final step in the lifecycle and involves additional teams, such as customer service, tech support, and sales. It could also involve teams for repair and maintenance.
And every product, no matter what it is, has an "end-to-life." Whether the product is thrown away or becomes unusable, it's an issue that must be considered.
Each phase requires each member of the team to communicate and collaborate with each other. No one team can work independently without the communication and feedback from others working the project. Information is constantly flowing from team to team and between different people and systems.
Where Did Agile Come From?
Prior to 1970 most product management used the waterfall methodology. Then Dr. Winston Royce wrote a paper that was critical of sequential development, and felt that software could not be developed the same way as cars or machinery. An assembly line wouldn't work for software development, in which a new piece is added in sequential order.
Waterfall Product Management Methodology
An outdated methodology used in software development that uses a process of sequential design, where progress flows downward, like a waterfall. The process begins with conception of an idea, and then moves to design, development, manufacturing, production, sales, and maintenance.
On an assembly line, each part of the project must be completed before the next part can begin. Think of a car being built. You start with the chassis, and then add the motor, the doors, etc. Software development doesn't work that way.
Prior to Agile, when developing software, the company would gather all the information, then design it, then write the code, etc. Royce believed communication was key, and that each group must be aware of what other groups are working on.
With waterfall methodology, one action happens after the next. But this doesn't work well with software development. Waterfall would mean that every requirement of the project could be determined before the designing and coding occurs, and that is rarely the case.
Can you imagine telling the developers everything needed and waiting until the software was up and running to review it? The product developers will want to discuss the product with the development team throughout the process, so any mistakes can be identified, or improvements can be made. Otherwise, the development process could take far too long.
With Agile, teams meet in iterations -- or sprints -- and in doing so, it streamlines the product development process and enhances communication between the many different members of the teams.
What kind of product would BENEFIT from the waterfall methodology? Outside of software development, what kind of product would benefit from Agile methodology?
What is Agile Product Management?
Agile product management is a methodology that focuses on continually improving a product, using a team, and delivering top quality products. The most well-known Agile product management methodologies include Scrum (which you will learn about in this course), as well as extreme programming and lean.
All of these methodologies stick to the "Agile Manifesto" and its 12 principles, which place their focus on people, products and communication. They are concepts that must be used when using Agile methodologies during product management.
Here are the 12 Agile Principles:
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to, and within, a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity -- the art of maximizing the amount of work not done -- is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
The Agile Road Map to Value
Agile's Road Map to Value is how a manager can take a high-level view of a project. It follows several stages.
Stage 1 – The product owner/manager will determine the vision for the product. This will answer what the product is, how it will help the company, and who will use it. The vision for a product can change over time.
Stage 2 – In this stage, the product owner/manager develops the product road map, which is the high level overview of the product requirements and a time frame for when those requirements must be completed by. This is when the product manager can prioritize what needs to be done and in what order, effectively making the road map. The road map should be revised at least once or twice a year.
Stage 3 – In this stage the product manager creates the release plan. This determines the timetable for the product, and when the product or software will be released. Many Agile projects have several releases, with the most important features being released first.
Stage 4 – In this stage, the project manager and the team plan iterations (called sprints in Scrum), and use those iterations to create the product. A planning session will occur at the beginning of each iteration, and this is where the team will decide what requirements are needed for that iteration.
Stage 5 – During each iteration (or sprint) the team will have daily meetings. Each meeting should be no longer than 15 minutes to discuss what occurred yesterday, what should occur that day, and any problems that have arisen.
Stage 6 – During this stage the team will hold the review. This review will happen at the end of each iteration or sprint. At this review, the team will discuss what work product was created during the iteration.
Stage 7 – During this stage, the team will hold the iteration/sprint retrospective. This is when the team discusses how the last iteration/sprint went, and what improvements can be made in the next iteration/sprint. There is a retrospective at the end of every iteration/sprint.
The Agile Project Management Roles
In order to complete a project successfully, it requires a full team. These teams are made up of many employees, and will fall into one of the following five groups.
1. Development Team – These are the people who create the product. This could include programmers, designers, writers, or anyone else who plays a role in the development process.
2. Product Owner – The product owner is the person who acts as the go-between for the customer, the company, the team, and any stakeholders. The product owner is the boss of the product, and he is an expert on what the customer needs. The product owner works with the development team daily. In some methodologies, the product owner can be called the customer representative.
3. Agile Master – This person is responsible for supporting the development team, problem solving and clearing obstacles, and keeping the Agile process consistent. With Scrum, this person is called the Scrum master, and call also be called the project facilitator.
4. Stakeholders – These are the people who have any kind of interest in the project. They are not responsible for the product, but they do provide some input and have a vested interest in a successful product. These stakeholders can come from other departments or even other companies.
5. Agile Mentor – This person has experience with Agile projects and is adept at Agile methodologies. The mentor often provides feedback or advice to the teams and helps them perform at a higher level.
Agile Product Management Artifacts
When you are in the midst of a project, how do you measure progress? In the Agile method, there are six primary artifacts used to track project progress.
1. Product Vision Statement – This is the mission statement, or summary, that describes the product. It is basically the elevator pitch, and it must be able to clearly explain the vision and goals for the product.
2. Product Backlog – This is the list of what the project entails, ordered from most to least important. The first requirement will form the product backlog.
3. Product Road map – This is the high-level view of the product requirements, along with an approximate timetable for when those requirements must be completed.
4. Release Plan – This is the timetable for the release of the newly developed software.
5. Iteration/Sprint Backlog – All the information used during the current iteration or sprint.
6. Increment – The functionality of the product at the end of each iteration or sprint.
Agile Project Management Stages
Each project has stages, and Agile projects have seven stages for product development. Here is a list of the seven stages:
1. Project Planning – This stage is the preliminary planning for the project. This involves creating the vision for the product, as well as the product road map. The planning stage can take as little as one day.
2. Release Planning – This stage involves planning each set of product features to release, and when. These dates are necessary so the team is able to mobilize come launch date. With Agile projects, only one release has to be planned at a time.
3. Iteration/Sprint – These are short periods of time, usually two weeks, when the team creates a new product functionality. These can be as short as one week, or as long as four weeks. Regardless of the length, it should be the same for every iteration/sprint.
4. Iteration/Sprint Planning – This is the meeting that occurs at the beginning of each iteration/sprint, and where the goal is decided. Whatever requirements are needed to meet that goal is also decided, as are the individual tasks needed to complete the requirement.
5. Daily Agile Meeting – This is a 15- to 30-minute meeting held each day to discuss what happened the day before, and what must be accomplished that day. Also, any problems will be discussed at this meeting.
6. Review – This is the meeting held at the end of each iteration/sprint, and is lead by the product owner. The goal of the meeting is to show the product functionality that was completed during the sprint.
7. Retrospective – This is the meeting held at the end of each iteration/sprint, where the team discusses what worked and what didn't work during the sprint, and what, if anything, could be done to make improvements.
The Agile methodology is often the best way to determine how a project is progressing through the product lifecycle. Using iterations or cadences, also known as sprints, a team must produce a feature that could potentially be shippable.
Using the waterfall methodology, the teams have only one chance to get each project aspect correct. Using the Agile methodology, teams are able to continually revisit each aspect of the project with other team members throughout the product lifecycle.
With Agile, the team is able to stop and reevaluate with each iteration or sprint, and this allows time for new ideas or changes, or even to steer it in an entirely new direction. This methodology can lead to a reduction in both cost and time to market.
Agile helps businesses build the best products for their customers. It allows them to continually plan and re-plan the project to optimize its value, which keeps them competitive in the marketplace. Agile keeps a product's market relevant and makes certain that the product doesn't end up unused and never released.
What is Scrum?
In this course, you will be learning product management based on the Scrum methodology. As with Agile, Scrum is iterative and incremental, and provides a flexible and holistic product development strategy. The Scrum team works together as one unit to achieve a common goal.
It allows teams to self-organize and it encourages close communication with team members. It stresses face-to-face communication, and working in the same location.
One of the key principles of Scrum is that customers can change their minds regarding what they want at any point during the production process. In addition, any problems or challenges can be dealt with quickly. Scrum uses an empirical approach that focuses on maximizing the teams' ability to produce quickly and to be able to respond to any problems or changes when they occur.