A Beginner’s Guide to Agile Methodologies

Agile Methodologies and Product Management

By Cliff Gilley

Agile methodologies in product development are those that embrace the principles of the Manifesto for Agile Software Development, a set of guidelines created in the late 1990s by a group of software development professionals seeking to revolutionize the business. These methodologies focus on performing work in small, iterative steps that allow a product team to validate its assumptions and test hypotheses frequently. Examples of these methodologies include Scrum, Kanban, and Extreme Programming.

These Agile methodologies are often contrasted with “waterfall” approaches, which focus on defining as many of the requirements as possible before the project can begin, in as much detail as possible, so that there is no question as to what will eventually be delivered. The biggest downside of a waterfall approach is that it requires a large amount of up-front work and long development times before anything useful and testable is actually completed.

The importance of the Agile way of thinking cannot be understated in the modern business of software and general product development; its application stretches from development and quality-assurance work up into product design and management, and even into marketing and business strategy. While Agile began as a solution to a very specific set of problems developers were facing, it has grown into its own culture that permeates every aspect of modern businesses. It’s essential for any product manager to understand the fundamentals of Agile methodologies so that they can influence an organization to change for the better or engage more meaningfully with their teams on a day-to-day basis.

Scrum: The Most Commonly Used Agile Methodology

In practice, the most popular Agile methodology is Scrum, one of the first methodologies designed to deliver software products following Agile principles. In Scrum, the product manager creates a backlog of “user stories,” simple statements of the problem a development team is being asked to solve. Each user story gets stored in a “product backlog” that the product manager prioritizes according to business and other needs.

The development teams, usually sized between five and nine members for optimal effectiveness, look at these stories, estimate their complexity, and take some of them into a “sprint” as a commitment to deliver. A sprint is a two-to-three-week period during which teams work to deliver their commitments. During a sprint, the product manager and development teams work together to discuss, clarify, and deliver all of the previously agreed-upon stories. At the end of the sprint, each development team demonstrates to the product team and interested stakeholders what it has completed. Once the team has iterated to the point that the product team believes the work is worth sharing widely, a release can be created and push out the product updates.

Kanban and Extreme Programming

There are other Agile methodologies, besides Scrum, that are important to understand given that many companies may pick and choose from one or another to build their processes. Kanban focuses on limiting works in progress, only allowing teams to take on a set number of stories or efforts at any one time, then working them through to completion before taking on more. Extreme Programming, on the other hand, is a very hands-off methodology that puts most of the power and authority on individual developers rather than taking a full-team approach. This methodology stresses that constant pairing and test cycles ensure quality outputs from the teams.

Why Agile Methodologies Work

The main value of Scrum and other Agile methodologies lies in their focus on atomic units of work. The Scrum team commits to a small number of user stories for each sprint, which means that, at any time, the future work can be reprioritized, or even abandoned or added to without affecting the team’s work in progress. At the beginning of the next sprint, they look at the next set of priorities and commit to delivering another set of work. This is the opposite of “waterfall” methods, which establish a large commitment over the course of many months and apply strict processes for changing those requirements.

The other value in Scrum and Agile methodologies lies in the testing overhead required to validate the work the team completes. Because the team is delivering small sets of functionality, each of those sets can be tested during the sprint. This reduces the kind of massive, overarching integration testing required with a waterfall approach, in which everything is “done” only at the end of the entire project.

Agile Methodologies at General Assembly

General Assembly teaches Agile methodologies as it relates to software development in our part-time Product Management course, full-time Web Development Immersive (WDI), and in workshops. We focus on the difference between the principles of Agile methods and the real-world application of those methods. Expert instructors, who have used these methodologies to help teams through Agile processes in their own careers, prepare students for the use of Agile through lectures and practical examples from their real-world experiences. In WDI, we reinforce Agile principles through lessons on user stories, pair programming, and more.

Meet Our Expert

For nearly 15 years, Cliff Gilley has been a product manager and Agile coach at a wide variety of companies across many different industries, and is currently working as a technical product manager for the K2 corporation in Bellevue, Washington. He teaches General Assembly’s 10-week, part-time Product Management course, as well as shorter-form product management courses at GA’s Seattle campus. He also blogs regularly as the Clever PM and is an active board member with the Pacific Northwest Product Management Community.

Product Management is the ultimate "jack-of-all-trades" role in a healthy organization. It's one of the few roles where you're likely to be needed to contribute to the success of so many other teams.

Cliff Gilley, Product Management Instructor, General Assembly Seattle