Agile revolutionized software development by addressing the fundamental limitations of rigid, sequential approaches. Born from the frustrations of 17 developers who met in 2001, the Agile Manifesto established values that prioritize people over processes, working software over documentation, collaboration over contracts, and adaptability over rigid planning. This shift wasn't merely about changing workflows. It represented a profound recognition that creating software is knowledge work requiring creativity and collaboration, not factory-style production.

While waterfall methods isolate team members by function and rely on heavy documentation between handoffs, agile breaks down these silos to deliver continuous value. The true power of agile lies not in specific frameworks or ceremonies, but in aligning teams around a shared understanding of value and driving efficiently toward that value. After 20+ years, agile principles have become industry standards, proving their enduring relevance in building products that truly serve customer needs.

Exercise #1

A brief history of agile

Software development in the 1990s faced serious problems: projects were costly, late, and often failed to deliver what users needed. The dominant Waterfall approach was too rigid and slow to adapt to changing requirements. Many developers began experimenting with lighter, more flexible approaches. The turning point came in February 2001, when 17 software practitioners gathered at the Snowbird ski resort in Utah. Despite coming from different backgrounds and methodologies like Scrum, Extreme Programming, and Crystal, they shared frustrations with bureaucratic processes that prioritized documentation over working code. Together, they created the Agile Manifesto, establishing a common set of values that would revolutionize how software is built.[1]

This wasn't just a technical shift, but a human-centered one that recognized software development as a creative, collaborative endeavor rather than a manufacturing process. Today, more than two decades later, these principles have become industry standards, proving their enduring relevance in building products that truly serve customer needs.

Pro Tip! When implementing agile, focus on the principles rather than rigidly following specific methodologies. The mindset matters more than the particular framework.

Exercise #2

The 17 authors of the Agile Manifesto

The 17 authors of the Agile Manifesto

The 17 people who signed the Agile Manifesto brought different skills and viewpoints to their groundbreaking document. They weren't just theorists but working software professionals who had directly faced the problems they wanted to solve. Important members included Kent Beck, who created Extreme Programming (XP); Jeff Sutherland and Ken Schwaber, who created Scrum; Alistair Cockburn, who created Crystal methods; and thought leaders like Martin Fowler and "Uncle Bob" Martin. They had backgrounds in various areas like embedded systems, object-oriented programming, testing, software architecture, and methodology consulting.

What brought this varied group together was their shared frustration with heavy processes that slowed innovation and gave disappointing results. They wanted to create principles that would make software development more responsive to change, more collaborative with customers, and more focused on delivering working software that solved real problems instead of just meeting written specifications.[2]

Exercise #3

The 4 values of Agile

The 4 values of Agile

The Agile Manifesto centers on 4 key value statements that changed software development priorities. Each statement follows the pattern "We value X over Y," not rejecting the items on the right, but placing greater importance on those on the left.

The 4 values prefer:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

These values challenged the common thinking of that time. While traditional development emphasized documented processes, detailed specifications, strict contracts, and fixed plans, agile suggested a more flexible, human-centered approach.[3]

The strength of these values is their simplicity and balance. They don't dismiss the importance of tools, documentation, contracts, or plans but state that when forced to choose, we should favor people, working solutions, collaboration, and flexibility.

Pro Tip! When facing tough project decisions, look back at these 4 values to guide your team toward the agile approach for that specific situation.

Exercise #4

The 12 principles of Agile

The 12 principles of the Agile Manifesto expand the four core values into practical guidelines. These principles stress early and continuous delivery of valuable software, welcoming changing requirements, and frequent delivery of working solutions measured in weeks rather than months. Key principles include satisfying customers through early delivery of value, embracing changing requirements, delivering working software frequently, and maintaining daily collaboration between business people and developers.

The principles also emphasize motivated individuals, face-to-face communication, sustainable pace, technical excellence, simplicity, self-organizing teams, and regular reflection. While created for software development, these principles have proven effective for many complex, collaborative work contexts. The themes of customer focus, adaptability, collaboration, quality, and continuous improvement now influence fields from marketing to education.[4]

Pro Tip! Instead of trying to implement all 12 principles at once, focus on fixing your team's biggest problems first and gradually add others as your agile skills improve.

Exercise #5

Waterfall vs. Agile: Process structures

Waterfall vs. Agile: Process structures

Waterfall and Agile represent two very different ways to structure work. Waterfall follows a step-by-step path where each phase must finish before the next begins. The entire project is planned at the start, with separate phases following in order: requirements, design, implementation, testing, deployment, and maintenance. In contrast, Agile uses a repeating, step-by-step approach. Planning evolves throughout the project rather than being completed at the beginning. Phases overlap and repeat in short cycles called iterations or sprints. While Waterfall gathers feedback mainly after final delivery, Agile includes continuous feedback throughout development. This structural difference greatly affects how teams work.

Waterfall creates clear but rigid boundaries between phases and often between team specialties. Agile blurs these boundaries, encouraging cross-functional teamwork and adaptation based on new information. The choice between these structures isn't just about scheduling. It reflects fundamentally different ideas about how complex work should be organized and how teams should collaborate.

Pro Tip! When comparing methods, focus less on which is "better" overall and more on which structural approach best matches your specific project's certainty level and stakeholder involvement.

Exercise #6

Waterfall workflow example

In a Waterfall approach to building a customer relationship management (CRM) system, the project moves through separate, sequential phases with little overlap. The workflow starts with a Requirements Phase, where business analysts might spend weeks or months creating a comprehensive 100-page document detailing every feature the system should have. Only when this document is approved does the project move to the Design Phase, where architects and designers create detailed technical plans and user interface designs. Next comes the Implementation Phase, where developers build the entire system according to the specifications. This is followed by the Testing Phase, where quality assurance tests the completed code. After testing and bug fixes, the project enters the Deployment Phase, where the entire system is released at once. Finally, the Maintenance Phase begins, where post-launch problems are fixed. The important characteristic of this workflow is that feedback from users or changes to requirements typically don't happen until very late in the process, often after months of development.

Pro Tip! Even when using Waterfall for regulatory or contractual reasons, try to include more frequent review points to reduce the risk of major misalignments.

Exercise #7

Agile workflow example

In an Agile approach to building a CRM system, the project is broken into small, valuable pieces that can be completed within short timeframes, typically 1-4 weeks. Instead of documenting all requirements upfront, the team might start with a prioritized list of user stories, short descriptions of features from the user's perspective. For example, "As a sales manager, I want to see a dashboard of leads." The team selects a small batch of high-priority stories for their first sprint. During this 2-week period, they design, develop, test, and potentially release this specific feature. At the end of the sprint, they show the working dashboard to stakeholders and collect feedback. In later sprints, they might build a customer profile view, add Gmail integration, or improve the dashboard based on feedback. Each sprint ends with a review of working software and a discussion on how to improve the process. This step-by-step approach allows the team to deliver value early, incorporate feedback often, and adapt to changing requirements throughout development.

Pro Tip! When starting with Agile, begin by breaking work into small pieces that deliver tangible value, even before implementing specific frameworks like Scrum or Kanban.

Exercise #8

Pros and cons of each approach

Waterfall and Agile each have distinct advantages and limitations that make them suited to different situations. Waterfall offers clear structure and thorough documentation, making it useful for projects with well-defined, stable requirements and fixed budgets. Industries like construction or manufacturing, where physical components and sequential dependencies exist, often find Waterfall's predictability helpful. However, it struggles with adaptation when requirements change, carries high risk if early assumptions are wrong, and delays testing until late stages. Agile excels in its adaptability to change, early delivery of value, and regular stakeholder involvement. It particularly suits software and digital products where user needs change rapidly.

The frequent feedback helps teams find and solve problems faster. However, Agile can make cost and timeline predictions harder, requires good communication, and may not fit well in environments where stakeholders can't participate regularly or where heavy documentation is required. The best approach often depends on the specific project context, organizational constraints, and the nature of the work itself.

Pro Tip! Consider using a mixed approach that uses Waterfall for stable, well-understood components and Agile for areas with higher uncertainty or where user feedback is crucial.

Exercise #9

The value-driven nature of Agile

The first principle of the Agile Manifesto states: "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software." The word "valuable" is the foundation upon which all other Agile principles rest. Value in this context means creating something that genuinely solves customer problems or meets their needs, not just completing features or following processes. This focus on value requires teams to deeply understand what customers actually need rather than just building what they ask for or what seems technically interesting. The emphasis on "early and continuous delivery" reinforces that value should not be delayed until a perfect, complete solution exists. Instead, incremental value should be delivered as soon as possible, with continuous improvement based on feedback and learning. Without this strong focus on customer value, Agile frameworks and practices become empty rituals. Teams may hold standups, estimate story points, and run sprints, but if these activities don't ultimately deliver something valuable to customers, they miss the fundamental purpose of Agile.

Pro Tip! Regularly ask "What value does this create for our customers?" when prioritizing features or making process decisions to stay aligned with Agile's central purpose.

Complete this lesson and move one step closer to your course certificate
<?xml version="1.0" encoding="utf-8"?>