Speaker. Marc J. Balcer Founder & Chief Architect Model Compilers. Author of Executable UML and Applied SOA

Size: px
Start display at page:

Download "Speaker. Marc J. Balcer Founder & Chief Architect Model Compilers. Author of Executable UML and Applied SOA"

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