• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ScrumGuides training: Agile Software Development With Scrum
 

ScrumGuides training: Agile Software Development With Scrum

on

  • 10,877 views

The slides from the ScrumGuides training on Agile Software Development with Scrum, day 1

The slides from the ScrumGuides training on Agile Software Development with Scrum, day 1

Statistics

Views

Total Views
10,877
Views on SlideShare
10,862
Embed Views
15

Actions

Likes
20
Downloads
834
Comments
0

2 Embeds 15

http://www.slideshare.net 12
http://www.scoop.it 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ScrumGuides training: Agile Software Development With Scrum ScrumGuides training: Agile Software Development With Scrum Presentation Transcript

    • Agile Software Development with SCRUM www.scrumguides.com 13 February 2009
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics We will be having 10-minute breaks each 60-90 minutes. Agile Software Development with 2 SCRUM ©SCRUMguides
    • About myself Alexey Krivitsky Software developer, Agile coach Certified ScrumMaster Certified Scrum Practitioner http://www.linkedin.com/in/alexeykrivitsky email: alexey@scrumguides.com skype: alexeykrv icq: 436-471-64 gsm: +380 50 358 92 12 Currently building up a training center www.scrumguides.com Agile Software Development with 3 SCRUM ©SCRUMguides
    • Our presence Ukrainian Agile community www.agileukraine.org Join our Google discussion group Ukrainian SCRUM portal www.scrum.com.ua Agile Software Development with 4 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Agile Software Development with 5 SCRUM ©SCRUMguides
    • Exercise “Continuum” Agile Software Development with 6 SCRUM ©SCRUMguides
    • Project successes/failures Have you been on a successful project? Have you been on an unsuccessful project? Agile Software Development with 8 SCRUM ©SCRUMguides
    • Agile might help you, let’s see… Understanding Agile and SCRUM Agile Software Development with 9 SCRUM ©SCRUMguides
    • The two approaches, two cultures Predictive approach Sees projects as predictive processes which results can be foreseen (predicted) with acceptable probability after reasonable planning and study efforts spent. Adaptive approach Questions predictability of projects due to their built-in complexity. It puts stress on steering based on observations. Agile Software Development with 10 SCRUM ©SCRUMguides
    • The predictive approach Release Design spec Requirements spec Order C D Actual need P P R Agile Software Development with 11 SCRUM ©SCRUMguides
    • The adaptive approach When in the project we 100% know if we on/off the track in terms of the time, scope, costs…? Vision C Actual need Agile Software Development with 12 SCRUM ©SCRUMguides
    • The two approaches to project management Predictive approach Heavy-weight; – Process-oriented; – Plan-driven; – “Waterfall”. – Adaptive approach Light-weight; – People-oriented; – Value-driven; – “Agile”. – Agile Software Development with 13 SCRUM ©SCRUMguides
    • Order and Chaos Agile Software Development with 14 SCRUM ©SCRUMguides
    • The cone of uncertainty SCRUM decreases the chaos by fixing the scope Agile Software Development with 15 SCRUM ©SCRUMguides
    • The two approaches on the time scale Which advantages/disadvantages of the approaches you see? Agile Software Development with 16 SCRUM ©SCRUMguides
    • Agile and SCRUM SCRUM – one of the Agile approaches. It is a project framework, or a set of recommendations by following which you can increase the chance of successful ending of your projects. Agile Software Development with 17 SCRUM ©SCRUMguides
    • Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 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. Agile Software Development with 18 SCRUM ©SCRUMguides
    • Principles of Agile Manifesto Please see www.agilemanifesto.org for the twelve principles Agile Software Development with 19 SCRUM ©SCRUMguides
    • Main aspects of Agile Agile Software Development with 20 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 21 SCRUM ©SCRUMguides
    • The main aspects of Agile: Team work What is a team? Agile Software Development with 22 SCRUM ©SCRUMguides
    • Team work (cont.) Exercise “an airplane factory”. Agile Software Development with 23 SCRUM ©SCRUMguides
    • Push vs. Pull systems SCRUM is a pull system Agile Software Development with 24 SCRUM ©SCRUMguides
    • Team work (cont.) What is a team? Are you in a good team? How to become a greater team? How to evaluate and motivate people’s work in a team? Agile Software Development with 25 SCRUM ©SCRUMguides
    • Is here such a thing as “team work”? Release Design spec Requirements spec Order C D Actual need P P R Agile Software Development with 26 SCRUM ©SCRUMguides
    • A SCRUM team is A cross-functional group of people (5-9 members) responsible for managing itself to develop the product. Agile Software Development with 27 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 28 SCRUM ©SCRUMguides
    • Prioritization and Traditional approaches An alternative tool to backlogs are requirement specifications. Agile Software Development with 29 SCRUM ©SCRUMguides
    • “Gimme all requirements, or ….” Agile Software Development with 30 SCRUM ©SCRUMguides
    • As a result … As a result all requirements are the “top priority”. Which is basically the same as not having the priorities at all. Agile Software Development with 31 SCRUM ©SCRUMguides
    • And as a result … Agile Software Development with 32 SCRUM ©SCRUMguides
    • What does it mean to us? As a consequence: we can cut costs and duration of our projects in 2/3! Does it mean we (the teams) will earn less money? Agile Software Development with 33 SCRUM ©SCRUMguides
    • What about your projects? Think about your current (recent) projects. List 5-10 features that could have been avoided or simplified by keeping the product as good as it was. What would be your % of rarely/never used features? Agile Software Development with 34 SCRUM ©SCRUMguides
    • Prioritize (cont.) YAGNI - “You ain’t gonna need it”. A strategy of postponing decisions until the last possible moment. Product backlog Just-in-time requirements management tool. Agile Software Development with 36 SCRUM ©SCRUMguides
    • The “menu” (Agile) approach Product backlog is the project’s menu. “Servants” help to make better decisions. Agile Software Development with 37 SCRUM ©SCRUMguides
    • What saves our projects? “The features that we manage to de-scope are the savers of our projects” © Kent Beck Agile Software Development with 38 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM till 16:00 Coffee break 16:00 – 16:30 SCRUM simulation 16:30 – 17:30 Extra SCRUM topics 17:30 – 18:00 Agile Software Development with 39 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 40 SCRUM ©SCRUMguides
    • The main aspects of Agile: Short Cycles The shorter the cycle the more efficient the process We have more time to “play” with the product that 1. we are developing; The sooner we can catch a defect the easier it is to 2. fix it; The shorter the cycle (the smaller a batch of work) 3. the less need we have in creating intermediate artifacts. Agile Software Development with 41 SCRUM ©SCRUMguides
    • The “Flip Coins project Agile Software Development with 42 SCRUM ©SCRUMguides
    • Short Cycles (cont.) “Fail fast” (с) Ken Schwaber Agile Software Development with 43 SCRUM ©SCRUMguides
    • Iterative and Incremental approach How do you eat an elephant? - One bite at a time! - Agile Software Development with 44 SCRUM ©SCRUMguides
    • Shorter Cycles = Faster Feedback Daily meetings 1. Code Reviews 2. Release to end-users 3. Iteration reviews 4. Continuous integration 5. Feedback from (onsite) clients 6. Unit-testing 7. (Automated) acceptance testing 8. Pair programming 9. Agile Software Development with 45 SCRUM ©SCRUMguides
    • Shorter Cycles = Faster Feedback (ordered) Pair programming (immediate feedback) Unit-testing (5-10 minutes) Continuous integration (hourly) Feedback from (onsite) clients (daily) Daily meetings (daily) Code Reviews (some days) (Automated) acceptance testing (some days) Iteration reviews (each second week) Release to end-users (some weeks-months) Agile Software Development with 46 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 47 SCRUM ©SCRUMguides
    • Exercise “Ball Points” Agile Software Development with 48 SCRUM ©SCRUMguides
    • The main aspects of Agile: Learn and Adapt As we work we learn lots of new things about the product being developed, technologies being used, our clients, ourselves. By incorporating this information into daily work we can become better day by day. Agile Software Development with 49 SCRUM ©SCRUMguides
    • Visibility tools In order to evolve the way we work we need to keep everything visible to ourselves and our clients Tools that might help: Sprint Burndown Chart Task boards Wikis Agile Software Development with 50 SCRUM ©SCRUMguides
    • The Sprint Burndown Chart Agile Software Development with 51 SCRUM ©SCRUMguides
    • The Task Board - an information radiator Agile Software Development with 52 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 53 SCRUM ©SCRUMguides
    • Agile Software Development with 54 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Agile Software Development with 56 SCRUM ©SCRUMguides
    • SCRUM in 59 minutes Agile Software Development with 57 SCRUM ©SCRUMguides
    • Game structure Planning Choose a product and your PO Help your PO to build up a PB Help your PO to prioritize the PB items Plan your first sprint Sprinting Day one - 7 min Daily standup - 3 min Day two - 7 min Demonstration - 3 min (per a team) Agile Software Development with 58 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Agile Software Development with 59 SCRUM ©SCRUMguides
    • SCRUM recap Roles The Team – ScrumMaster – Product Owner – Artifacts Product Backlog – Sprint Backlog – Sprint/Release Burndown Chart – Meetings (ceremonies) Sprint Planning – Daily Scrum (“Stand-Up”) – Sprint Review (Demo) – Retrospective – Agile Software Development with 60 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Summary of SCRUM concepts Agile Software Development with 61 SCRUM ©SCRUMguides
    • Join our community! Ukrainian Agile community www.agileukraine.org Join our Google discussion group Ukrainian SCRUM portal www.scrum.com.ua Agile Software Development with 62 SCRUM ©SCRUMguides