Agile Software Development With SCRUM
Upcoming SlideShare
Loading in...5
×
 

Agile Software Development With SCRUM

on

  • 13,123 views

Materials from one-day training on Agile Software Development with SCRUM done by SCRUMguids.com in Kharkiv, Ukraine

Materials from one-day training on Agile Software Development with SCRUM done by SCRUMguids.com in Kharkiv, Ukraine

Jan 2009

Statistics

Views

Total Views
13,123
Slideshare-icon Views on SlideShare
13,049
Embed Views
74

Actions

Likes
27
Downloads
1,143
Comments
1

8 Embeds 74

http://www.scrumguides.com 56
http://www.slideshare.net 11
http://74.125.39.132 2
http://74.125.43.113 1
http://74.125.79.132 1
http://feeds2.feedburner.com 1
http://www.health.medicbd.com 1
http://www.plurk.com 1
More...

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

11 of 1

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

    Agile Software Development With SCRUM Agile Software Development With SCRUM Presentation Transcript

    • Agile Software Development with SCRUM www.scrumguides.com 10 January 2009
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Concepts of Agile Planning 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 Concepts of Agile Planning 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 two approaches on the time scale Which advantages/disadvantages of the approaches you see? Agile Software Development with 15 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 16 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 17 SCRUM ©SCRUMguides
    • Main aspects of Agile Agile Software Development with 19 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 20 SCRUM ©SCRUMguides
    • The main aspects of Agile: Team work What is a team? How to make good team? Agile Software Development with 21 SCRUM ©SCRUMguides
    • Team work (cont.) Exercise “an airplane factory”. Agile Software Development with 22 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 23 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 24 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 25 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 26 SCRUM ©SCRUMguides
    • Prioritization and Traditional approaches An alternative tool to backlogs are requirement specifications. Agile Software Development with 27 SCRUM ©SCRUMguides
    • “Gimme all requirements, or ….” Agile Software Development with 28 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 29 SCRUM ©SCRUMguides
    • And as a result … Agile Software Development with 30 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 31 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 32 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 34 SCRUM ©SCRUMguides
    • The “menu” (Agile) approach Product backlog is the project’s menu. “Servants” help to make better decisions. Agile Software Development with 35 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 36 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 37 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 38 SCRUM ©SCRUMguides
    • Short Cycles (cont.) “Fail fast” (с) Ken Schwaber Agile Software Development with 39 SCRUM ©SCRUMguides
    • Iterative and Incremental approach How do you eat an elephant? - One bite at a time! - Agile Software Development with 40 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 41 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 42 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 43 SCRUM ©SCRUMguides
    • Exercise “Ball Points” Agile Software Development with 44 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 45 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 46 SCRUM ©SCRUMguides
    • The main aspects of Agile Team Work Prioritization Short cycles Learn and Adapt Agile Software Development with 47 SCRUM ©SCRUMguides
    • Would SCRUM help in your case Think about your current (recent) project. List 3-5 main things that are (were) preventing it from being more successful. Can SCRUM help to avoid them? Can SCRUM make them visible earlier? How can SCRUM help you solve them? Agile Software Development with 48 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Concepts of Agile Planning Agile Software Development with 49 SCRUM ©SCRUMguides
    • SCRUM in 59 minutes Agile Software Development with 50 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 51 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Extra SCRUM topics Concepts of Agile Planning We will be having 10-minute breaks each 60-90 minutes. Agile Software Development with 52 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 53 SCRUM ©SCRUMguides
    • Today’s Agenda Opening: program overview, knowing each other Understanding Agile and SCRUM SCRUM simulation Summary of SCRUM concepts Concepts of Agile Planning Agile Software Development with 54 SCRUM ©SCRUMguides
    • Agile Planning Requirements in SCRUM Levels of Planning Project Steering Estimation Techniques Agile Software Development with 55 SCRUM ©SCRUMguides
    • Requirements What are the requirements to requirements? Agile Software Development with 56 SCRUM ©SCRUMguides
    • What is important is … That communications/negotiation happens between the customer and the team. User stories help deferring the details till later They talk problems not solutions They fit nicely as your Product Backlog items Agile Software Development with 57 SCRUM ©SCRUMguides
    • User Story is… User stories are simple, clear, brief descriptions of functionality that will be valuable to either a user or purchaser of a product Expressed in a form similar to: As a <user> I can <do> so that <value> Agile Software Development with 58 SCRUM ©SCRUMguides
    • Samples – Travel reservation system As a vacation planner, I As a user, I can reserve a can see photos of the hotel room. hotels. As a user, I can restrict As a user, I can cancel a searches so that I only see reservation. hotels with available rooms. Agile Software Development with 59 59 SCRUM ©SCRUMguides
    • Details added in smaller substories As a premium site member, I can cancel a reservation up to the last minute. As a non-premium As a user, I can member, I can cancel up to cancel a 24 hours in advance. reservation. As a site visitor, I am emailed a confirmation of any cancelled reservation. Agile Software Development with 60 60 SCRUM ©SCRUMguides
    • Details added as tests High level tests are added to the story Can be used to express additional details and expectations – As a user, I can cancel a reservation. • Verify that a premium member can cancel the same day without a fee. • Verify that a non-premium member is charged 10% for a same-day cancellation. • Verify that an email confirmation is sent. • Verify that the hotel is notified of any cancellation. • Figure out what to do if the user’s card is expired. Agile Software Development with 61 61 SCRUM ©SCRUMguides
    • From Mike Cohn’s “Agile Estimating and Planning” Agile Software Development with 62 SCRUM ©SCRUMguides
    • Agile Planning Requirements in SCRUM Levels of Planning Project Steering Estimation Techniques Agile Software Development with 64 SCRUM ©SCRUMguides
    • The two levels of planning Strategic level / Story level / product backlog It is all about value. Hence the customers are at – better position to control this level. It is the menu of a restaurant. – Tactical level / Task level / spring backlog The tasks are defined in technical jargon. So the – teams control control this level. It is the kitchen of a restaurant. Do you really want – to look inside? :) Agile Software Development with 65 SCRUM ©SCRUMguides
    • From Mike Cohn’s “Planning Agile Projects” Agile Software Development with 66 SCRUM ©SCRUMguides
    • Agile Planning Requirements in SCRUM Levels of Planning Project Steering Estimation Techniques Agile Software Development with 68 SCRUM ©SCRUMguides
    • Steering your Projects “Ready? Fire! Aim… Aim… Aim… Aim…” © Kent Beck, Martin Fowler “Planning eXtreme Programming” Agile Software Development with 69 SCRUM ©SCRUMguides
    • There are four main parameters to planning Agile Software Development with 70 SCRUM ©SCRUMguides
    • Visualizing the time-scope relationship Release Burndown 2000 1800 1785 1620 1600 1400 Estimations 1200 1000 800 713 600 512 400 324 228 200 175 155 0 1 2 3 4 5 6 7 8 Agile Software Development with Sprints 71 SCRUM ©SCRUMguides
    • The Performance metric Velocity – speed at which the team converts pieces of requirements into a working product during a single sprint. Light and powerful metric. Agile Software Development with 72 SCRUM ©SCRUMguides
    • From Mike Cohn’s “Agile Estimating and Planning” Agile Software Development with 73 SCRUM ©SCRUMguides
    • Agile Planning Requirements in SCRUM Levels of Planning Project Steering Estimation Techniques Agile Software Development with 74 SCRUM ©SCRUMguides
    • From Henrik Kniberg and Mike Cohn A typical issue with estimations Agile Software Development with 75 SCRUM ©SCRUMguides
    • Planning Poker. The Steps Each estimator is given a deck of cards (1,2,3,5,8…) A Product Owner reads a story Estimators are for clarifications until everyone is ready to estimate Each estimator selects a card without showing it to the others By command cards are got turned over People with different estimates have discussions (limit with a timer) The round repeats until estimates converge Agile Software Development with 76 SCRUM ©SCRUMguides
    • SCRUM and you In your current (next) project which SCRUM practices you think are the MUSTs? Which you find hard to do? Which you find impossible? Which you find unnecessary? Which can you start doing your next working day? Agile Software Development with 78 SCRUM ©SCRUMguides
    • Questions? Concerns? Any feedback? Thank you! Agile Software Development with 79 SCRUM ©SCRUMguides
    • My contacts 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 80 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 81 SCRUM ©SCRUMguides