Techniques in Agile Requirements Processes Professor Neil Maiden What s in the Talk 1. Creative requirements processes Existing views on requirements elicitation 2. workshops Strengths and weaknesses 3. in agile projects Injecting creativity into agile processes Agile creativity techniques A case study 4. Future work 1
Creative Requirements Processes Requirements focus on elicitation Ask stakeholders what they want Limited by perceptions of what is possible Separation of requirements from design Discourages thinking about possible solutions when eliciting requirements Requirements encapsulate creative thought Requirements are desired properties of a future system Results of creative work often expressed as requirements The Customer is a Rear-View Mirror, not a Guide to the Future George Colony - Forrester Research - Companies go out of business providing everything that their customers ask for - Our job is to give the client, on time and on cost, not what he wants, but what he never dreamed he wanted; and when he gets it, he recognizes it as something he wanted all the time - Denys Lasdon, architect 2
definition Sternberg and Lubart (1999) define creativity as the ability to produce work that is both novel (i.e. original, unexpected) and appropriate (i.e. useful, adaptive concerning task constraints) Draw on theories of creativity Psychology and artificial intelligence Original CPS model (Osborn 1953) Six stages: mess finding, data finding, problem finding, idea finding, solution finding and acceptance finding Problem understanding Idea generation Planning for action Frame Requirements Engineering as Creative Problem Solving [RE 10] CPS Method (Osborn & Parnes 1953) Osborn-Parnes process stages Software development processes 1. Objective finding: brainstorm a list of Goal modeling [van Lamsweerde 2008], objectives and goals Requirements mining [Goldin & Berry 1997] 2. Fact finding: brainstorm all facts related Requirements acquisition [Maiden & Rugg 1996], to each objective for all perspectives and modeling languages [Greenspan et al. 1994], participants satisfaction arguments [Hammond et al. 2001] 3. Problem finding: brainstorm different Goal modelling [Yu & Mylopoulos 1994], requirements ways to express the problem X expression [Robertson & Robertson 1999] 4. Idea finding: divergent brainstorming Requirements decompostion and refinement writing down all ideas, then convergence and [van Lamsweerde X 2008], architecture patterns [Buschmann et al. 1996] selecting relevant ideas 5. Solution finding: Take action on selected Architecture modeling, nonfunctional ideas, and develop solution selection requirements for selection criteria [Franch & Maiden 2003] criteria 6. Acceptance finding: consider real-world Systems design and implementation, downstream project issues to overcome, implementation issues planning 3
Workshops Pin boards structured by use case Workshop period Preparation Illumination Verification Preparation Workshop period Facilitated guidance at all times Converge Diverge Incubation Illumination Verification Preparation Workshop period Diverge Incubation Converge Diverge Incubation Illumination Verification Converge Games to encourage playfulness Running Workshops Some successes Applied in challenging requirements projects in European air traffic management, food information traceability, electronic vehicle use Generated novel and useful concepts and requirements Successful techniques constraint removal, analogies, storyboarding Greater creative outcomes on second workshop day Published extensively just ask 4
Running the Workshops Some remaining challenges Most workshops lasted two days Difficult to obtain stakeholders Changing requirements practices Smaller software projects Project budgets tighter Adoption of agile methods Applicable to non-software projects 2 days in Agile Projects [IEEE Software 2013] Agile techniques More innovative solutions Little empirical evidence Counter-claims [Oza & Abrahamsson 2011] Obvious challenges Limited use of creativity theories, techniques and tools Lack of incubation time Focus on current work Extended agile processes Explicit creativity support 5
Opportunities in Agile for Creative Thinking Investigated agile system development processes Based on Ambler model [2005] 1 in envisioning process Epics Initial requirements and architecture Initial workshop(s) requirements 2 Sprint zero in epic process Selected epics Iteration Working system Construction iterations Review Release system into production Working system Release The Envisioning Process Adapted from CPS v6.2 model 1. Clarifying the challenge 2. Getting ideas 3. Planning for implementation Understanding the challenge Generating ideas Preparing for action Research Plan workshop(s) Evaluate and refine Epic backlog 6
The Epic Process Adapted from Isaken s CPS v6.2 model Identify potential Understanding the challenge Generating ideas Preparing for action Evaluate and select Research epics Plan workshop(s) Evaluate and refine Project backlog Selecting epic(s) with creative potential Backlog of Epics Created during envisioning workshop Selection criteria 1. Are ambiguous 2. Are complex 3. Need for novelty or competitive advantage 4. Have creative potential An Evaluation of Epic Stage Agile project at major UK broadcaster More personalized television listings website Four-person team Lead developer, head of design, business analyst and other developer Applied Kanban, Scrum and XP development practices Generated backlog of 216 epics Applied extended Epic process In what ways might the system change a user s profile based on their behaviour inside or outside of the website? 7
The 45-Minute Workshop 1. Brainstorming Open brainstorm to share favourite ideas and allow others to build on them workshop(s) 2. Random stars Adopted from Hall of Fame [Michalko 2006] Used characters to force connections to generate new requirements according to themes! 3. Supplement - PICL Technique From Higgins [2005] 25 randomly-selected short statements The 14 Random Stars! 8
The Evaluate-and-Refine Stage One-week period of incubation workshop(s) Evaluate and refine Project backlog one week Team met once to select requirements to take forward Allowed more creative thinking about requirements Workshop Outcomes Lasted 55 minutes Lasted 30 minutes 30 new requirements Lasted 20 minutes 10 new requirements 9
Generated Requirements Brainstormed requirements Novel uses of websites and technologies Digital drop-in to see friends viewing People s reactions to programmes using webcam Random stars and PICL requirements Capturing user emotional responses Characters as personas, avoid becoming a social leper Two days after workshop Product owner interest in 2 requirements One week later after incubation Requirements changed Evaluating Workshop Requirements Versus Original Backlog of 20 Epics 20 Workshop Requirements Novelty and usefulness comparison by 10 experts Novelty rating 2.69 versus 3.28 out of 5, p-value < 0.001 Usefulness rating 3.37 versus 2.97 of 5, p-value < 0.001 One killer idea rated very novel and very useful Effect from running workshop 10
Lessons Learned techniques enhance Other techniques experimented with creativity triggers, combining story elements, creative story telling Seek killer ideas Numerous threats Need for repetition Contacts N.A.M.Maiden@city.ac.uk @NeilMaiden 11