Taking an Iteration Down to Code User Stories to Tasks 1.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

Project Management Process. Managing the Information Systems Project Focus of project management To ensure that information system projects meet customer.
Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.
Agile Development Chapter Extension 16. ce16-2 Study Questions Q1: Why is the SDLC losing credibility? Q2: What are the principles of agile development.
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
Agile Project Management with Scrum
NAUG NAUG Knowledge Evening – th February 2007.
Non-Coding Activities a Development Team Needs a.k.a ”I don’t code, am I no longer useful?” Maaret Pyhäjärvi| | Twitter: maaretp Test Granlund.
Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis.
1 Day-to-day planning – “Old school” How planning leads to success Parts of Phillips, Ch 4 CSSE579 Session 5 Part 1.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Software Engineering.
SE 555 Software Requirements & Specification Requirements Management.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
U-Mail System Design Specification Joseph Woo, Chris Hacking, Alex Benson, Elliott Conant, Alex Meng, Michael Ratanapintha April 28,
Diane Pozefsky. 1960’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
, TargetProcesswww.targetprocess.com1 TargetProcess:Suite Agile Project Management System Powers iterative development Focuses on Project Planning,
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Preparing for Interviews
Module 3 – Release Letting Go so your Team can Support you Effectively.
Software Development Landscape
Agile Programming Principles.
Agile Software Development Brian Link
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Project Workflow. How do you do it? -Discussion-
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
5. Planning.
Quick Recap.
Information Development Projects
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
XP Explained Chapters 7-9. Primary Practices  Sit together Ideal Resistance Multi-site  Whole Team All the necessary skills in a single management structure.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
1 MassChallenge Technology Review MassChallenge Technology Review (April July 2011) MassChallenge Web Technology Review April July 2011 Johnny.
Week 3 Outline Post-Mortem By: Jamaral Johnson. 2 After Actions Review In this presentation I will do my best to highlight what went wrong. This is just.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Planning for Success (aka “Avoiding Failure”) Project Planning 1.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Project management methodologies Waterfall vs. agile vs. half-arsed agile.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Planning Extreme programming
WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ CA Agile Vision Product Manager Michael Lester.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
T Project Review X-tremeIT PP Iteration
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Agile Scrum Management
Client Management Managing Client Expectations
Taking an Iteration Down to Code
Summarizing Our Models to Date
Adjective: Able to move quickly and easily. Principles and Values
Software Engineering Process
Teaching slides Chapter 13
Scrum in Action.
Software Engineering Process
Project Iterations.
Presentation transcript:

Taking an Iteration Down to Code User Stories to Tasks 1

Breaking up the work and keeping track 2

User Stories are hard to take to code  In customer language  Features  “Big”, multi-skilled Answer is to subdivide Stories into Tasks. Task is:  Written in technical language  Small unit of developer work  Divided by skill, subsystem, etc.  Often a module of executable functionality (class or two) 3

Goals of Creating and Executing Tasks 1.Break iteration’s user stories into units of work to be performed ( tasks ) 2. Estimate work-days of the tasks  Apt to be more accurate than user story estimates 3. Prioritize tasks by user story priorities and task dependence  Divvy up work according to skills (or in our case, to learn skills!)  Try to order assignment of tasks so that system always runs 4.Daily start-of-day stand-up s to assess progress and identify problems 5.Track work on big board, with burn-down chart 4

New Concept: Task Customer-oriented feature Code-oriented functionality Estimates Update (was 9 days) Tasks are units of computation to be developed by one person Technically oriented; not end-user features Often distinguished by skill set or subsystem Estimates likely more accurate

Tasks for Friends on Map? 1.Display birds-eye map with user at the center (H) 2.Show GoogleTalk friends on the map (3 days)  (learn GT API)  user login to GT  retrieve the friend list from GT  retrieve locations of friends  display friend name on the map 6

The Hierarchical Structure of Agile Planning 7 … … All part of making a large project act like a small one  Released to team  Demo’d to customer  Shipped to users Different frequencies for different types of “ship” manages the tradeoff between cost of shipping and value of feedback …  Released to self/pair/US “team”

Expanded Concept: Big Board Keeps track of what’s doing, who, and how fast Emerging requirements Bug fixing …

Scheduling Tasks on the Big Board Schedule tasks in priority order (from user story priority) Also task dependence – if A calls B, do B first! Ideally system is always runnable

Expanded Concept: Burn Down Chart 10 …ahead… …behind… With every task completion, plot a point at (days left, work left) This task takes 5 days to finish, where put next point? C. (10,32) Starting at (15,34) 5 days past, 2 days of work A. (13, 29) B. (29, 13) C. (10, 32) D. (32, 10)

New Concept: Stand-Up Meeting  Key to Agile is knowing where you are, so you can make frequent, “agile” adjustments  Big Board + Standups  5-15 minute daily AM meeting 1.Progress, status 2.Problems that are slowing things down 3.Update big board

Tasks and Risks What risks do tasks address? A. B. C. D. 12

Tasks and Risks What risks do tasks address? A.Scale – user story can take too long for one person to code up (too long before feedback) B.Invisibility – team/self cannot “see” progress internal to U.S. – always “I’m ½ done.” C.Lack skill – user story may require diverse skills that a given programmer may not have all of D.Misestimation – tasks expose tech. side of U.S. (also smaller scale pieces easier to estimate) 13

Stand ups and Risks What risks do stand up meetings address? A. falling behind (Burn Down?) B. wrong assumptions about what others are doing (Big Board?) C. unforeseen problems (identifying, start a fix) [ability to quickly iterate on prob. in meeting] D. someone is stuck and needs a rescue [social aspects are key] E.(Risk of coming apart as a team) 14

Stand ups and Risks What risks do stand up meetings address? A.Big Board doesn’t get updated (B.B. makes status visible between stand-ups) B.Miscommunication – people aren’t on “same page” (e.g., component dependences within U.S.) C.Someone is stuck or going down wrong path and doesn’t ask for or get help (late correction) D.People make wrong decisions about what to work on next (kind of a same-page thing, though) 15

No Huddle Offense Suzie says that the class project is too short to have time for daily stand-ups. Plus, the team’s individual schedules conflict. She is proposing a weekly meeting on Sunday night and daily check-ins via the mailing list. What’s wrong with her plan? A. B. C. D. 16

No Huddle Offense Suzie says that the class project is too short to have time for daily stand-ups, plus the team’s individual schedules don’t align. She is proposing a weekly meeting on Sunday night and daily check-ins via the mailing list. What’s wrong with her plan? A. doesn’t allow for fluid conversation, looking at documents together, eye contact, etc. B.On a short, intense project, you may have shorter iterations, etc., requiring more meetings, not fewer C.Team attitude, focus, and accountability may be lost – people may slack off, forget, or gloss over problems D. 17

Arrival time unknown Your project has fallen behind on its iteration. What should your team do? A. B. C. D. 18

Arrival time unknown Your project has fallen behind on its iteration. What should your team do? A.Look for causes – skill mismatches, bad software design, wrong velocity, underestimation, missed tasks, missed of risks B.Assess possible consequences – late vs. drop features (e.g., hard to drop features from baseline) C.Let the customer know, include in decision process D.Early in the project, “watch and see” can be OK 19

Big Board and Risks What risks does the big board address ? A. B. C. D. 20

Big Board and Risks What risks does the big board address ? (w/o burn down chart) A.Redundant and missed work due to miscommunication B.Falling behind and not noticing (burn down chart) C.Missing uneven progress (priorities and technical dependencies) 21

Take-Aways from Class Today  User stories are too big and diverse for one person to do – unnecessarily long to finish  Tasks are coherent units of work  Order them so that the system is always runnable  Big board tells where you are at all times  Keeps team from getting in each other’s way  Burn down chart lets you know when you’re falling behind  Talk to customer  Lets you make adjustments early  It’s all about identifying problems & risks early 22

Review: Velocity 23 Velocity is a fancy word for efficiency Any sort of likely, recurring reason to slow work estimated 60 days (more) actual 18 fewer days of work completed What are some contributors to your loss of efficiency?

Beating Inefficiency What are some ways we could increase velocity? A. B. C. D. E. 24

Multi-taskers Suzie says that the class project is too short to have time for dividing user stories into tasks. Plus, the user stories are pretty short and everyone on the team can do UI, DB, and core functionality. She says the work unit for the project should be the user story. What’s wrong with her plan? A. B. C. D. 25

Software Engineers (aka developers) What’s the difference between a software engineer and a programmer? A. B. C. D. 26