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.orgwww.xprogramming.comfitnesse.org.

Slides:



Advertisements
Similar presentations
Kapil Mohan Sharma DMG - QA
Advertisements

Test process essentials Riitta Viitamäki,
Copyright © 2008 SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
Logo van Flair Polteq logo_RGB.png “Fast delivery on a slow train” Marc van 't Veer.
Local Touch – Global Reach The New Tester Matthew Eakin, Manager Managed Testing Practice Sogeti, USA.
Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency. All rights reserved. TEA confidential and proprietary.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Software Engineering.
CHAPTER 9: LEARNING OUTCOMES
Software Testing Prasad G.
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
Introduction to Software Testing
Agile Acceptance Testing Closing the communication gap in software projects Gojko Adzic
Living Requirements using Behavior Driven Development
Agile Methodologies for Project Management By – Komal Mehta.
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
Systems Analysis and Design in a Changing World, 6th Edition
Software Testing. Definition To test a program is to try to make it fail.
Chapter 1: Introduction to Software Testing Software Testing
RUP Fundamentals - Instructor Notes
Scrum and Hyper-productivity Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved fitnesse.org
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
 CS 5380 Software Engineering Chapter 8 Testing.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Systems Development Life Cycle
Agile/XP Overview Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved fitnesse.org
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
10 key principles of agile software development
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Copyright 2012 John Wiley & Sons, Inc. Part II Project Planning.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Week # 4 Quality Assurance Software Quality Engineering 1.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
Embedded Systems Software Engineering
Software Development.
Implementing Full-Stack Test Automation for Drupal 8
Gojko Adzic Agile Acceptance Testing Closing the communication gap in software projects Gojko.
Smart Testing and Recycling Testing
Introduction to Requirements
X in [Integration, Delivery, Deployment]
How to Successfully Implement an Agile Project
Part II Project Planning © 2012 John Wiley & Sons Inc.
Johanna Rothman Know What “Done” Means Chapter 11
Strategies For Software Test Documentation
Introduction to Software Testing
Chapter 11 – Project Dashboard
Chapter 11 – Project Dashboard
Jamie Cool Program Manager Microsoft
Acceptance Test Driven Development
Presentation transcript:

Get the New Agile Attitude: Quality First! Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved Robert C. Martin (Uncle Bob)

2 The Traditional schedule for Quality. Waiting at the sphincter muscle. Analysis Design Implementation 1 May1 Nov1 Jul1 Sep Test

3 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… …not a verification role!

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

6 ! ! ! !

7 The Delivery Date is Frozen

8 The Spec V1 The Spec V2 The Spec V3 The Spec V3 The Spec VN.1 The Spec VN.2 The Spec is Never Frozen

9 Analysis Design Implementation DFDERDDDST 1 May1 Nov1 Jul1 Sep The Waterfall Model Managing the Development of Large Software Systems Dr. Winston W. Royce — 1970

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

11 Royce’s actual diagram.

12 Royce’s Observation

13 Royce’s Conclusion

14 Analysis Design Implementation DFDERDDDST 1 May1 Nov1 Jul1 Sep The Boss’ Big Meeting. We have a new project…

15 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.

16 Over specification.

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

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

19 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.

20 Wouldn’t this be great?

21 …and this…

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

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

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

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

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

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

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

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

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

How do you know a slice is done?

32 Test in an Agile Department Test

33 Tests specify each iteration.

34 Tests specify each iteration.

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

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

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

A Simple Example

The result.

Did I mention that they are automated?

41 Manual Acceptance Tests.

42 Manual Acceptance Tests. There aren’t any.

43 Review Question.

44 Review Question. Are there any manual acceptance tests?

The Quality First Attitude: Everything can be automatically tested.

46 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.

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

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

49 This keeps the data accurate… …and actionable.

50 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.

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

52 Sample Acceptance Tests. CW-CRM. FitNesse

53 Acceptance Testing Tools + FIT FitNesse Robert C. Martin (Uncle Bob)