Agile Project Management Mark Stringer Introductions Who am

  • Slides: 93
Download presentation
Agile Project Management Mark Stringer

Agile Project Management Mark Stringer

Introductions • Who am I? • Who are you?

Introductions • Who am I? • Who are you?

Why are you here today? • Why are you here? • What are you

Why are you here today? • Why are you here? • What are you hoping to learn?

Why am I here today? • Web/Digital is different • Agile can deal with

Why am I here today? • Web/Digital is different • Agile can deal with it (better)

Activity: Good/Bad Happy/Sad Project • What kinds of words and phrases describe a happy

Activity: Good/Bad Happy/Sad Project • What kinds of words and phrases describe a happy project? • What kinds of words and phrases describe a sad project?

Introduction to Agile Differing approaches to project management Why web is different In-depth look

Introduction to Agile Differing approaches to project management Why web is different In-depth look at iterative development Stories Estimation Iterations Tests Velocity Meetings Role of the Project Manager

Project Management is about Dealing with Change “the problem isn’t change because change is

Project Management is about Dealing with Change “the problem isn’t change because change is going to happen, the problem is our inability to cope with change” – Kent Beck, Extreme Programming

Artistic Making “Writing software is a creative process, like painting or writing or architecture”

Artistic Making “Writing software is a creative process, like painting or writing or architecture” - Ken Schwaber – author Software Development using Scrum

http: //www. guardian. co. uk/tsunami/story/0, 15671, 1381830, 00. html http: //www. guardian. co. uk/world/2009/apr/10/somali-pirates-hostage-us-miltary

http: //www. guardian. co. uk/tsunami/story/0, 15671, 1381830, 00. html http: //www. guardian. co. uk/world/2009/apr/10/somali-pirates-hostage-us-miltary

Flickr, del. icio. us Tagging no taxonomy Page. Rank e. Bay reputation Amazon reviews:

Flickr, del. icio. us Tagging no taxonomy Page. Rank e. Bay reputation Amazon reviews: user as contributor Gmail, Google Maps and AJAX Rich User Experiences An attitude not a technology Blogs: Participation Not Publishing Google Adsense customer self-service enabling the long tail Bit. Torrent Radical Decentralization Wikipedia: Radical Trust Strategic Positioning • The Web as Platform Trust your users User Positioning • You control your own data The Long Tail Data as the Intel inside Core Competencies • Services, not packaged software • Architecture of Participation • Cost-effective scalability • Remixable data source and data-transformations • Software above the level of a single device • Harnessing Collective Intelligence The Perpetual Beta Hackability Small Pieces Loosely Joined - web as components Software that gets better the more people use it The Right to Remix “Some Rights Reserved” Emergent: User behaviour not predetermined Rich User Experience Play Granular Addressability of content

Traditional Waterfall Project Management Specification Design Code Test Final Product?

Traditional Waterfall Project Management Specification Design Code Test Final Product?

Iterative project approach Look at the list of things to do and decide which

Iterative project approach Look at the list of things to do and decide which are most important Those things that you didn’t get done go back on the list of things to do along with any new things to do that you noticed during the iteration Of the important things, choose some that you think you can finish during the iteration One at a time, work through the things you choose until time is up

An iterative approach • Don't try to do everything at once • Don’t think

An iterative approach • Don't try to do everything at once • Don’t think you need to know everything before you start • Do the most important things first • Set a (short) time limit • Learn from each iteration • This is nothing new – it is common to both artistic making and scientific enquiry

Activity: Waterfall vs Iterative Task 1. Write down three things that are done using

Activity: Waterfall vs Iterative Task 1. Write down three things that are done using “Waterfall” methods 2. Write down three things that are done “Iteratively”

Activity: Minimum Iteration Client brief We want you to put on a production of

Activity: Minimum Iteration Client brief We want you to put on a production of Romeo and Juliet Task Come up with single words or terms that describe each of the constituent parts of a production and write them on post-its

Activity: Minimum iteration Task Put your post-its into three piles: 1. Absolutely must have

Activity: Minimum iteration Task Put your post-its into three piles: 1. Absolutely must have 2. Would be nice to have 3. Would be the icing on the cake

Introduction To Agile Differing approaches to project management Why web/digital is different In-depth look

Introduction To Agile Differing approaches to project management Why web/digital is different In-depth look at iterative development Stories Estimation Iterations Tests Velocity Meetings Role of the Project Manager

Stories

Stories

Stories “List all of the things that the system should include and address, including

Stories “List all of the things that the system should include and address, including functionality, features and technology. ” Ken Schwaber - Scrum Stories then form the basis of an ongoing dialogue between the client and the development team NOT a concrete specification.

Stories: scope, priority, effort Scope Effort Priority

Stories: scope, priority, effort Scope Effort Priority

Stories • Things to do are listed in terms of stories • Each story

Stories • Things to do are listed in terms of stories • Each story describes a want or need, visible to the client • Stories ideally produced with the client (whether internal or external).

Stories: Client Brief Yacht and Boat Modeller Monthly has decided to completely overhaul its

Stories: Client Brief Yacht and Boat Modeller Monthly has decided to completely overhaul its on-line presence. The aim is that when people type “model yacht” or “model boat” into a search engine that YBMM. cheapyserve. co. uk is in the top 10 results. YBMM has decided to make all the articles that are available in its print edition available on-line 4 weeks after they are available on the news stands. It has also decided to make facsimile copies of all of its back issues available and searchable on-line. However, in order to access all this valuable information, visitors to the site must register for free. Once they have registered, they can rate and comment on articles on the site. From these ratings a “most popular articles of the month” and “most popular articles from the archives” list can be created which should be displayed on the front page of the site. YBMM will use this list of enthusiasts as a new revenue stream – selling space in a monthly newsletter to its advertisers.

Stories: Story writing Possible stories for YBMM Online Search for an article Search for

Stories: Story writing Possible stories for YBMM Online Search for an article Search for a facsimile archive article Make facsimile copies searchable On-line registration Registered Users can comment on articles Registered Users can rate articles Most popular recent article table Most popular archived article table Production of mailing list for newsletter Site Design SEO – Search Engine Optimisation Domain name

Activity: Extracting Stories Task Read through the brief identify stories by writing them up

Activity: Extracting Stories Task Read through the brief identify stories by writing them up on index cards

Activity: Extracting Stories Thrills and Swoon Online Thrills and Swoon have been publishing romance

Activity: Extracting Stories Thrills and Swoon Online Thrills and Swoon have been publishing romance novels since 1928, they sell 2 million books a year. T&S were recently purchased by the multimedia giant Big Corp, Big Corp feel that there is a market for selling T&S books as downloads on line. They are especially interested in publishing T&S's back catalogue and are also interested to use T&S's experience in this market to inform similar attempts to provide on line access to other Big Corp titles. If people type “Romance Novel” into a Google, the T&S site should be in the top 5 results returned – ideally, in the top 1! People visiting the site will be able to search and browse through titles that are available on line by keyword and by sub-genre e. g. Hospital, Historical, Military, Supernatural. Some titles will be available for free. But ONLY after visitors to the site have registered and provided their details. Some other titles will require payment protected by Digital Rights Management. Thrills and Swoon have a mailing list of over a million women worldwide, half of whom regularly by romance books by mail order. They want to bring this community on line, giving them the opportunity to write reviews of the books, give the books a five star rating and recommend them to friends. The aim is that the site will make money by selling advertising space to advertisers interested in targeting the readership of T&S novels. Banner advertising will be provided by another of Big Corp's companies, the Ab Fab Ad company.

Stories: scope, priority, effort Scope Effort Priority

Stories: scope, priority, effort Scope Effort Priority

Stories: Prioritisation *** Must haves ** Nice to haves * Icing on the cake

Stories: Prioritisation *** Must haves ** Nice to haves * Icing on the cake Search for an article *** Search for a facsimile archive article (is this different? ) *** Make facsimile copies searchable *** On-line registration *** Registered Users can comment on articles ** Registered Users can rate articles ** Most popular recent article table * Most popular archived article table * Production of mailing list for newsletter * Site Design *** SEO – Search Engine Optimisation ** Domain name **

Stories: scope, priority, effort Scope Effort Priority

Stories: scope, priority, effort Scope Effort Priority

Stories: Effort Estimated in points: 1 point = 0. 5 days Search for an

Stories: Effort Estimated in points: 1 point = 0. 5 days Search for an article *** Search for a facsimile archive article*** Make facsimile copies searchable*** On-line registration *** Site Design *** Registered Users can comment on articles ** Registered Users can rate articles ** Most popular recent article table * Most popular archived article table * Production of mailing list for newsletter * SEO – Search Engine Optimisation ** Domain name **

Activity: priority 1. Prioritise each story with client (Mark will pretend to be the

Activity: priority 1. Prioritise each story with client (Mark will pretend to be the client) *** = must have ** = nice to have * = icing on the cake

Introduction to Agile Differing approaches to project management Why web/digital is different In-depth look

Introduction to Agile Differing approaches to project management Why web/digital is different In-depth look at iterative development Stories Estimation Iterations Tests Velocity Meetings Role of the Project Manager

Estimation

Estimation

Highs and Lows - the Geometric mean • What’s the shortest possible time that

Highs and Lows - the Geometric mean • What’s the shortest possible time that this could take? • What’s the longest time that this could take (use the same units). Estimate = Ax. B

Highs and Lows - the Geometric mean: Worked Example, Thrills and Swoon • What’s

Highs and Lows - the Geometric mean: Worked Example, Thrills and Swoon • What’s the shortest possible time that this could take? A week - 5 days. • What’s the longest time that this could take (use the same units). A year - 200 days Estimate = 5 x 200 1000 = 30 days

Planning Poker 0 8 1/2 13 1 20 2 40 3 100 5 ?

Planning Poker 0 8 1/2 13 1 20 2 40 3 100 5 ? Coffee

Knock…

Knock…

Activity: Estimation 1. Use “Kock, knock” to estimate the number of points that each

Activity: Estimation 1. Use “Kock, knock” to estimate the number of points that each of the stories that you identified will take.

Review: Stories What are three variables that make up stories? What is the difference

Review: Stories What are three variables that make up stories? What is the difference between a story and a specification?

Stories: scope, priority, effort Scope Effort Priority

Stories: scope, priority, effort Scope Effort Priority

Iterations

Iterations

Identify an Iteration • What is the minimum list of useful things you can

Identify an Iteration • What is the minimum list of useful things you can complete in a specified time period? • Whole team negotiates which stories should be completed in the next iteration • Client negotiates with team members about scope, priority and effort of stories • Time-boxed meeting to identify the iteration • Give it a name • WORKING SOFTWARE as soon as possible

Example: Identify an Iteration 1 Search for an article *** 5 points Search for

Example: Identify an Iteration 1 Search for an article *** 5 points Search for a facsimile archive article*** 5 points Make facsimile copies searchable*** 20 point On-line registration *** 5 points Domain name ** 5 points Site Design *** 20 points Registered Users can comment on articles ** 14 points Registered Users can rate articles ** 20 points Most popular recent article table * 10 points Most popular archived article table * 5 points Production of mailing list for newsletter * 10 points SEO – Search Engine Optimisation ** 30 points

Activity: iteration Task • Decide on iteration length (you have a team of 3)

Activity: iteration Task • Decide on iteration length (you have a team of 3) • Decide on what stories will make up the first iteration and agree this with your client (Mark)

Tests

Tests

Types of tests • What is a test? – It is the thing that

Types of tests • What is a test? – It is the thing that allows you to know when you are done • Teams may contain dedicated testers whose job is to run the tests • Technical – Pass or fail test (can be automated) • Non-technical – Pass or fail criteria (e. g. client sign off) • What if a test fails? – If a task hasn’t passed it’s test by the end of the iteration then it is counted as ‘not done’

Example: Iterations and tests Iteration 1 Search for an article *** 5 points Test:

Example: Iterations and tests Iteration 1 Search for an article *** 5 points Test: 1) Enter a search term for the article in the page 2) Press search button 3) a results table is returned containing the appropriate articles for the search term. Search for a facsimile archive article*** 5 points Make facsimile copies searchable*** 20 point On-line registration *** 5 points

Activity: write some tests Task • Write tests for the stories in your first

Activity: write some tests Task • Write tests for the stories in your first iteration • Hand over stories to Mark

Review: tests What is the role of tests? What happens if the tests are

Review: tests What is the role of tests? What happens if the tests are not completed?

Introduction to Agile Differing approaches to project management Why web is different In-depth look

Introduction to Agile Differing approaches to project management Why web is different In-depth look at iterative development Stories Estimation Iterations Tests Velocity Meetings Role of the Project Manager

Velocity

Velocity

Know your velocity ? ?

Know your velocity ? ?

Activity: Velocity Task • Calculate the velocity of a someone in the room

Activity: Velocity Task • Calculate the velocity of a someone in the room

Velocity • Velocity is project specific and can change from iteration to iteration •

Velocity • Velocity is project specific and can change from iteration to iteration • Calculate velocity: how many story points did you actually deliver in the last iteration? • How does this compare to what you said you would do?

EA Spouse The blog post that cost the one of the world’s biggest games

EA Spouse The blog post that cost the one of the world’s biggest games company in the world $100 M

Example: Estimated vs. Actual Velocity Start of iteration Search for an article *** 5

Example: Estimated vs. Actual Velocity Start of iteration Search for an article *** 5 points Search for a facsimile archive article*** 5 points Make facsimile copies searchable*** 20 point On-line registration *** 5 points Domain name ** 5 points Estimated velocity = 40 points End of iteration Search for an article *** 5 points Search for a facsimile archive article*** 5 points Make facsimile copies searchable*** 20 point On-line registration *** 5 points Domain name ** 5 points Actual velocity = 20 points

Review: velocity How do we calculate the velocity of an iteration? How do we

Review: velocity How do we calculate the velocity of an iteration? How do we know the total development points that there are to ‘spend’ on the next iteration?

Activity: Velocity and the second iteration Task 1. Work out the current velocity of

Activity: Velocity and the second iteration Task 1. Work out the current velocity of the project 2. Choose stories for the second iteration using the current project velocity

Activity: Client changes their mind After several years of tortuous negotiations, Big Corp have

Activity: Client changes their mind After several years of tortuous negotiations, Big Corp have finally arrived at a deal with Orinoco. com, the world leader in on line book sales. Big Corp executives have been happy with the way that the Thrills and Swoon on line project is going and would like to use the Thrills and Swoon on line site as a pilot for their partnership Orinico. com. As well as being offered the opportunity to download the back- catalogue of Thrills and Swoon, visitors to the site will be given the opportunity to purchase the book via Orinoco. com's “publish on demand” service (having entered their payment details, a paperback copy of the book of their choice will be printed especially for them). Orinoco. com's pubish on demand service will now be integrated into the Thrills and Swoon online site. As part of the deal, Orinoco have also agreed to provide access to their own database of the German Gothic Romances owned by the company Shmaltz und Zucker. This means that the entire site will need to be made capable of translation into German (it's well know, that on average German translations are one and a half times the length of English, so this may well affect the design). Task 1. Extract more stories 2. Negotiate new priorities with client (Mark) 3. Visit the other team and compare

Introduction to Agile Differing approaches to project management Why web/digital is different In-depth look

Introduction to Agile Differing approaches to project management Why web/digital is different In-depth look at iterative development Stories Estimation Iterations Tests Velocity Meetings Role of the Project Manager

Meetings

Meetings

Types of Meetings • • • Story extraction Daily stand ups Iteration planning meetings

Types of Meetings • • • Story extraction Daily stand ups Iteration planning meetings Client demo Client feedback meetings

Meetings: story extraction • Story extraction initiates the project and continues throughout • Must

Meetings: story extraction • Story extraction initiates the project and continues throughout • Must be done with the product owner • There should be a single product owner, the person who gets client agreement over what the stories are and has the power to prioritise for the client (they can be client or delivery side)

Meetings: daily stand up • Time boxed – 15 minutes • Same time, same

Meetings: daily stand up • Time boxed – 15 minutes • Same time, same place, everyday (but in real world, can be online) • Mustn’t be silent! • Everybody talks • What did I do yesterday? • What am I doing today? • What obstacles are there?

Meetings: iteration planning meetings • Time-boxed – to be agreed by team • Reschedule

Meetings: iteration planning meetings • Time-boxed – to be agreed by team • Reschedule if not complete when time box finishes • Product owner must be present – If the client can’t be there, appoint a product owner • Outcome: prioritised, effort estimated stories to be delivered in a fixed time scale (iteration)

Meetings: pigs and chickens • Fry up: the chicken is involved but the pig

Meetings: pigs and chickens • Fry up: the chicken is involved but the pig is committed • Ideally you only want pigs • If pigs and chickens are present, only pigs can contribute, chickens can listen in

Meetings: client demo • Demo working software or completed nonsoftware tasks • Figure out

Meetings: client demo • Demo working software or completed nonsoftware tasks • Figure out how to demo deep technical functions and ‘invisible’ technical work • If it can’t be demonstrated it is not finished

Meetings: client feedback meetings • Can be at the end of a demo meeting

Meetings: client feedback meetings • Can be at the end of a demo meeting or at the start of a new iteration meeting but must be time-boxed • Listen carefully • Feedback may lead to new stories (scope, priority, effort)

Role of project manager • • Run Meetings Keep the chickens at bay Keep

Role of project manager • • Run Meetings Keep the chickens at bay Keep people focused on iteration stories Make sure that if a story is finished, it is really finished • Deal with obstacles that distract team members

Review: Meetings 1. What are the different types of meetings we’ve discussed? 2. Who

Review: Meetings 1. What are the different types of meetings we’ve discussed? 2. Who runs the daily stand up? 3. What is the difference between the chicken and the pig?

Recap: role of project manager • • Run meetings Keep the chickens at bay

Recap: role of project manager • • Run meetings Keep the chickens at bay Keep people focused on iteration stories Make sure that if a story is finished, it is really finished • Deal with obstacles that distract team members

Activity: Stand-up meeting Task Read your card and attend the meeting!

Activity: Stand-up meeting Task Read your card and attend the meeting!

Feedback on meetings activity 1. How did you find the stand up meeting? 2.

Feedback on meetings activity 1. How did you find the stand up meeting? 2. Was the time-boxing useful? 3. Do you get a sense of why having these meetings daily is useful?

Review: Introduction to Agile • What is the difference between iterative and waterfall development?

Review: Introduction to Agile • What is the difference between iterative and waterfall development? • Stories – what are three variables? • Why is prioritisation essential? • Suggest some ways of coming up with estimates for a project? • How do you know when you're done? • How do you know what the velocity is for your next iteration? • Who runs meetings?

Not Checked Out Login Checked Out Done Sprint Goal: Beta- Ready Release 2 Browse

Not Checked Out Login Checked Out Done Sprint Goal: Beta- Ready Release 2 Browse Titles Search Titles 2 4 Talk to DB 4 Unplanned Items Deal with Get Logo VPN 2 Approval 8 Next Search Full Text 4

THE END

THE END