Quality & Testing in Agile PV260 Software Quality 11.04.2016Page 2/35 Jan VernerQuality and testing in agile About me… Ing. Jan Verner Head of Development @janverner cz.linkedin.com/in/janverner slideshare.net/janverner 11.04.2016Page 3/35 Jan VernerQuality and testing in agile What can you expect • What is quality? • Agile development in nutshell • Project deviations • Barriers of quality improvement • Automation • Dashboards • Reviews • ISO and CMMI 11.04.2016Page 4/35 Jan VernerQuality and testing in agile What is quality? 11.04.2016Page 5/35 Jan VernerQuality and testing in agile 11.04.2016Page 6/35 Jan VernerQuality and testing in agile 11.04.2016Page 7/35 Jan VernerQuality and testing in agile What is quality? • No bugs • Fast and responsive software • Satisfied user or customer • Compliance with legislatives • Compliance with internal rules • … 11.04.2016Page 8/35 Jan VernerQuality and testing in agile What is quality? Software functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specifications. Software structural quality refers to how it meets non-functional requirements that support the delivery of the functional requirements. 11.04.2016Page 9/35 Jan VernerQuality and testing in agile What is agile development? Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/ 11.04.2016Page 10/35 Jan VernerQuality and testing in agile When should we use agile? 11.04.2016Page 11/35 Jan VernerQuality and testing in agile Agile process in detail agileforall.com 11.04.2016Page 12/35 Jan VernerQuality and testing in agile Project deviation time 11.04.2016Page 13/35 Jan VernerQuality and testing in agile Project deviation time 11.04.2016Page 14/35 Jan VernerQuality and testing in agile Project deviation time 11.04.2016Page 15/35 Jan VernerQuality and testing in agile Project deviation Fail fast Learn fast 11.04.2016Page 16/35 Jan VernerQuality and testing in agile Three key messages for agile • Communication within team is basis [email, communicator, face to face meeting, minutes of meeting] • Product owner is key role [training, will to change mindset, non-waterfall approach] • Retrospective quality is essential [focus on improvements, focus on positives] 11.04.2016Page 17/35 Jan VernerQuality and testing in agile Barriers of agile adaptation VersionOne Survey 2012 11.04.2016Page 18/35 Jan VernerQuality and testing in agile Quality-focused thinking It is about mindset of the people It is about cultural change Positive results generate positive results Start doing the quality already during interviews [early detection, ability to solve difficult situations, creativity test] You have to invest into development of the people [one to one, coaching, feedbacks] 11.04.2016Page 19/35 Jan VernerQuality and testing in agile Barriers of agile adaptation VersionOne Survey 2012 11.04.2016Page 20/35 Jan VernerQuality and testing in agile The truth is We are lazy. We will not repeat processes. We want to improve. We make errors, it is natural. We fall ill time to time. We may leave the project. 11.04.2016Page 21/35 Jan VernerQuality and testing in agile Realize human weaknesses Do you have a new idea? Does your idea work? Automate it! 11.04.2016Page 22/35 Jan VernerQuality and testing in agile Automatic tests • Can not tell you that you have not done a bug. • Save time for developers. • Save time for testers. • Specially suitable for unit tests. • Can be used to calculate test coverage. • Advances motivation of testers. • Maintenance of tests is needed. 11.04.2016Page 23/35 Jan VernerQuality and testing in agile Dashboards – SonarQube 11.04.2016Page 24/35 Jan VernerQuality and testing in agile Dashboards – Team Foundation Server 11.04.2016Page 25/35 Jan VernerQuality and testing in agile Dashboards - physical 11.04.2016Page 26/35 Jan VernerQuality and testing in agile Pair programming It is expensive! Is it expensive? 11.04.2016Page 27/35 Jan VernerQuality and testing in agile Code reviews Search for errors Share know how Train in new members faster Review architecture Make user interface review Define common coding guidelines Use dashboards statistics as input 11.04.2016Page 28/35 Jan VernerQuality and testing in agile Code reviews … software testing alone has limited effectiveness -- 25 – 45% … effectiveness of design and code inspections are 55 and 60 percent. • In a group of 11 programs developed by the same group of people, the first 5 were developed without reviews. The remaining 6 were developed with reviews. After all the programs were released to production, the first 5 had an average of 4.5 errors per 100 lines of code. The 6 that had been inspected had an average of only 0.82 errors per 100. Reviews cut the errors by over 80 percent. • The Aetna Insurance Company found 82 percent of the errors in a program by using inspections and was able to decrease its development resources by 20 percent. • A study of an organization at AT&T with more than 200 people reported a 14 percent increase in productivity and a 90 percent decrease in defects after the organization introduced reviews. link 11.04.2016Page 29/35 Jan VernerQuality and testing in agile UI reviews • It is the very same process as code review. • Can be used to improve visual side of the product. • It is good way to check that nothing is forgotten 11.04.2016Page 30/35 Jan VernerQuality and testing in agile UX testing • Talk about emotions • Measure time to complete a task 11.04.2016Page 31/35 Jan VernerQuality and testing in agile Code refactoring Improve existing code Set of techniques You should have automated tests You can use tools (e.g. ReSharper) 11.04.2016Page 32/35 Jan VernerQuality and testing in agile Code refactoring 11.04.2016Page 33/35 Jan VernerQuality and testing in agile ISO and CMMI 11.04.2016Page 34/35 Jan VernerQuality and testing in agile Feedback form surveymonkey.com/r/J3BTG6V 11.04.2016Page 35/35 Jan VernerQuality and testing in agile Contact Jan Verner Siemens Corporate Technology Intelligent Traffic Systems Olomoucká 7/9 618 00 Brno E-mail: jan.verner@siemens.com