Taking an Iteration Down to Code

Slides:



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

Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.
Scrum Jarred Payne Ashrith Pillarisetti. Scrum Prepare for Project Plan the Project Plan a Sprint Run a Sprint Track the Sprint.
U-Mail System Design Specification Joseph Woo, Chris Hacking, Alex Benson, Elliott Conant, Alex Meng, Michael Ratanapintha April 28,
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
5. Planning.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
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.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
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.
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.
Taking an Iteration Down to Code User Stories to Tasks 1.
Project Management A Practical Approach Sridhar Pandurangiah Director - Engineering Sridhar Pandurangiah Director - Engineering.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Language Learning for Busy People These documents are private and confidential. Please do not distribute.. Pre-Intermediate: Interview Skills 5 Discussing.
Project Workflow.
Embedded Systems Software Engineering
Agile Project Management and the yin & yang of
Scrum and TargetProcess
AP CSP: Data Assumptions & Good and Bad Data Visualizations
Managing the Project Lifecycle
Study Tips For A Great Education In Math.
Presented by your 6th grade Language Arts Teachers 
Advisory Services Case Study Interview Tips
Agile Scrum Management
Reflecting on Sprint 1 Reports
Project Workflow.
Mike Cohn - Agile Estimating and Planning
Advisory Services Case Study Interview Tips
Extreme Programming.
12 Steps to Useful Software Metrics
Client Management Managing Client Expectations
The Do’s and don’t of studying
Chapter 3: The Project Management Process Groups: A Case Study
Burn Down charts for Project Management
What do you need to know about XP?
Summarizing Our Models to Date
Managing Your Time.
© University of Liverpool
Study Skills for School Success! Session 3
HELLO, WE’RE IMPLEMENT We are committed to:
Sprint Planning April 2018.
Chapter 25 Process and Project Metrics
CSE 303 Concepts and Tools for Software Development
The Agile Inception Deck
Adjective: Able to move quickly and easily. Principles and Values
Study Skills for School Success! Session 3
Dr. Rob Hasker SE 3800 Note 9 Reviews.
Planning and Estimation.
Be Aware, Be Consistent, Be Firm, Be Positive
Top 7 excuses students give for bad interviews
The One Page Planning & Performance System
Identifying the Work to Be Done
Extreme Programming.
Agile software development
Scrum in Action.
Planning and Estimation
Schedule Management Plan
Project Iterations.
Planning and Estimation.
Extreme Programming (and Pair Programming)
Managing Time (and Stress) by Managing Yourself!
Mistakes in writing a research paper
Information system analysis and design
Product Development & Planning
Presentation transcript:

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

User Stories to Tasks Breaking up the work and keeping track

User Story Template Describe a single feature in customer language As a role I want feature So that benefit Always follow the template Easy to make sure you recorded everything Easy to find everything when needed Easy to audit, to make sure everything is there Avoid ambiguity

User Stories are hard to take to code User stories are often multi-skilled and distributed in code base 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)

Goals of Creating and Executing Tasks Break iteration’s user stories into units of work to be performed (tasks) Estimate work-days of the tasks Apt to be more accurate than user story estimates 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 Daily start-of-day stand-ups to assess progress and identify problems Track work on big board, with burn-down chart

New Concept: Task Customer-oriented feature Update (was 9 days) Code-oriented functionality Estimates 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? Display birds-eye map with user at the center (H) 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

The Hierarchical Structure of Agile Planning Project Milestone 1 …  Shipped to users Iteration 1 Iteration 2 … Iteration n  Demo’d to customer US 1 US 2 US 3 US 4 US 5 US 6 US 7  Released to team  Released to self/pair/US “team” T1 T2 T3 T1 T2 T1 T2 … T1 T2 T3 All part of making a large project act like a small one Different frequencies for different types of “ship” manages the tradeoff between cost of shipping and value of feedback

Expanded Concept: Big Board Keeps track of what’s doing, who, and how fast Unplanned Tasks 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 With every task completion, plot a point at (days left, work left) 32 …behind… …ahead… This task takes 5 days to finish, where put next point? Starting at (15,34) 5 days past, 2 days of work A. (13, 29) B. (29, 13) C. (10, 32) D. (32, 10) C. (10,32)

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 Progress, status Problems that are slowing things down Update big board

Stand ups and Risks What risks do stand up meetings address? falling behind (Burn Down?) wrong assumptions about what others are doing (Big Board?) unforeseen problems (identifying, start a fix) [ability to quickly iterate on prob. in meeting] someone is stuck and needs a rescue [social aspects are key] (Risk of coming apart as a team) Wasting time in meetings Big Board doesn’t get updated (B.B. makes status visible between stand-ups) Miscommunication – people aren’t on “same page” (e.g., component dependences within U.S.) Someone is stuck or going down wrong path and doesn’t ask for or get help (late correction) People make wrong decisions about what to work on next (kind of a same-page thing, though) Social component is key: accountability, team attitude, all-for-one and one-for-all

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? E-mail doesn’t allow for fluid conversation, looking at documents together, eye contact, etc. On a short, intense project, you may have shorter iterations, etc., requiring more meetings, not fewer Team attitude, focus, and accountability may be lost – people may slack off, forget, or gloss over problems NOTE: This is kind of redundant with “risks addressed by Stand-ups”. This situational one might be more rich.

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

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