Agile Development

Your constantly-updated definition of Agile Development and collection of topical content and literature

What is Agile Development?

Agile development is an iterative software-development methodology which teams use in projects. Self-organized, cross-functional teams frequently analyze circumstances and user needs to adapt projects. Scrum teams constantly improve quality in sprints with short-term deliverables. They show Agile development in action.

Show Hide video transcript
  1. Transcript loading...

“If your goal is to deliver a product that meets a known and unchanging specification, then try a repeatable process. However, if your goal is to deliver a valuable product to a customer within some targeted boundaries, when change and deadlines are significant factors, then reliable Agile processes work better.”

— Jim Highsmith, Software engineer, in his book “Agile Project Management: Creating Innovative Products”

Agile Development—An Antidote to Inflexibility

By the mid-1990s, many software professionals had become frustrated with development processes that micro-managed them and overlooked their needs. Iterative development methods already existed, but these developers needed something more dynamic to help them work. Software was becoming increasingly sophisticated. They wanted more freedom to shape their projects. So, they began to streamline an approach where they could stay flexible and respond to design challenges as these emerged. Appropriately, they called it “Agile”. This was their answer to Waterfall project management—the traditional, linear model where teams follow a rigid path of development throughout the product lifecycle. Around 2000, the software market was transforming from store-bought boxes to downloads. The rules of engagement were likewise changing. In 2001, 17 professionals from backgrounds including adaptive software development and extreme programming met in Utah to determine an alternative approach. This group—the Agile Alliance—wrote the Manifesto for Agile Development. Of its twelve principles, four are at the heart of Agile development. They value:

  • Individuals and interactions over processes and tools;

  • Working software over comprehensive documentation;

  • Customer collaboration over contract negotiation; and

  • Responding to change over following a plan.

Agile development’s authors stated transparency and iteration are essential. Clients should remain closely involved throughout projects which are “alive” with team cooperation. Although the Waterfall approach has positive aspects, teams find themselves restricted because each development stage and its effects flow directly into the next. It’s hard for everyone to keep a clear, day-to-day view of the big picture. Moreover, team members tend to stay siloed and blindly pass deliverables on to other teams (a habit called “throwing over the wall”). By contrast, Agile teams work iteratively and collaboratively to produce the right deliverables. They do so under time-boxed conditions to present these on tight schedules. Teams stay highly focused on delivering short-term, smaller goals (“chunks”) in design sprints that run anywhere from 1–4 weeks. In daily scrum meetings, internal stakeholders account for the previous day’s actions, stay updated about needs and refine plans. When a sprint ends, teams log their progress and review the development process.

Agile Development and User Experience (UX) Design—Take Care with Two Cultures

Development and UX personnel are different in many ways, especially how they picture users’ needs. For an organization to apply Agile development successfully, management must create the right environment so that UX, development and other stakeholders can collaborate openly and have constant dialogue throughout a project. Another vital consideration is how organizations define UX roles—particularly important regarding how much responsibility and influence they expect/allow any UX team members to have in projects. The Nielsen Norman Group has defined four key principles for organizations to get the most from an Agile-UX cultural combination:

  1. Management must understand and support UX work.

  2. UX professionals should show leadership and take time to reach out to colleagues.

  3. Agile workflows must be flexible enough to accommodate the needs of UX personnel.

  4. UX personnel should be part of the product teams, building respect and rapport with developers.

To support UX work, management must provide sufficient resources for UX research. A business analyst or a solution architect who works closely with UX personnel can help translate ideas to developers. Above all, design should lead development in addressing the right issues in sprints. When UX professionals help teams work with the client’s and users’ requirements in mind, everyone can produce the right deliverables.

Learn More about Agile Development

You can learn more about integrating Agile with UX in these courses:

Agile Methods for UX Design
https://www.interaction-design.org/courses/agile-methods-for-ux-design

UX Management Strategy and Tactics
https://www.interaction-design.org/courses/ux-management-strategy-and-tactics

This is a revealing piece about UX and Agile practices:
https://uxdesign.cc/how-do-ux-practices-fit-with-agile-development-practices-3f891028753a

See some powerful considerations for Agile development concerning UX: https://www.uxmatters.com/mt/archives/2015/12/how-to-combine-user-centered-design-and-agile-development.php

Here’s an incisive account about the UX-Agile dynamic, showcasing tool use:
https://www.uxmatters.com/topics/process/agile-ux/

Read the Nielsen-Norman Group’s advice on handling Agile with UX: https://www.nngroup.com/articles/agile-not-easy-ux/

Literature on Agile Development

Here’s the entire UX literature on Agile Development by the Interaction Design Foundation, collated in one place:

Learn more about Agile Development

Take a deep dive into Agile Development with our course Agile Methods for UX Design .

Agile, in one form or another, has taken over the software development world and is poised to move into almost every other industry. The problem is that a lot of teams and organizations that call themselves “agile” don’t seem to have much in common with each other. This can be extremely confusing to a new team member, especially if you’ve previously worked on an “agile” team that had an entirely different definition of “agility”!

Since the release of the Agile Manifesto in 2001, agile methodologies have become almost unrecognizable in many organizations, even as they have become wildly popular. 

To understand the real-world challenges and best practices to work under the constraints of agile teams, we spoke with hundreds of professionals with experience working in agile environments. This research led us to create Agile Methods for UX Design.

In this course, we aim to show you what true agility is and how closely agile methodologies can map to design. You will learn both the theory and the real-world implementation of agile, its different flavors, and how you can work with different versions of agile teams.

You will learn about the key principles of agile, examples of teams that perform all the agile “rituals” but aren’t actually agile, and examples of teams that skip the rituals but actually embody the spirit.

You’ll learn about agile-specific techniques for research and design, such as designing smaller things, practicing continuous discovery, refactoring designs, and iterating.

You will also walk away with practical advice for working better with your team and improving processes at your company so that you can get some of the benefits of real agility.

This course is aimed at people who already know how to design or research (or who want to work with designers and researchers) but who want to learn how to operate better within a specific environment. There are lots of tools designers use within an agile environment that are no different from tools they’d use anywhere else, and we won’t be covering how to use those tools generally, but we will talk about how agile deliverables can differ from those you’d find in a more traditional UX team. 

Your course instructor is product management and user experience design expert, Laura Klein. Laura is the author of Build Better Products and UX for Lean Startups and the co-host of the podcast What is Wrong with UX?

With over 20 years of experience in tech, Laura specializes in helping companies innovate responsibly and improve their product development process, and she especially enjoys working with lean startups and agile development teams.

In this course, you will also hear from industry experts Teresa Torres (Product Discovery Coach at Product Talk), Janna Bastow (CEO and Co-founder of ProdPad) and Adam Thomas (product management strategist and consultant).

All Literature

Please check the value and try again.