twice as much in half time - what's about the quality?

Download Twice as much in half time - What's about the Quality?

Post on 15-Jun-2015

717 views

Category:

Business

1 download

Embed Size (px)

DESCRIPTION

This Slideshow contains principles and practices to improve quality in software engineering process. First we have to make sure that we implement the right stuff and then we have to make sure that we do it right. Agile Quality Assurance is a practice which in the end leads to performance improvements in the software devleopment process.

TRANSCRIPT

  • 1. agility accelerates ... Twice as much in half 4me Whats about the Quality? Brown Bag SMA und Partner AG 6. Februar 2012

2. agility accelerates ... Agile Coach & Consultant So8ware Engineer Cer4ed Scrum Professional Cer4ed Enterprise Architect Management 3.0 Trainer Java Enterprise Edi4on (JEE) Member of the Lean, Agile & Performance Engineer Scrum Group, SwissICT MISCHA RAMSEYER mischa@pragma4c-solu4ons.ch pragma4c solu4ons gmbh 3. What is Quality? ?08.02.12 About Quality, pragma4c solu4ons gmbh 3 4. ISO 9000 Deniton of Quality Quality is the degree to which a set of inherent characteristics fulfillsrequirements. The standard defines requirement as needor expectation.08.02.12 About Quality, pragma4c solu4ons gmbh 4 5. Philip B. Crosbys Deni4on of Quality "Conformance to requirements The requirements may not fully representcustomer expectations;Crosby treats this as a separate problem.08.02.12 About Quality, pragma4c solu4ons gmbh 5 6. Joseph Jurans Deni4on of Quality "Fitness for use Fitness is defined by the customer08.02.12 About Quality, pragma4c solu4ons gmbh 6 7. Peter Drucker denes Quality as "Quality in a product or service is notwhat the supplier puts in. It is what the customer gets out and is willing to pay for.08.02.12 About Quality, pragma4c solu4ons gmbh 7 8. American Society for Quality says A subjective term for which each personhas his or her own definition. In technicalusage, quality can have two meanings:a. The characteristics of a product orservice that bear on its ability to satisfystated or implied needs;b. A product or service free ofdeficiencies.08.02.12 About Quality, pragma4c solu4ons gmbh 8 9. W. Edwards Deming says Concentrating on "the efficient productionof the quality that the market expects,and he linked quality and management: "Costs go down and productivity goes up as improvement of quality is accomplishedby better management of design, engineering, testing andby improvement of processes.08.02.12 About Quality, pragma4c solu4ons gmbh 9 10. Deni4ons of Quality Build what the customer is willing to pay for Fitness for use No Bugs Improve thru Fulll the Management, requirements Quality Tes4ng & Procesesses 08.02.12 About Quality, pragma4c solu4ons gmbh 10 11. What is Quality about? Do the Right Thing! Do the Thing Right! Idea Idea Product Idea Development Idea Eec4veness Eciency 08.02.12 About Quality, pragma4c solu4ons gmbh 11 12. What is more important? ?08.02.12 About Quality, pragma4c solu4ons gmbh 12 13. agility accelerates ... DO THE RIGHT THING 08.02.12 About Quality, pragma4c solu4ons gmbh 13 14. The Cost of Complexity is huge! 08.02.12 About Quality, pragma4c solu4ons gmbh 14 15. Its all about segng priori4es! 08.02.12 About Quality, pragma4c solu4ons gmbh 15 16. Do the Right Thing! Deliver Business Value in the right order as early as possible con4nuously Collect Customer Feedback as early as possible Embrace Change Release when its good enough 08.02.12 About Quality, pragma4c solu4ons gmbh 16 17. Good enough is enough to Release! BusinessValue Feature80% Business ValueFaster Time to Marketand Lower Cost 20% means earlier ROI TimeGood EnoughReleaseReleaseTime1.01.x08.02.12 About Quality, pragma4c solu4ons gmbh 17 18. Built-in Change Management BusinessNew FeatureValueidentified during developmentexchangeGood EnoughReleaseReleaseTime1.01.x08.02.12 About Quality, pragma4c solu4ons gmbh 18 19. 3 4mes as Eec4ve Do the Right Thing! Do the Thing Right! Idea Idea Product Idea Development Idea Eec4veness 3xEciency 08.02.12 About Quality, pragma4c solu4ons gmbh 19 20. agility accelerates ... DO THE THING RIGHT 08.02.12 About Quality, pragma4c solu4ons gmbh 20 21. definite economic impact of software testing. One economic impact is from thefects. This is a very real and very tangible cost.conomic impact is from the way we perform testing. It is possible to have very Do the Thing Right! vations and testing goals while testing in a very inefficient way.tion, we will examine the economic impact of defects and ways to economizeThe Economics of Testing Where Defects Originate What it costs to x them The Relative Cost of Fixing Where Defects Originate Where Defects OriginateDefects1:10:100 Code Code O ther Design O ther Design7%7%10% 10% 10027% 27% 100909080807070606050504040303020201010 Reqs Reqs 0 James Mar4n Study 56%0 Reqs DesignCode TestProd56%Reqs DesignCode TestProd The Relative Cost of Fixing DefectsDefects Originate 08.02.12 About Quality, One of the most well known facts about software defects is that the longer 21 go pragma4c solu4ons gmbh they undetected, the more expensive they are to fix. Although research differs on the exacttand the dynamics and costs of defects, we need to know some things about rule is 1:10:100. ratios, the general of the most commonly understood facts about defects is that most defects 22. How would you handle the problem? ?08.02.12 About Quality, pragma4c solu4ons gmbh 22 23. From Specica4on to Discussion As an User Story Template employee I want to log my working /me so that I always keep track of my daily working /me 08.02.12 About Quality, pragma4c solu4ons gmbh 23 24. Speak the same language An Ubiquitous Language is needed to bridge the communica4on gap Use Domain Modeling to describe the Business Domain Timetracking Domain Model 08.02.12 About Quality, pragma4c solu4ons gmbh 24 25. Introducing Acceptance Criterias Priority As a [role] I can [goal] so that [reason] EsImaIon 10 Employee log my working 4me I always keep track of 2 my daily working 4me Narrow down the scope of the Story using Acceptance Criterias At least a How-to-demo-Workow Add them to the Product Backlog Example 1. Fill in star4ng-, lunch & end 4me in natural hours & minutes 2. Decimal working hours will be displayed & saved 3. Displayed working hours must be present in the DB 08.02.12 About Quality, pragma4c solu4ons gmbh 25 26. Introducing Specica4on by Example Priority As a [role] I can [goal] so that [reason] EsImaIon 10 Employee log my working 4me I always keep track of 2 my daily working 4me Business Rules Morn Lunch Lunch Eve Time Given work 4me is > 9h In out In Out Then break = 1 hour 9:00 12:00 13:00 17:05 7.08 8:00 12:00 13:00 17:00 8.00 Given work 4me is > 7h Then break = 30 min 8:00 - - 17:01 8.02 7:30 12:00 13:00 17:00 8.50 Given work 4me is > 5.5h ... ... ... ... ... Then break = 15 min 08.02.12 About Quality, pragma4c solu4ons gmbh 26 27. Build Executable Documenta4on Scenario: Log 4me In terms of the Given my 4me of ubiquituouslanguage And the 4me I go for And the 4me I return from And the 4me I leave in the When I entered my 4me Then the decimal 4me is calculated Examples: |arrival | lunch-out | lunch-in |evening|total! |09:00 | 12:00 | 13:00|17:05|7.08! |08:00 | 12:00 | 13:00|18:00|9.00! |08:00 | - | -|17:01|8.02! |07:30 | 12:00 | 13:00|17:00|8.50! ! ! 08.02.12 About Quality, pragma4c solu4ons gmbh 27 28. Speciying Behaviour Given Put the system in a known state WhenDescribe the key user ac4on ThenObserves the output And / ButShortcut for mul4ple Given, When, Thens 08.02.12 About Quality, pragma4c solu4ons gmbh 28 29. Soda Machine Behaviour Feature: Thirst Quentsching As a thirsty guy I want to pull a sop drink from the machine to quench my thirst Scenario: Successful Buy Given a lled compartment When I select the desired drink And I provide the right amount of money Then the drink falls down in the tray Scenario: Empty Compartment Given an empty compartment When I select the drink Then the message Empty! is displayed Scenario: Few Money Given a selected drink And I provided too few money And the outstanding amount is displayed When I press cancel Then the already inserted money will be released into the coin compartement 08.02.12 About Quality, pragma4c solu4ons gmbh 29 30. Automate the Behaviour Scenario: Successful Buy Given a lled compartment @Given(^a lled compartment$) public void given() { machine = new Machine().withCompartment(1, Can) .withDrink(Coke).withPrice(2); } @When(^I select the desired drink$) When I select the desired drink public void when() { And I provide the right amount of money m.selectCompartment(1); } @And(^I provide the right amount of money$) public void when() { m.putMoney(2); } @Then(^the drink falls down in the tray$) Then the drink falls down in the tray public void then() { assertFalse(m.getOuputTray().isEmpty()); assertEquals(Coke, m.getOutputTray() .getDrink().getName(); } 08.02.12 About Quality, pragma4c solu4ons gmbh 30 31. Inner- & Outer Quality Inner Quality is insidethe system08.02.12 About Quality, pragma4c solu4ons gmbh 31 32. TDD improves inner quality Write a failing testMake it compile Make it work in production codeREDGREEN REFACTOR No productionMake it nice code without a eliminate duplication test increase expressiveness08.02.12 About Quality, pragma4c solu4ons gmbh 32 33. TDD is not an op4on Built in Bever Design Regression REDGREEN REFACTOR Faster Fewer Bugs Development 08.02.12 About Quality, pragma4c solu4ons gmbh 33 34. What is Pair Programming? Navigator Driver08.02.12 About Quality, pragma4c solu4ons gmbh 34 35. Pair Programming Faster, but Bever Code more Eort & Design Knowledge Half of Bugs spread 08.02.12 About Quality, pragma4c solu4ons gmbh 35 36. Double pack! REDGREENREFACTOR08.02.12 About Quality, pragma4c solu4ons gmbh 36 37. Address Outer and Inner Quality in your Development Process FailingAcceptanceCode Test Implement Test AcceptanceRefactorIdentify test(s)Acceptance Criterias Select a UserCode Story BehaviourTest Driven Driven Development Development Test RefactorCustomer Acceptance CodeRefact