Speaker. Marc J. Balcer Founder & Chief Architect Model Compilers. Author of Executable UML and Applied SOA
|
|
- Robert Stevens
- 5 years ago
- Views:
Transcription
1
2 Speaker Marc J. Balcer Founder & Chief Architect Model Compilers Author of Executable UML and Applied SOA ASPE Lead Instructor for Modeling Techniques for Business Analysis Object-Oriented Design with UML Building the Logical Data Model Ranorex Test Automation Workshop 0-1
3 What s your most outrageous experience with an agile project? I notice he doesn t capitalize agile
4 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
5 1998: A Tale of Two Leasing Projects Consumer Auto Finance Followed PMI principles Planned as Lotus Notes system to be delivered in months of business analysis 6 months of software design 13 months of development and testing Died a slow, horrible death Construction Equipment Finance What s PMI? In 60 days can you build a web app for dealers to enter credit apps? You re nuts! Each deployment changes our vision What do you need next? Deployed and still running today
6 1998: A Tale of Two Leasing Projects Consumer Auto Finance Followed PMI principles See! This proves that Planned as Lotus Notes system waterfall is to be delivered in 2000 EVIL!!!! 9 months of business analysis 6 months of software design 13 months of development and testing Died a slow, horrible death Construction Equipment Finance What s PMI? In 60 days can you build a web app for dealers to enter credit apps? You re nuts! What do you need next? Each deployment changes our vision Deployed and running today (the rabid agilist)
7 The Poor Maligned Waterfall Requirements Know what the customer wants Design Figure out how to build it Implementation Build it Verification Does as built meet the requirements? Maintenance Keep it going
8 The Poor Maligned Waterfall Requirements Design Implementation Can you build without knowing the needs? Verification Can you test without an as built? Maintenance
9 The Poor Maligned Waterfall Requirements It s not the waterfall. It s the size of the blocks. Design Implementation Can you build without knowing the needs? Verification Can you test without an as built? Maintenance
10 Size of the blocks? This week Sam will be adding fields to the credit application On October 25, 2018 Sam will be coding the online loan payment page. Reliable Really???
11 The Real Difference When people say Waterfall vs. Agile they really mean Predictive vs. Adaptive
12 The Real Difference Predictive When I know everything up front I can plan every step I measure progress as tasks completed against that project plan but Changes mess up that plan and are to be avoided at all cost Adaptive I m not going to know everything up front Short term, I m pretty certain Further out, I ll stay looser (so I can respond to the business) I measure progress by delivered business value and Change happens ( Now that I am doing this, )
13 Perspectives on Analysis Predictive I need to gather every requirement I need to write all the use cases I need to know all the ways things can be different or go wrong and then I have to put it all into a big, comprehensive requirements document Adaptive What s the simplest thing that can possibly work? (the minimum viable product ) If we don t do it now we can always add it later as needed and then Let s start doing real work and, with the customer, evaluate as we go
14 Agile Manifesto We are uncovering better ways of developing software. Through this work we have come to value: Individuals and Interactions over Processes and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan
15 Agile Manifesto We are uncovering better ways of developing software. Through this work we have come to value: Individuals and Interactions over Processes and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan
16 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
17 The Rabid Agilist In the Agile Methodology there is only ONE TRUE WAY!
18 The dirty little secret of the Agile Alliance
19 The Agile Methodology
20 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
21 User Stories A short, simple description of a feature written from the perspective of the user who will make use of the feature. As an employee I want to report a personal car expense by specifying a date and miles driven. As a manager I want to identify the specific expense items that caused me to reject the expense report.
22 Agile Manifesto We are uncovering better ways of developing software. Through this work we have come to value: Individuals and Interactions over Processes and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan
23 User Stories As a I want So that There s NO OTHER WAY! As an employee I want to report a personal car expense by specifying a date and miles driven. Have the option to enter start and end odometer readings for personal car expenses. As an industry, we love syntax wars Gojko Adzic and David Evans. Fifty Quick Ideas to Improve Your User Stories.
24 Agile Manifesto We are uncovering better ways of developing software. Through this work we have come to value: Individuals and Interactions over Processes and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan
25 Agile Manifesto We are uncovering better ways of developing What?! software. Through this work we have come to value: No big Individuals and Interactions over requirements Processes and Tools document? Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan
26 User Story Card Principles (the three Cs ) Card Keep it short Conversation Enough to get the team to understand and agree to the need As an employee I want to report a personal car expense by specifying a date and miles driven. Confirmation Know when you are done Have the option to enter start and end odometer readings for personal car expenses.
27 User Story Card Principles (the three Cs ) Card Keep it short Conversation Enough to get the team to understand and agree to the need As an employee I want to report a personal car expense by specifying a date and miles driven. Confirmation Know when you are done Have the option to enter start and end odometer readings for personal car expenses.
28 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
29 The Backlog The set of user stories that have been identified but not committed and not completed.
30 Only user stories?! We are uncovering better ways of developing software. Through this work we have come to value: No more use cases, models Individuals and nothing Interactions but little over Processes and Tools user stories! Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan
31 Agile BRUF* * Big Requirements Up Front On October 25, 2018 Sam will be coding the online loan payment page. Really??? Now what about the group that starts their agile project by producing 10,000 stories?
32 The Backlog What s requested (the total set of stories) What s most important to do next (the prioritization) What can be reasonably done in the next iteration (the iteration plan) What s left (the backlog)
33 Roadmap Direction vs. Story Specifics Roadmap Long-Term Vision Integrate with the trip approval system Issue reimbursements through payroll User Stories Short-Term Objectives Report personal car expenses by specifying a date and miles driven Report personal car expenses by specifying start and end odometer readings Associate gift and meal expenses using a provider s NPI this increment backlog (future)
34 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
35 Typical Iteration Planning Select the stories to be done Define the tasks needed to complete them Agree upon the acceptance criteria for each story (and the iteration) Tasks! Tasks! Tasks! 17-7
36 User Story Card Principles (the three Cs ) Card Keep it short Conversation Enough to get the team to understand and agree to the need Confirmation Know when you are done Report personal car expenses by specifying a date and miles driven Report personal car expenses by specifying start and end odometer readings
37 Tests No Surprises Report personal car expenses by specifying a date and miles driven Report personal car expenses by specifying start and end odometer readings
38 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
39 Outrageous Agile Changing the vocabulary without changing the practices Treating Agile as a Methodology Trying to do everything with one format of user stories Treating the backlog as the whole set of requirements Committing to a story without agreeing to how you know it s done Completing an increment without complete testing
40 No Bull Agile We Favor Reason over Rigidity Content over Ceremonies Diagrams over Documents Tests over Tasks
41 Reason over Rigidity In the Agile Methodology there is only ONE TRUE WAY! Common Cultish Behaviors Only document with user stories Change the whole vocabulary Jump straight into iterations Focus only on code Pretend to know the customer best Revert to junior high school
42 No Bull Agile We Favor Reason over Rigidity Content over Ceremonies Diagrams over Documents Tests over Tasks
43 Ceremony Trap? User story: As a I want to in order to I have to define twohour tasks But shouldn t we first play the paper airplane game? Story Point Planning Poker
44 Content over Ceremonies As a I want So that As an employee I want to report a personal car expense by specifying a date and miles driven. There s NO OTHER WAY! Have the option to enter start and end odometer readings for personal car expenses. As an industry, we love syntax wars Gojko Adzic and David Evans. Fifty Quick Ideas to Improve Your User Stories.
45 Content over Ceremonies It s not the form of the user story, it s the content of the story. It s not the form of the daily standup, it s that real communication takes place. It s not the form of the demo, it s the information collected from the customer (product owner) It s not the job title or role, it s what each person contributes
46 No Bull Agile We Favor Reason over Rigidity Content over Ceremonies Diagrams over Documents Tests over Tasks
47 Diagrams over Documents No more use cases, models nothing but little user stories!
48 User Stories are Deltas Is this a Completely new capability? Change to existing capability? Does this affect a Multi-actor business process? Single actor activity? Single step (e.g. UI page)?
49 Have an overall model System Process Activity Step Action
50 5-level architecture System Collection of processes that manage, control, or report on some aspect of a business. Process The steps that one or more actors go through in order to achieve some business goal. Activity The work done by a single actor to carry out one step in a business process. Individual units of work performed by a single actor (e.g. a UI screen) Step The basic atomic units of UI behavior (e.g. enter x into a field, click the OK button ) Action 17-3
51 What s my story? System Process As an employee I want to report my travel expenses in order to get reimbursed. As an employee I want to enter a new expense report in order to start the reimbursement process. Activity Step As an employee I want to report a personal car expense by specifying a date and miles driven. Action 17-4
52 No Bull Agile We Favor Reason over Rigidity Content over Ceremonies Diagrams over Documents Tests over Tasks
53 No Bull Agile We Favor Reason over Rigidity Content over Ceremonies Diagrams over Documents Tests over Tasks
54 Principles Tolerate Incompleteness Change Happens Do the Least to Deliver the Most
55 Thank you Marc J. Balcer Chief Architect Model Compilers LLC
56 Marc J. Balcer Founder & Chief Architect Model Compilers
57
58 Tests over Tasks For each story: What development tasks? But more importantly What tests need to pass? 17-7
59 User Stories Definition A short, simple description of a feature written from the perspective of the user who will make use of the feature As an employee I want to report a personal car expense by specifying a date and miles driven. Principles Card Conversation Confirmation As a manager I want to identify the specific expense items that caused me to reject the expense report.
60 Start with an MVP* *Minimum Viable Product
61 MVP Mission (Big Picture, Purpose) The Expense Tracking System allows employees to enter expense reports, their managers to approve them, and the company controller to issue reimbursements to the employees.
62 MVP Process Model (Context, Reason) The employee records his expenses and submits the expense report. The employee s manager approves the expense report. The controller authorizes and pays a reimbursement to the employee.
63 MVP Value What s the simplest thing that can possibly work? More than just a random collection of user stories
64 Time-box it Produce the MVP in 2-4 weeks
65 But we re not starting from scratch Great! You have a starting point. Pick something to do in two weeks (add, change features) Make sure it s valuable Time-box it Be prepared to cut scope 1-6
66 Short Iteration Cycles Start Now! Do the Least to Deliver the Most Don t let the perfect be the enemy of the good Cut scope YAGNI YAGNI! (you ain t gonna need it) Focus on delivering working software Avoid the ceremony trap
67 Daily Progress The One Important Ceremony Everyone gets together at least once a day Each team member answers What got done? What s next? Where are the obstacles? Our Team s Safe Space Isn t it mandatory to do it standing up in less than 15 minutes? Find problems and plan to fix them Ruthless YAGNI
68 Time-boxing, demos, and iterations Don t extend the deadline cut scope Demonstrate what was done Get feedback what s the most important next step? how do we make this better? Figure team velocity (how much can you do?) Customer Now that I see this, I realize I ll need Don t request anything you re not likely to need
69 Agile BRUF* * Big Requirements Up Front You don t need to write every possible story.
70 What s my story? System Process As an employee I want to report my travel expenses in order to get reimbursed. As an employee I want to enter a new expense report in order to start the reimbursement process. Activity Step Action 17-3
71 duh-duh-duhdaaaah Each duh shall be played as 440Hz tones lasting 0.33 seconds with a gap of 0.17 seconds. This shall be followed by the daaah 8-2
72 A Un good bon sketch croquis picture s worth better vaut mieux than a qu un long a thousand words. long speech. discours. 8-3
73 Process and its Activities Travel Expense Reporting Process 17-4
74 Activity and its Steps Company Homepage Company URL Expenses Link Expense Reporting URL Expense Report M ain New Expense Report Cancel New Expense Report New Expense Add /Add to expenses table New Expense Item Cancel Return to Main Submit for Approval [has at least one item] /Submit Expense Report Add Receipt Cancel Add /Add receipt to expense Confirm Submission Add Receipt 17-5
75 Tests over Tasks Iteration Planning selects the stories to be done defines the tasks needed to complete them agrees upon the acceptance criteria for each story (and the iteration) Tasks! Tasks! Tasks! 17-7
76 Tests over Tasks For each story: What development tasks? But more importantly What tests need to pass? 17-7
77 Which Can We Do? 14-3
78 Tests No Surprises