Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.

Similar presentations


Presentation on theme: "Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta."— Presentation transcript:

1 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta

2 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Project management Software is not a skyscraper! The waterfall development model originates in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible.

3 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova The Agile Manifesto Process and tools Individuals and interactions over Following a plan Responding to change over Comprehensive documentation Working software over Contract negotiation Customer collaboration over Source: www.agilemanifesto.org

4 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova SCRUM A scrum is a way to restart the game after an interruption, where the forwards of each side come together in a tight formation and struggle to gain possession of the ball when it is tossed in among them

5 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Values

6 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Scrum (and XP) framework Product owner ScrumMaster Team Roles Sprint planning Sprint review Sprint retrospective Daily scrum meeting Ceremonies Product backlog Sprint backlog Burndown charts Artifacts Pair Programming Refactoring Test Driven Development Continuous integration … Practices XP

7 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova SPRINT Scrum projects make progress in a series of “sprints” Typical duration is 2–4 weeks A constant duration leads to a better rhythm Product is designed, coded, and tested during the sprint Sprint

8 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Define the features of the product Decide on release date and content Prioritize features Adjust features and priority every iteration Accept or reject work results Responsible for enacting Scrum values and practices Removes impediments Ensure that the team is fully functional and productive Enable close cooperation across all roles and functions Scrum Master Typically 5-9 people Cross-functional: programmers, testers, user experience designers, etc. Members should be full-time Teams are self-organizing (no titles) SPRINT Roles Product owner Team

9 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova The requirements A list of all desired work on the project Ideally expressed such that each item has value to the users of the product Prioritized by the product owner SPRINT The team takes the Product Backlog and decides what tasks are necessary Team self-organizes Manager doesn’t assign tasks to individuals Managers don’t make decisions for the team Burndown chart Artifacts Depicts the total hours remaining per day Shows the estimated amount of time to release Ideally should burn down to zero to the end of the Sprint Actually is not a straight line Can bump UP

10 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova SPRINT Sprint planning meeting Sprint prioritization Analyze and evaluate product backlog Select stories to be done Sprint planning Create sprint backlog (tasks) from product backlog items (user stories / features) Each task is estimated (1-16 hours) Estimate sprint backlog in hours Sprint backlog Sprint backlog Business conditions Team capacity Product backlog Technology Current product Sprint Planning Meeting Daily, 15-minutes, Stand-up Whole world is invited, but only team members, Scrum Master and product owner can talk Everyone answers 3 questions: What did you do yesterday? What will you do today? Is anything in your way? Team presents what it accomplished during the sprint Typically takes the form of a demo of new features Informal, 2-hour, no slides Whole team participates Invite the world Sprint Review Meeting Daily Scrum Meeting Periodically take a look at what is and is not working Typically 15–30 minutes Done after every sprint Whole team participates Sprint retrospective CeremoniesCeremonies

11 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova The whole picture Scrum Master Product owner Team Burndown chart Sprint retrospective Sprint Review Meeting Sprint Planning Meeting

12 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Product backlog Backlog itemEstimate Allow a guest to make a reservation3 As a guest, I want to cancel a reservation.5 As a guest, I want to change the dates of a reservation. 3 As a hotel employee, I can run RevPAR reports (revenue-per-available-room) 8 Improve exception handling8...30...50

13 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Sprint backlog Tasks Code the user interface Code the middle tier Test the middle tier Write online help Write the foo class Mon 8 16 8 12 8 Tues 4 12 16 8 Wed Thur 4 11 8 4 Fri 8 8 Add error logging 8 10 16 8 8

14 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Tasks Code the user interface Code the middle tier Test the middle tier Write online help Mon 8 16 8 12 Tues Wed Thur Fri 4 12 16 7 11 8 10 168 Hours 40 30 20 10 0 MonTueWedThuFri 50 Burndown chart

15 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Pair Programming  In XP, programmers work in pairs, sitting together to develop code  This helps develop common ownership of code and spreads knowledge across the team  It serves as an informal review process as each line of code is looked at by more than 1 person  It encourages refactoring as the whole team can benefit from this  Measurements suggest that development productivity with pair programming is similar to that of two people working independently

16 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Test driven development  User involvement in test development and validation  Automated test harnesses are used to run all component tests each time that a new release is built  Writing tests before code clarifies the requirements to be implemented  Tests are written as programs rather than data so that they can be executed automatically. The test includes a check that it has executed correctly  All previous and new tests are automatically run when new functionality is added. Thus checking that the new functionality has not introduced errors

17 Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova Refactoring  The process of code improvement where code is reorganised and rewritten to make it more efficient, easier to understand, etc.  Refactoring is required because frequent releases mean that code is developed incrementally and therefore tends to become messy  Refactoring should not change the functionality of the system  Automated testing simplifies refactoring as you can see if the changed code still runs the tests successfully


Download ppt "Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta."

Similar presentations


Ads by Google