Responsibility-Driven Software Development
Enabling teams and individuals to specify, design and deliver software for a complex world.
Skills for the Agile Designer
1 or 2 days
Suitable for small teams or larger groups.
Price: Contact us at training@wirfs-brock dot com. Price includes all course materials. Instructor travel and lodging are extra.
Agile designers need to quickly see the essence of a problem, shape reasonable solutions, and communicate effectively. When things don't exactly go according to plan, they must react, readjust their thinking, and try again. Seasoned agile designers strike a balance. They know the difference between core and revealing design tasks and plan accordingly. When unanticipated difficulties crop, they adapt their work rhythms. They know how to give and take criticism and ask clarifying questions of teammates and project stakeholders.
At the end of this short course attendees should be able to:
One day course will contain only selected topics.
- Identify problem frames (types) and use them to ask probing questions of their customers
- Write and share designer stories to kick off an iteration
- Use a common vocabulary for characterizing various aspects of a design
- Sort through designs tasks and identify their project impact
- Recognize when a wicked problem crops up and how it affects project flow
- Effectively discuss issues and come to meaningful agreements
- Use object role stereotypes and understand patterns of interaction
- Develop a roadmap for proving your design
- Conduct a CRC card modeling session
- Use CRC cards to explain an existing design-story telling basics
- Understand how to support design variability the agile way--using commonality/variability analysis
- Measure design progress and track technical debt
- Developing a Design Foundation
- What makes a designer agile?
- Problem Frames: a tool for seeing typical patterns of software tasks
- A designer's story: a tool for seeing/communicating what's important
- Object Role Stereotypes: a tool for seeing object behaviors
- Identifying design themes
- CRC card modeling basics and when a responsibility model can help
- Planning design tasks: fitting design and architecture into an agile project
- Shaping and Measuring Solutions
- Control centers, collaboration styles and trust regions: a tool for shaping collaborations where defensive behavior is needed and specific tests are required
- Design problem types: A tool for balancing priorities
- Commonality/variability design: How to analyze (and test) important flex points
- How to support evolutionary changes
- Handling design criticism: What to do with valid, invalid, aesthetic, personal, judgmental criticism and praise
- Adding design topics to project retrospectives
This course combines short presentations introducing new concepts and techniques with short, to-the-point exercises. In addition to course slides, attendees receive notes describing each technique, concept, or practice.