Slide 1

Slide 1 text

IT Solutions with Software Engineering in Practice Agile with Scrum Course at TU Darmstadt Alexander Schwartz, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 1 msg systems ag, 10 June 2013

Slide 2

Slide 2 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 2 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 3

Slide 3 text

3 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013 Alexander Schwartz • Studied management science (Betriebswirtschaftslehre) at Philipps-Universität Marburg (DE) and University of Kent (UK) • 10 years of experience in IT for the finance industry • Certified Scrum Master since 2010 • Today: Lead IT Consultant at msg systems ag • Office in Eschborn • Focus on Java and web technology • Interests: agile project management, open source, automated tests • Responsibilities: architecture, technology scouting • 37 years old, married, 2 kids • Hobbies: Family, Geocaching Private

Slide 4

Slide 4 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 4 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 5

Slide 5 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 5 Why you might want to be agile if you used Waterfall Model: • Scope changes often – too much time spent on re-planning • Deploy early in order to generate revenue with new features • Not enough people involved in planning / only one Project Manager does all planning • Late Feedback on how the system will look and behave • Lack of transparency for - costs - time - progress • Motivate developers & business • Recruit talents • Make developer feel responsible for their product Agile Idea Experiences with Classic Project Management

Slide 6

Slide 6 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 6 Why you might want to be agile if you didn’t use proper Project Management: • Projects are late and expensive, and you don’t know why • Looking for a method that is easy to implement • People complain that they don’t have enough information what is going on (both managers and developers) • Release dates are moved / scope varies • Customers of your company don’t know when to expect new features Agile Idea Experiences with Classic Project Management

Slide 7

Slide 7 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 7 • No processes • No documentation • Always works • Easy to implement • You need software tools can make it work • No Plan • It’s not better than classic PM / waterfall Agile Idea Agile Myths

Slide 8

Slide 8 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 8 Agile Idea Agile Manifest More important Less important individuals and interactions processes and tools working software comprehensive documentation customer collaboration contract negotiation responding to change following a plan http://agilemanifesto.org/

Slide 9

Slide 9 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 9 Gained momentum from 2002 with certification available from Scrum Alliance Key concepts • small team (5-7 people) • development of a software product • well-defined roles • aligned (small) set of key practices • built around the iteration cycle Agile Idea Scrum http://www.scrumalliance.org/resources/2505 red: Cumulated number of certified scrum masters blue: New scrum master certifications in a year

Slide 10

Slide 10 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 10 Agile Idea Scrum Evolution http://www.jeffsutherland.org/oopsla/oo95summary.html http://www.techwell.com/2012/10/brief-history-scrum

Slide 11

Slide 11 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 11 started around 1997, first book 1999 4 Values Communication, Simplicity, Feedback, and Courage 12 Practices Pair Programming, Collective Code Ownership, Continuous Integration, Automated Tests, Whole Team, Refactoring, Sustainable Pace, Short Iterations, System Metaphor, Coding Standards, Simple Design, Planning Game Agile Idea Extreme Programming http://en.wikipedia.org/wiki/Extreme_programming http://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System http://www.martinfowler.com/bliki/C3.html

Slide 12

Slide 12 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 12 Based ideas of “Lean” of Toyota Production System (1970s) Applied in 2003 to Software Development Formalized in Kanban Software Development after 2007 Key concepts • Continuous Flow • Minimize Work in Progress • Pull principle • Stop the line • Kaizen Agile Idea Kanban Software Development http://www.infoq.com/articles/hiranabe-lean-agile-kanban http://en.wikipedia.org/wiki/Muda_%28Japanese_term%29 http://en.wikipedia.org/wiki/Toyota_Production_System http://en.wikipedia.org/wiki/Kanban http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html

Slide 13

Slide 13 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 13 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 14

Slide 14 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 14 Product Owner: • Knows the requirements • Responsibility, that needed functionality is delivered at the right time Scrum Team: • Creates the final product (includes developers, testers, database administrators, etc.) Scrum Master: • Ensures that the working methods run smoothly • Ensures that the methods are followed • Tackles obstacles that arise outside the team Scrum Overview Roles in Scrum Projects

Slide 15

Slide 15 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 15 Scrum Overview Process in Scrum Projects Taken from: DasScrumTeam www.dasscrumteam.de

Slide 16

Slide 16 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 16 • Has a vision about how the final product should look like • Secures the budget • Slices the vision down smaller packages (user stories or epics) • Knows when she/he needs it • Can explain the requirements • Can prioritize requirements • Maximizes return on investment Scrum Overview Product Owner

Slide 17

Slide 17 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 17 • Done by the team together with Product Owner • All known user stories / epics of the software are estimated • Items that will be developed in the next few iterations will be broken down to smaller bits to fit an iteration Scrum Overview Release Planning

Slide 18

Slide 18 text

Scrum Overview What is Planning Poker? Steps of Planning Poker Estimation of effort: Planning Poker msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 18 • Estimation by all implementing team members (comparable to Delphi Method) • Evaluation is done in story points • Each participant has a set of cards • Moderated by Scrum Master • For each user story to be estimated: • Product Owner presents user story • Team asks Product Owner questions about it until it feels confident to estimate the user story • Each team member estimates the task and puts a card upside down on the desk • All cards are turned to show the estimations at the same time • Highest and lowest estimation are discussed in the group • Estimation is repeated up to two times or when the estimations match • The meeting lasts for maximum of one hour

Slide 19

Slide 19 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 19 • Product Owner orders the user stories and epics by their importance / return on investment • Identification of possible release milestones Scrum Overview Product Backlog

Slide 20

Slide 20 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 20 • Product owner and team meet at the beginning of the sprint • Team selects as many items from the top of the backlog as they think they can finish within the sprint • Team gives commitment to deliver at the end of the sprint Scrum Overview Planning 1

Slide 21

Slide 21 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 21 • Team divides user stories to tasks (bites that one person can chew in one day) • Developers pick their first tasks on the task board Scrum Overview Planning 2

Slide 22

Slide 22 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 22 • 15 minutes for the whole team • Three Questions answered by each team member: What you have done during the last day? What you plan to do today? What is your current obstacle? • Move the tasks together on the board Scrum Overview Daily Meeting / Daily Stand-up

Slide 23

Slide 23 text

msg systems ag, 13 May 2013 Alexander Schwartz, IT Solutions / Client Technologies 23 Sprint Backlog New Development Test Done Scrum Overview Scrum Task Board (sample)

Slide 24

Slide 24 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 24 • Product increment finished at the end sprint • At least the most important ones are now complete • Delivered as fully working product • Review together with the product owner and maybe other stake holders • Possible product release Scrum Overview Review & Product Increment

Slide 25

Slide 25 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 25 • Product changes are added to the product backlog Scrum Overview Product Changes

Slide 26

Slide 26 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 26 • Reflection as a team to find out things that worked well and that need adaption • Result: prioritized Impediment Backlog • Scrum Master will handle Impediments outside the team, impediments inside the team are handled by the team Scrum Overview Retrospective und Impediment Backlog

Slide 27

Slide 27 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 27 Scrum Overview Process in Scrum Projects Taken from: DasScrumTeam www.dasscrumteam.de

Slide 28

Slide 28 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 28 • No processes – BUSTED! • No documentation – FIRST DOUBTS! • Always works • Easy to implement • You need software tools can make it work – BUSTED! • No Plan – BUSTED! • It’s not better than classic PM / waterfall Scrum Overview Agile Myths – revisited I

Slide 29

Slide 29 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 29 Scrum Overview Invitation to an unique Scrum experience Experience all of Scrum in just one day • Participate in a hands on training • Pick up a the necessary Scrum fundamentals on the go • Build a Lego town and use Scrum to do it as a team Next trainings • July 6th 2013 @ msg systems ag, Ismaning/Munich • September 19th 2013 @ Informatik 2013, Koblenz/Landau • November 23rd 2013 @ msg systems ag, Ismaning/Munich Registration http://www.msg-systems.com/scrum

Slide 30

Slide 30 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 30 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 31

Slide 31 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 31 Where it starts: Business department has an idea Sample: „You should be able to change the address over there “ Documented as User Story: „A logged in user should be able to change the address of the customer. This way statements, letters and cards will be sent to the new address.“ (roles, functionality and motivation are now clear) INVEST / independent, negotiable, valuable, estimateable, specific, testable Adding a Product Feature New requirements: An Idea

Slide 32

Slide 32 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 32 • Is it a legal requirement? • How much effort (Project/Change Request)? • What is the business value? • Ordering of projects and change requests on department and company level • If there no result can be negotiated, automatic ordering is the last resort Amount of documentation: one line in an Excel table Adding a Product Feature Priorities of requirements

Slide 33

Slide 33 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 33 • We will need to implement a new use case • Analysing together with business department what needs to be changed • Challenge: contradicting requirements, negotiation between departments, not all consequences have been considered by department • Developers need a first summary to know what to develop • Department may be difficult to contact during development  Work of a business analyst (Product Owner?) Adding a Product Feature Detailing Requirements

Slide 34

Slide 34 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 34 The following documents have proven helpful in the past: • Use Case Documentation • Mock-up Screens • Activity Diagram (when there is more than one screen) Pro: • Documents will be understood by business and developers Contra: • Costs? Adding a Product Feature Detailing Requirements

Slide 35

Slide 35 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 35 • A first estimate might have been done by a senior developer, but not by the team • User Stories might be split in smaller parts to make better estimates and controlled development • Differentiation between stories with and without specification Required Documents: User Stories More information: asking Product Owner other those who helped writing the Mock-ups and Use Case Result: Effort Points per User Story, Acceptance Criteria Adding a Product Feature Estimation with Planning Poker

Slide 36

Slide 36 text

Adding a Product Feature Definition of Ready • Quality gate before actual development starts • Defined during the first iterations by the team • Ensure that enough information is available to be able to complete the story in one sprint msg systems ag, 10 June 2013 36 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 37

Slide 37 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 37 • Vision for the next Sprint (2 weeks) • Presentation by PO of prioritized Back Log • Team selects the stories that can be implemented in the Sprint (taking into consideration skills) • Commitment of the team to deliver these Stories according to the „Definition of Done“ Documents: prioritized and estimated User Stories Result: Selected Product Backlog Adding a Product Feature Sprint Planning I

Slide 38

Slide 38 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 38 • Dividing a Story into Tasks (max. one developer day) Documents: User Stories in Selected Product Backlog Result: Tasks Adding a Product Feature Sprint Planning II

Slide 39

Slide 39 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 39 • 15 minutes meeting • What you have been working on, what is ready, problems, next steps Documents: User Stories in Selected Product Backlog, Tasks Result: Sprint Burn Down Chart, Impediments Adding a Product Feature Daily Meeting / Daily Stand-up

Slide 40

Slide 40 text

Adding a Product Feature msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 40 http://en.wikipedia.org/wiki/Burn_down_chart

Slide 41

Slide 41 text

Adding a Product Feature Work in the Team • Implementing the Frontend • Implementing Web Services • Database Schema Changes • Unit Tests (Junit, DBUnit, etc.) • Frontend Tests (Selenium, Jasmine, etc.) • Co-ordination with business / business analyst • Module User Acceptance Test • Test Engineer  Ideally cross-functional team // no external dependencies to get the work completed Documents: User Stories in Selected Product Backlog, Tasks, Mockups, Use Cases, Activity Diagram, Acceptance Criteria Result: Application, Developer Documentation msg systems ag, 10 June 2013 41 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 42

Slide 42 text

Adding a Product Feature Definition of Done • Specified by business with help of business analyst (checked by team member) • Analyzed by developer (checked by second team member) • Developed, automated test, documented and committed by developer (reviewed and test by second team member) • Automated deployment to test environment • Module user acceptance test (approval by business) (second quality gate, see definition of ready for first quality gate) Documents: User Stories in Selected Product Backlog, Tasks, Mockups, Use Cases, Activity Diagram, Acceptance Criteria Result: Application, Developer Documentation msg systems ag, 10 June 2013 42 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 43

Slide 43 text

Adding a Product Feature Sprint Review • Implemented Stories presented to Product Owner and Stakeholders Documents: User Stories in Selected Product Backlog, Mock-ups, Use Cases, Activity Diagram, Acceptance Criteria msg systems ag, 10 June 2013 43 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 44

Slide 44 text

Adding a Product Feature Sprint Retrospective • Team reviews development process and discusses and decides about changes Documents: (Impediment Backlog) msg systems ag, 10 June 2013 44 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 45

Slide 45 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 45 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 46

Slide 46 text

Handling a Change Request Some asks for a change • Someone asks for added functionality: that change of an address should done with a date in the future • This is someone else who is not the orderer of the original feature Documents: Use Case, Mock-up Screen, Activity Diagram msg systems ag, 10 June 2013 46 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 47

Slide 47 text

Handling a Change Request Same process… … documentation is being updated, kept up to date msg systems ag, 10 June 2013 47 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 48

Slide 48 text

Handling a Change Request Other Documents you might need • „Getting Started“ und „Development Cycle“ for new developers • JavaDoc – assured i.e. via CheckStyle  How much JavaDoc do you need? • Documentation of single technical components • Archecture Documentation (arc42 as a template) • Product presentation (Produkt Karton) • Checklists Code Review • Role and Permission concept of the application  Can you do with less?  Write down only what others will read! msg systems ag, 10 June 2013 48 Alexander Schwartz, SE in Practice / Agile with Scrum

Slide 49

Slide 49 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 49 • No processes – BUSTED! • No documentation – BUSTED! • Always works – BUSTED! • Easy to implement – BUSTED! • You need software tools can make it work – BUSTED! • No Plan – BUSTED! • It’s not better than classic PM / waterfall Handling a Change Request Agile Myths – revisited II

Slide 50

Slide 50 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 50 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 51

Slide 51 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 51 Why you might want to be agile if you used Waterfall Model: • Scope changes often – too much time spent on re-planning • Deploy early in order to generate revenue with new features • Not enough people involved in planning / only one Project Manager does all planning • Late Feedback on how the system will look and behave • Lack of transparency for - costs - time - progress • Motivate developers & business • Recruit talents • Make developer feel responsible for their product Is Agile better than classic project mangement? Experiences with Classic Project Management

Slide 52

Slide 52 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 52 Why you might want to be agile if you didn’t use proper Project Management: • Projects are late and expensive, and you don’t know why • Looking for a method that is easy to implement • People complain that they don’t have enough information what is going on (both managers and developers) • Release dates are moved / scope varies • Customers of your company don’t know when to expect new features Is Agile better than classic project mangement? Experiences with Classic Project Management

Slide 53

Slide 53 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 53 • No access to product owner or similar person • No single sponsor • Missing cross-functional and skilled team • Technology doesn’t support continuous integration and automated tests • Team members not full time on the project • Transparency and inspect & adopt are not compatible with organisation’s culture • You’re not allowed to fail • Not enough urgency / complexity / novelty • Large scope, very few releases • Large teams, multiple geographies, different time zones • High Visibility already in early phases of the project Is Agile better than classic project mangement? Obstacles for agile teams

Slide 54

Slide 54 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 54 • CHAOS Report 2012: “agile projects succeed three times more often than non-agile projects” (are the non-agile projects doing any project management at all?) • oose PM study: 40% of classic PM projects are successful 65% of agile PM projects are successful (this gives more details what techniques support successful projects) Is Agile better than classic project mangement? Agile projects have a better chance to succeed http://www.oose.de/nuetzliches/fachliches/pm-studie/ http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-more-often-than-waterfall http://www.guerrillaprojectmanagement.com/the-chaos-report-myth-busters http://davidfrico.com/rico-apm-roi.pdf

Slide 55

Slide 55 text

AGENDA 1. Agile Idea 2. Scrum: Roles and Overview 3. Scrum: Adding a Product Feature 4. Scrum: Handling a Change Request 5. Is Agile better than Classic Project Management? 6. Q&A 55 Alexander Schwartz, SE in Practice / Agile with Scrum msg systems ag, 10 June 2013

Slide 56

Slide 56 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 56 Reading List Resources (not only) on Scrum: The Scrum Guide Ken Schwaber, Jeff Sutherland (2011) http://www.scrum.org/Scrum-Guides Scrum – Agiles Projektmanagement erfolgreich einsetzen Roman Pichler (2007) Product Owner Manual Scrumsense (2010) http://www.scrumsense.com/resources/product-owner-manual/ Do Better Scrum Peter Hundermark (2009) http://www.scrumsense.com/resources/do-better-scrum/ Gezielte Wahl / Agil oder klassisch – Hinweise zur Methodenwahl Judith Andresen (iX 3/2013, pp. 50-55) Agile Retrospectives – Making Good Teams Great Esther Derby, Diana Larsen (2006) Early Books on Agile Software Development: Extreme Programming Explained: Embrace Change Kent Beck (1999) Agile Software Development Alistair Cockburn (2002) Extreme Programming Refactored: The Case Against XP Matt Stephens, Dough Rosenberg (2003)

Slide 57

Slide 57 text

msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 57 Agile with Scrum Answers Questions

Slide 58

Slide 58 text

www.msg-systems.com Thank you for your attention msg systems ag, 10 June 2013 Alexander Schwartz, SE in Practice / Agile with Scrum 58 msg systems ag Alexander Schwartz Mobile: +49 171 5625767 E-Mail: [email protected] Mergenthalerallee 73-75 65760 Eschborn www.msg-systems.com