Quality First Agile Attitude

Uploaded from authorPOINT Lite
Download as
 PPT
Presentation Description 

No description available

Views: 369
Like it  ( Likes) Dislike it  ( Dislikes)
Added: January 17, 2008 This Presentation is Public 
Presentation Category : Education All Rights Reserved
Presentation Transcript

Get the New Agile Attitude: Quality First!: Get the New Agile Attitude: Quality First! Object Mentor, Inc. Copyright  1998-2004 by Object Mentor, Inc All Rights Reserved www.objectmentor.com www.junit.org www.xprogramming.com fitnesse.org Robert C. Martin (Uncle Bob) unclebob@objectmentor.com


The Traditional schedule for Quality.: The Traditional schedule for Quality. Waiting at the sphincter muscle. Analysis Design Implementation 1 May 1 Nov 1 Jul 1 Sep Test


When Quality comes at the end.: When Quality comes at the end. It is under the most pressure. It has the least flexibility. It is a high stress tedious job. It is error prone. Quality cannot be tested in.


Quality is a specification role…: Quality is a specification role… …not a verification role!


The Management Paradox: What is the first thing known about a project? The Management Paradox


Slide6: ! ! ! !


The Delivery Date is Frozen: The Delivery Date is Frozen


The Spec is Never Frozen: The Spec is Never Frozen


The Waterfall Model: Analysis Design Implementation 1 May 1 Nov 1 Jul 1 Sep The Waterfall Model Managing the Development of Large Software Systems Dr. Winston W. Royce — 1970


What Royce really meant: Analysis Design Implementation What Royce really meant No dates, full feedback. Concurrent development.


Royce’s actual diagram.: Royce’s actual diagram.


Royce’s Observation: Royce’s Observation


Royce’s Conclusion: Royce’s Conclusion


The Boss’ Big Meeting.: Analysis Design Implementation 1 May 1 Nov 1 Jul 1 Sep The Boss’ Big Meeting. We have a new project…


Requirements and Failure: Requirements and Failure Jarzombek Study. Failure attributed to use of waterfall. And let’s not forget the $170,000,000 spent on the FBI system.


Over specification.: Over specification.


Management requires Data: Management requires Data Waterfall fails because it does not produce any data. Without data we cannot manage the tradeoffs.


The inevitable trade-off.: The inevitable trade-off. Good (Quality) Fast (Time to Market) Cheap (Cost Effectiveness) Done Pick any three…


Finding the optimum solution.: Finding the optimum solution. We need to manage the project to the best possible outcome. An outcome that maximizes all four qualities. To do this, we need: Data.


Wouldn’t this be great?: Wouldn’t this be great?


…and this…: …and this…


If we had these two charts on the wall…: If we had these two charts on the wall… Then managers could just look at them to see The status of the project.


Iterative Development.: Iterative Development. UI Comms Control Some UI, Comms, and Control for some behavior Data is generated and used to calibrate the plan


Calculate the Date.: Calculate the Date. The Calculated Date . . . . . . . . [ ]


More data shrinks the error bars.: More data shrinks the error bars. The Calculated Date . . . . . . . . [ ]


Without data, all you can manage is:: Without data, all you can manage is: ! ! !


Without data managers can:: Without data managers can: This project will be done on time! Or HEADS will ROLL!


OR….: OR…. You guys are great. I have faith in you. I know you can do it! I sure hope you can


But when we have data…: But when we have data… Managers can…. manage.


The control knobs of project mgt.: The control knobs of project mgt. Schedule Quality Staff Scope


How do you know a slice is done?: How do you know a slice is done?


Test in an Agile Department: Test in an Agile Department Test


Tests specify each iteration.: Tests specify each iteration.


Tests specify each iteration.: Tests specify each iteration.


A feature is not specified…: A feature is not specified… Until it’s acceptance test is written.


A feature is not done…: A feature is not done… Until all it’s acceptance tests pass.


Acceptance Tests Are…: Acceptance Tests Are… Automated. written in a very high level language. executed frequently. written by the stakeholders.


A Simple Example: A Simple Example


The result.: The result.


Did I mention that they are automated?: Did I mention that they are automated?


Manual Acceptance Tests.: Manual Acceptance Tests.


Manual Acceptance Tests.: Manual Acceptance Tests. There aren’t any.


Review Question.: Review Question.


Review Question.: Review Question. Are there any manual acceptance tests?


The Quality First Attitude:: The Quality First Attitude: Everything can be automatically tested.


When is the best time to write them?: When is the best time to write them? Astute test managers Talk to the stakeholders days before each iteration. Write initial acceptance tests for the features they plan to schedule. Elaborate those acceptance tests once scheduled.


When is the best time to run them?: When is the best time to run them? Continuously. At every check-in. No change is allowed to break any passing tests. Continuous Integration.


Who runs them?: Who runs them? Developers. Testers. Managers. Stakeholders. …They are run automatically. …Results are displayed on the wall.


This keeps the data accurate…: This keeps the data accurate… …and actionable.


So…: So… An agile quality department must: Become the specification department. Write automated specifications. Collaborate with developers every week. Continuously run all acceptance tests. Get tool support.


And put quality FIRST.: And put quality FIRST. At the front of the process.


Sample Acceptance Tests. : Sample Acceptance Tests. CW-CRM. FitNesse


Acceptance Testing Tools +: Acceptance Testing Tools + FIT http://fit.c2.com FitNesse http://fitnesse.org Robert C. Martin (Uncle Bob) unclebob@objectmentor.com