Workshop: Delivering Value Fast Using Agile Product Design and Development with Jeff Patton
Wednesday, September 10, 2008 from 9:00 AM to 5:00 PM (EDT)
In this one-day hands-on workshop Jeff Patton, with Declan Whelan, will provide you with practical insights and practices for delivering valuable products in a fast, agile environment. You will learn how to combine the best of agile, user experience, and product design practices. You will learn how to build story maps that clarify the product vision and help your team plan and deliver incremental releases that deliver value to both stakeholders and users.
Continental breakfast, lunch and refreshments included!
Identify the software to build that delivers the highest value sooner
“The hardest single part of building a software system is deciding precisely what to build” said Fred Brook’s 1987 paper No Silver Bullet.
Agile software development solves a bit of the problem by showing working software sooner – software that we can evaluate to determine if we’re indeed building the right thing. However, while we may be able to inspect what we’ve built sooner and say “that’s not it”, we’re still left with the challenge of deciding what the right thing is.
This one day workshop will review the basics of Agile Product Design and Development. This approach to working with product requirements in an Agile context borrows the best from User-Centered Design, Product Design, traditional business analysis and Agile thinking to arrive at an approach to understanding first the context that our software fits in, and the outcome we desire after the software is built. Given that backdrop we can move to planning for successful incremental release of software that delivers value on each release.
Effective agile product development
Agile product development is arguably the most critical and one of the least understood activities in Agile development. Writing user stories and delivering them to the team is just the tip of the iceberg of effective agile product development. This workshop focuses squarely on where those user stories initially stories come from and how to work effectively with them through the agile life cycle. We'll work together to answer the following questions:
What user stories should I write and at what level of detail?
What collection of user stories is critical to delivering value early?
When do I elaborate stories and design user interface?
How do I successfully meet promised delivery dates while delivering a valuable, usable product?
When and how do I validate prototypes and software with end users?
An ideal participant will be working on an Agile team or making plans to adopt an Agile process.
This one-day workshop focuses on software requirements analysis, design, and planning – the aspects commonly looked after by the Agile product owner or customer role. Ideal participants will be on the product owner or customer team, or be responsible for aiding or coaching those who are. This includes business analysts, user experience professionals, project managers, developers, QA testers and anyone interested in applying user-centered product design principles to Agile development.
You and your team will come away with solid techniques to improve your Agile process. You’ll learn to leverage and improve your understanding of customers and users to write practical user stories that will drive iterative development. You will learn how story mapping can clarify the product vision and help your team plan incremental releases that deliver value to both stakeholders and users.
1 day, four 100 minute sessions
This tutorial is taught by alternating presentation and discussion with hands-on exercises that allow participants to learn by doing. About 50% of tutorial time will be spent in hands-on exercises and discussion. The pace is quick and the amount of information covered is dense, but always fun.
Participants will work together to create card based models
Slides review simple models to help make information more memorable and useful.
In Agile development it’s important to have shallow long range plan and understanding of our product and its goals as well as a more detailed understanding of our short term goals and product requirements. In this first section of the workshop participants will learn about Agile development’s common framework nested planning cycles. Participants will learn how to requirements and planning vary in depth for each planning cycle. Participants will learn how to plan effectively using outcome-centric product goals – goals that focus on the benefit received when the software is delivered.
· Agile’s Nested Cycles of Development
· Maximizing Product Benefit and Minimizing Risk
· The Problem Analysis and Solution Design Process Model
· Identifying Outcome-Centric Business Goals
· Finding Goal Measures Using the Goal-Question-Metric Method
· Identifying goals and measures
To realize value from the software we’ve built, it’ll need to be purchased or adopted by customers, and effectively used. Understanding our customers and their motivations for purchasing and/or adopting the software is critical to getting a product into use. Understanding who will use the product, why, and how is critical to designing a product that supports that use efficiently and desirably.
In this section of the workshop we’ll learn how to differentiate customers from users. We’ll learn how to identify and profile customers. We’ll learn how to identify, profile, and personify our users. We’ll learn how to leverage customer and user information to identify important characteristics and features our product must have.
· Customers Relative to Users
· Customer Identification
· Customer Profiling
· User Types
· Profiling User Types
· Research Approaches to Improve User Profiles
· Personifying User Types
· Identifying Design Imperatives from User Types
· Identifying Feature Opportunities from User Types
· Identifying User Activities
· Identifying user types
· Profiling user types
User Stories, the popular term for items of user functionality to be scheduled and build by the development team, form the foundation of Agile requirements. A user story map places our user stories into a context that helps us understand our users and the use of our product across the entire breadth of the product’s functionality.
In this portion of the workshop we’ll learn how to assemble a user story map starting from the details we understand about the users of our system and how they work to currently meet their goals. We’ll learn how to leverage the map to begin to make product scope choices: decisions to build new software functionality that help users meet their goals more effectively.
· User Objective Level
· User Activities
· User Tasks & Sub-Tasks
· Task Details
· User Stories
· The Product Backbone
· User Story Map Construction
Placing our user stories into the context of a story map allows us to effectively plan incremental development and product releases in the context of the full scope of our product, and our product’s users and their goals.
In this section we’ll learn how to leverage a story map to effectively prioritize software to be built and compartmentalize software into useful and valuable software releases. We’ll discuss ways of thinning product releases to the smallest size possible to be useful and valuable. We’ll discuss how to leverage your product release road-map to envision product solutions and tactically manage their development.
· Prioritizing User Stories
· Identifying Incremental Releases
· Identifying a Walking Skeleton
· Chunking & Thinning
· Envisioning Product Solutions
· Tactically Managing Agile Product Development
· Product Release Road-Mapping
Jeff Patton is an independent consultant, founder and list moderator of the agile-usability Yahoo discussion group, a columnist with StickyMinds.com and IEEE Software, and a winner of the Agile Alliance’s 2007 Gordon Pask Award for contributions to Agile Development. Jeff presents and teaches at a number of conferences including the Agile Development conference, Software Development’s Best Practices conferences, and Better Software’s series of conferences. He currently teaches and coaches within a variety of organizations.
Declan Whelan is an independent consultant, software developer and agile coach. He has been developing software for 25 years and uses agile principles and practices to help ogranizations develop and deliver higher value software. He currently provides agile coaching and development consulting in Southern Ontario.
When & Where
Whelan & Associates
Agile coaching, training and devleopment.