Feature and Capability Breakdown; Sizing; Thin-Slicing

Slides:



Advertisements
Similar presentations
Copyright © , Armstrong Process Group, Inc., and others All rights reserved Made available under EPL v1.01 Project Management Review Eclipse Process.
Advertisements

Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
Iteration Planning.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
ECE44x SCRUM Overview slides adapted from Marty Stepp
Project Management with TFS 1. What TFS offers for Project Management? Work Item tracking 2 Portfolio backlog Backlog Issue tracking Feature Product Backlog.
Managing a Project Using an Agile Approach and the PMBOK® Guide
Minneapolis.score.org Click to edit Master title style Business Planning Guide for the Business Planning Center Suggestions on How To Develop a Plan and.
© 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Deeper Dive Into: User Stories.
Uploading Image Files. Introduction – Click on Control Panel Button Typically, most instructors will post the majority of their images under the “Course.
IT 499 Bachelor Capstone Week 3. Adgenda Administrative Review UNIT two UNIT threeProject UNIT four Preview Project Status Summary.
Design and Planning Or: What’s the next thing we should do for our project?
Cultivating Agile Requirements
Requirements Workshop Techniques for E-Business Projects
Microsoft Office 2013 Try It! Chapter 4 Storing Data in Access.
Software Process Models.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Software Engineering Session 12 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
University of Washington HCDE 418 Wireframes HCDE 418.
Using FlexTraining.
Software Engineering cosc 4359 Spring 2017.
Agile Project Management
Creating & Customizing Business for Sale Websites
Game Design For Development
PeerWise Student Instructions
Features of Authoring Tools
Project Management with VSTS
Scrum and TargetProcess
Recall The Team Skills Analyzing the Problem (with 5 steps)
Agile Scrum Management
Please review these important Webinar Etiquette guidelines
Transforming Organizations
Select and Implement a Web Experience Management Solution
Regional Architecture Development for Intelligent Transportation
CS 325: Software Engineering
Wrapping up prototyping
By: By: Agile Scrum Master Online Training.
Software Process Models
Chapter 3: The Project Management Process Groups: A Case Study
Burn Down charts for Project Management
Collaboration with Google Docs
Scrum MODULE 3 – Part 3.
Burn Down charts for Project Management
The Development Process
Building Disaster-Resilient Places
Teaching slides Chapter 1.
Summarizing Our Models to Date
Penn State Educational Programming Record (EPR) Guide
Chapter 2 – Introduction to the Visual Studio .NET IDE
Agile Philly: Estimating Vs Forecasting Using a Monte Carlo Tool
Reserved for Intro Picture
Sprint Planning April 2018.
Personal Fitness Welcome to Mr. Dallaire’s Personal Fitness course.
Introduction to Agile Blue Ocean Workshops.
Cognitive Walkthrough
Product Roadmap Jon Kolko Professor, Austin Center for Design.
Project Management How to access the power of projects!
Crafting a Design Strategy Feature Brief
Employee engagement Delivery guide
Chapter 5 Understanding Requirements.
Applying Use Cases (Chapters 25,26)
INSTRUCTIONAL NOTES There are many similarities between Photoshop and Illustrator. We have attempted to place tools and commands in the context of where.
Lecture 13 Teamwork Bryan Burlingame 1 May 2019.
Scrum in Action.
What If Process is Your Problem?
Professional Services
Product Development & Planning
Presentation transcript:

Feature and Capability Breakdown; Sizing; Thin-Slicing Jon Kolko Professor, Austin Center for Design

Feature and Capability Breakdown A process of creating individual, atomic pieces of functionality for product development 2

Feature and Capability Breakdown A process of creating individual, atomic pieces of functionality for product development BREAKING DOWN CAPABILITIES… Moves a design from “blue sky” to “realistic” Helps you think about reusable components, leading to efficiencies Gets ready for sizing 3

Product vs. Design: Shipping Design is about visualizing an optimistic future, and painting a picture of what if. Shipping is about reality – actually bringing a product to market so people can use it and benefit from it. Design Product Management Long-term view of an optimistic future A desire to have people experience the thing The luxury of unlimited resources Always resource constrained Focused on the ideal Focused on the pragmatic You are both! 4

Temporarily abandoning our user stance We focus on people, their goals, and the way the system will support their experience in achieving those goals. A focus on features, components, and controls explicitly rejects the idea of “user centered”, and instead focuses on “technology centered.” Why would we do this? 5

How developers think Developers… Strive for efficiency Aim for optimization Hate doing the same work twice Value their time Tend towards “well-defined” problems Why is this important, at this stage in the process? 6

Start with an end-to-end flow To identify features and capabilities, you need detailed, comprehensive wireframes of the entire “ideal” flow (the hero path). Visualize these in a single canvas, in sequence, and then print them – large – and put them on the wall. Open a document and hold a discussion about it 7

Identifying unique features Walk through each screen, and identify each unique feature. What is a feature? Open a document and hold a discussion about it 8

Identifying unique features Walk through each screen, and identify each unique feature. Circle the feature in red, and give it a name. Edit a discussion comment Erase a comment Show course metadata Show course outline, open a file in another program, print View a discussion thread Display course content Display course content when offline Display course content in detail Add a comment to a discussion 9

Identifying unique components & controls Walk through each screen, and identify each unique component or control. What is a component or control? 10

Identifying unique components & controls Walk through each screen, and identify each unique component or control. Circle the component or control in red, and give it a name. Panel Carousel Scrolling list Full page content panel Overlay panel Text editor 11

Documenting the system Create a single representation of each feature, component, or control, outside of the context of the wireframes. Label them with a name Give them a unique identifier Write a description under each element Provide a reference to example wireframes and flows, to show the element in context 1.0 Display Course Content The ability to present an icon, a document title, and the date it was posted 2.0 View a Discussion Thread The ability to present a discussion response, a user avatar, a user name, the post date, and the number of responses Component A.0 Panel Carousel The ability to display panels and navigate through them by swiping left or tight 12

Feature and Capability Breakdown A process of creating individual, atomic pieces of functionality for product development BREAKING DOWN CAPABILITIES… Moves a design from “blue sky” to “realistic” Helps you think about reusable components, leading to efficiencies Gets ready for sizing HOW TO DO IT Start with a hero flow Identify unique features Identify unique components & controls Document the system 13

Sizing A method for assigning relative estimates to unique features, components, and controls 14

Sizing A method for assigning relative estimates to unique features, components, and controls Helps identify total time on task for a development effort Helps steer redesign efforts to launch product quickly Helps guide prioritization activities Is often dramatically inaccurate 15

What are we talking about? Software development has a number of models (this is an abstraction, and not a hard-fast rule): Small group (Startup). Whiteboard some stuff, code it, ship it. Small group (Agile). Identify a product backlog of capabilities, prioritize them in small “sprints” based on importance and size, ship them. Large group (Waterfall). Design the whole system, begin development, work till it’s done (typically towards specific dates and milestones), ship it. 16

Reasons to size Sizing before (and during) development: Provides clarity to stakeholders who have to commit to delivery (to a board of directors, for example) Provides clarity to marketers, who need to build campaigns around delivery dates Provides an order of magnitude for producing a product It gives the entire team a view of the product, so they understand it thoroughly It forces detailed interactions between the designers and developers 17

Reasons not to size Sizing before (and during) development: It’s extraordinarily inaccurate 18

Understanding developer “man days” Development estimation is considered in business days, often called man days (how sexist!) Capacity One developer working for a business day = one man day. A team of five developers working for a business day = five man days. A team’s available capacity is considered the total of their days to work per week 19

Understanding developer “man days” Estimates A team of 5 working for 4 weeks (20 business days) has 100 total days capacity. But, they only have 25 days capacity per week. If a feature will take 80 total man days, the feature will get done in approximately 3 weeks. “Can’t we just add more people, and get it done faster?” 20

T-Shirt Sizing, Fibonacci Sizing Two different sizing mechanisms are typically used: T-Shirt Sizing Small (1 day) Medium (10 days) Large (20 days) X-Large (40 days) Fibonacci Sizing 0, ½, 1, 2, 3, 5, 8, 13, 21, 34, 56 21

Facilitating an estimation session To facilitate a sizing/estimation session: Print the features, components, and controls – large. Walk through each item. Describe it, and ask if there are questions. The developers all privately assign the item an estimate Then, average the estimates across all developers Write the estimate both on the capability directly, and in a spreadsheet 1.0 Display Course Content The ability to present an icon, a document title, and the date it was posted 2.0 View a Discussion Thread The ability to present a discussion response, a user avatar, a user name, the post date, and the number of responses Component A.0 Panel Carousel The ability to display panels and navigate through them by swiping left or tight 22

Documentation Screen ID Screen Title Flow found on.. Estimate Discussion 1.0 Display Course Content Create a discussion 14 days There’s confusion around where the data would be saved. May take longer. 2.0 View a Discussion Thread 7 days A.0 Panel Carousel Component 30 days Reusable component 23

Sizing A method for assigning relative estimates to unique features, components, and controls Helps identify total time on task for a development effort Helps steer redesign efforts to launch product quickly Helps guide prioritization activities Is often dramatically inaccurate HOW TO DO IT Start with your feature, component and control output Conduct a facilitation session Walk through each element Answer questions and clarifications about the design Assign a relative t-shirt size Recalibrate early estimates based on later estimates Document the sizing in a spreadsheet 24

Thin-Slice Hero Flow Minimizing a hero-flow so it fits into a development timeline yet retains user value 25

Thin-Slice Hero Flow Minimizing a hero-flow so it fits into a development timeline yet retains user value THIN SLICING… Balances realism of development capacity with a vision to support users Continues to ground product in flows, rather than features 26

Identify capacity & compare to estimates Identify your total capacity in mandays Compare your capacity to your estimates to get a gauge for how much of a disconnect you have 27

Create “rough cut” thin slice flows Working flow-by-flow, remove things: So that the capabilities fit into your capacity, AND So that the flows still make sense, AND So that the flows still offer value to a user 28

Create “rough cut” thin slice flows Edit a discussion comment Erase a comment Show course metadata Show course outline, open a file in another program, print View a discussion thread Display course content Display course content when offline Display course content in detail Add a comment to a discussion 29

Create “rough cut” thin slice flows Edit a discussion comment Erase a comment Show course metadata Show course outline, open a file in another program, print View a discussion thread Display course content Display course content when offline Display course content in detail Add a comment to a discussion 30

Rationalize with sizing estimates Resize the hero flow, and see if it now fits into your capacity numbers. If not… cut more. 31

Thin-Slice Hero Flow Minimizing a hero-flow so it fits into a development timeline yet retains user value THIN SLICING… Balances realism of development capacity with a vision to support users Continues to ground product in flows, rather than features HOW TO DO IT Identify total capacity based on available resources Create “rough-cut” view of thin slice, and visualize wires as a hero flow Rationalize with sizing estimates, comparing the features that remain with the overall estimates Refine the flows if they are under or over capacity 32