Summary: What makes an agile developer effective? Agile designers need to quickly see the essence of a problem, shape reasonable solutions, and communicate complex ideas. When things don’t go according to plan, they readjust their thinking and try again. This tutorial introduces several techniques and some vocabulary for articulating the nature of design problems and their solutions: Problem frames identify the “typical structure” of software tasks. Framing questions that help you get to the essence of the problem. Design stories set the stage for collaborative design. Role stereotypes are useful for assigning or assessing object behaviors. Control styles can help characterize and communicate control center designs. Trust regions can aid in spotting places where “defensive” programming is needed.
Seasoned 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.
Audience: Developers can benefit from learning how to characterize problems and solutions. Participants should be familiar with programming, agile development and be looking for ways of seeing problems, shaping and describing solutions, and sorting and prioritizing design efforts.
Format: The tutorial will be a combination of short presentations introducing new concepts and techniques (guided by PowerPoint slides) interspersed with four exercises. In addition to tutorial slides, attendees will receive tutorial notes describing each technique, concept, or practice.
Outline:
Introduction-what makes a designer agile? How can you become more agile? (5 mins)
Tools for Seeing
a. Problem Frames: a tool for seeing typical patterns of software tasks (25 minutes)
Workpieces, information, transformation, control, and required behavior frames
Framing with an agile attitude
Exercise: Find frames and ask framing questions
b. A design story: a tool for seeing/communicating what’s important (25 minutes)
Exercise: Write a design story
c. Object Role Stereotypes: a tool for seeing object behaviors (25 minutes)
Introducing: information holder, structurer, service provider, controller, coordinator and interfacer
Examples of applying stereotypes
Exercise: Stereotype some candidate objects
Tools for Shaping
a.Control centers and collaboration styles: a tool for shaping collaborations (15 minutes)
Introducing centralized, delegated and dispersed styles
Characteristics of unbalanced/balance styles
b.Trust Regions: a tool for seeing where “defensive” behavior is needed (25 minutes)
Implications of trust
Handling requests from untrusted sources, testing and trust
Discussion: Identifying trust regions
Exercise: Sketch trust region boundaries
Tools for Design Collaboration
Design problem types: A tool for balancing design priorities (25 minutes)
Core, revealing, and the rest
Wicked problems: what they’re like, how they can be tackled
Discussion: Sorting and sprints
Exercise:Sort release stories
Benefits:
Learn about problem frames (types) and how they can be used to focus design attention and help question product owners
Acquire vocabulary useful for communicating and characterizing aspects of your design
Learn how to sort through designs tasks and identify their project impact
Recognize when a wicked or revealing problems crop up and how they affect project flow