Seminar SESAM, Stockholm, 2010-11-11 Jimmy Janlén jimmy.janlen@sogeti.se Scrum, Agile and Lean Software Development http://jimmyjanlen.wordpress.com Emerging requirements and Agile testing in Scrum
What does it mean to be Agile?
Agile is Short Iterations Incremental Delivery Working & Valuable Software 3w Deliver Business Value Early and Frequently Small tight teams I m free to choose! Welcoming change Managing change Close and continuous Customer collaboration Continuous Learning Self-adapting process
Scrum: Iterative Incremental Illustration from Kanban and Scrum Making the most of both Henrik Kniberg 2010
The emerging Requirement
The Complexity Space or Dealing with Chaos Far from agreement Requirements Even if if your product Anarchy is is complex Complicated Complex try to to keep each iteration simple If If in in the the anarchy space the the requirements (or (or technology) needs to to be be better understood. Scrum won t solve it it Close to agreement Simple Close to certainty Technology Far from certainty You want to be in the Simple space when starting a Sprint!
From idea to feature A A a a registered registered user, user, I I want want to to log log in, in, so so that that I I can can access access subscriber subscriber content. content. Upcoming Sprint Login Login functionality functionality for for personalization personalization (of (of subscription, subscription, content content and and payment payment history) history) Fuzzy description Vague guesstimate Covers many smaller functions
From idea to feature A A a a registered registered user, user, I I want want to to log log in, in, so so that that I I can can access access subscriber subscriber content. content. Login Login functionality functionality for for personalization personalization (of (of subscription, subscription, content content and and payment payment history) history) Fuzzy description Vague guesstimate Covers many smaller functions Detailed description of a well defined and well delimited small feature Accurate estimation
Ingredients for realization of a requirement Product Backlog Definition of DONE Working Agreement DONE means Designed Coded Versioned Tested Documented Deployable Approved Working Agreement Signatures: Hans Hansson Anna Karlsson Xxxx Yyyy Aaaa Aaaaa Describes Process Roles Meetings Test and Quality Strategy Defect Management Principles and Values Deployment and delivery routines Continuous Collaboration and Communication Planning, design and requirement collaboration sessions: Prototyping Backlog Grooming Sprint Planning User Story Workshops (includes acceptance criteria) Design Meetings Sprint Demos Pair Programming Etc
Agile Testing
What is Agile testing? The job of tests, and the people that develop and run tests, is to prevent defects, not to find them - Mary Poppendieck
Agile Test approach An agile test approach Adheres to the principles of Agile & Lean Embraces changes late in development Handles testing and development at the same time Works towards potential release every N th week (that is tested and done) Incorporates and utilizes a cross-functional team Introduces demands on test environment and support processes Works with a test base that evolves with knowledge
Agile test quadrants Business facing Automated & Manual Manual Supporting the team Functional Tests Story Tests, A-TDD Prototypes Simulations Examples & Guides TDD & Unit Tests Component Test Integration Tests Exploratory Testing Scenarios Usability Testing User Acceptance Testing Alpha/Beta Performance, Load, Security testing ility -testing Critique product Automated Technology facing Automated & Tools
An agile test approach (Example) For every feature (within every sprint): Product Owner (and if possible the customer) involved in design and prototyping Developed using TDD and ATDD Pair Programming (and/or Code Review) Usability Testing Integration Testing (Continuous Integration and Automated integration tests) For every sprint: Exploratory Testing User Acceptance Testing Performance testing Complete Regression Testing Customer Acceptance Testing Sprint 6 Sprint 7 Sprint 8 Sprint 8
An agile test approach (Example) For every feature (within every sprint): Product Owner (and if possible the customer) involved in design and prototyping Developed using TDD and ATDD Pair Programming (and/or Code Review) Usability Testing Integration Testing (Continuous Integration and Automated integration tests) For every sprint: Exploratory Testing User Acceptance Testing For every release: Performance testing Complete Regression Testing Customer Acceptance Testing Sprint 6 Sprint 7 Sprint 8 Stabilization & Deploy
Vertical Development Iterative = Don t expect to get it right the first time Incremental = Build in vertical slides (features) rather than horizontal (layers) UI Server DB
Vertical Development Iterative = Don t expect to get it right the first time Incremental = Build in vertical slides (features) rather than horizontal (layers) Prioritizable & Testable Maybe not needed UI Server DB Story Story Story Story Finishable within one Sprint
The Team & the Individual
Personality and relations Agile development introduces demands on peoples personality! Requires Pro-active mentality Nothing is served on a silver plate Requires more collaboration and communication skills Hidden conflicts surface, new conflicts arise Everyone have to unlearn and relearn Staff turn-over I I just just work here We have always done it it like like this
Cross-Functional, Self-Organizing, Empowered Teams Analysis Design Implementation Test Deploy Pre-study (Sprint 0) Sprint 1 Sprint 2 Sprint 3 Sprint 4 Product Owner Programmers Management/Organization Scrum Master Testers UI Design End user Domain Experts
About
http://jimmyjanlen.wordpress.com
Literature
Literature (more)
Sogetis Agila tjänster Agila metoder och Scrum coachning och införande Agila metoder och Scrum är kraftfulla sätt att med fokus på affärsnytta höja kvalitet och snabbare svara på marknadens krav och verksamhetens behov. Sogeti har den expertis, erfarenhet och de verktyg som behövs för att effektivt införa och använda agila metoder och Scrum. Läs mer om vårt tjänsteblad: www.sogeti.se/agile Agil testning bygg kvalitativa system från första början Fler företag upptäcker att agila metoder och Scrum är kraftfulla sätt att med fokus på affärs- och verksamhetsnytta höja kvalitet och svara snabbare på marknadens krav och verksamhetens behov. Men det agila tankesättet ställer nya krav på testprocessen som till exempel att kunna hantera förändringar sent i utvecklingsfasen och leverera fungerande mjukvara i korta iterationer. Läs mer om vårt tjänstblad om agil testning: www.sogeti.se/agiltestning Seminarier inom Agile, Lean och Scrum Ge dig, dina kollegor och era kunder ett försprång och lär er mer om de nya moderna verktygen för mjukvaruutveckling där kostnad, tid och kvalitet står i fokus! Sogeti Sverige har erfarenhet av agila metoder och Scrum sedan år 1999. Vi har praktisk erfarenhet av Scrum i både små och stora mjukvaruutvecklingsprojekt med upp till tusen deltagare i fem länder. Läs mer om vårt utbud av agila seminarier: www.sogeti.se/agilaseminarier Kurs Sogeti Scrum Course (Fundamentals) Sogetis Scrum-kurs riktar sig till medlemmar av ett agilt team (testare och utvecklare), Scrum Masters och Produktägare. Utbildningen pågår under två heldagar eller under fyra kvällspass. Deltagarna är indelade i grupper som får utföra både individuella övningar och gruppövningar. Kursen täcker in allt som Scrum Alliances Certified Scrum Master -kurs tar upp plus mycket mera. Praktiskt orienterad och mycket interaktiv. Läs mer om kursen: http://www.sogeti.se/scrumcourse Kurs - Ledarutbildning i Scrum och Agil utveckling Sogetis ledarutbildning i Scrum och Agil utveckling riktar sig till dig som jobbar mot ett agilt it-projekt som levererar och utvecklar enligt Scrum. Som beställare, mottagare, kravställare eller styrgrupps-medlem får du genom denna kurs kunskapen och verktygen att maximera ditt projekts möjlighet till framgång. Här får du bekanta dig med och förstå Scrum som leveransmodell samt hur du på ett effektivt sätt kommunicerar med Scrum-projektet och maximera levererat värde. Läs mer om kursen: http://www.sogeti.se/sv/vara-tjanster/hogaktuella-tjanster/agila-metoder-och- Scrum/Seminarier-inom-Agile-Lean-och-Scrum/Ledarutbildning-i-Scrum-och-Agil-utveckling/
About About Sogeti Sverige AB Sogeti Sverige AB is a consultancy specializing in local professional IT services. Geographically located close to the local technical decisionmakers of large companies, we are present at 21 Swedish locations with a total of about 1,000 employees. Globally we are 20,000 employees in fourteen countries. We offer our clients a full range of technological IT knowledge and expertise. Sogeti Sverige AB is a part of the Sogeti Group, owned by Cap Gemini S.A., listed on the Paris Stock Exchange. For more information, please visit www.sogeti.se. Local touch Global reach Jimmy Janlén Jimmy Janlén is an IT-consultant and a team manager at Sogeti Sweden. He has many years of experience in Agile and Lean Software Development as a Scrum Coach and Scrum Master. Jimmy is responsible for Sogeti s Agile competence network in Sweden. He often holds seminars and courses on Scrum and Agile methods. Email: jimmy.janlen@sogeti.se
Tack!
Jimmy Janlén jimmy.janlen@sogeti.se Scrum, Agile and Lean Software Development http://jimmyjanlen.wordpress.com