Https://flic.kr/p/hcgHcm Planning and Estimation.

Slides:



Advertisements
Similar presentations
Chapter Extension 16 Agile Development.
Advertisements

Based on the XP Game by Vera Peeters and Pascal Van Cauwenberghe ( 1Software Engineering /Spring.
Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
CS487 Software Engineering Omar Aldawud
Agile Development Chapter Extension 16. ce16-2 Study Questions Q1: Why is the SDLC losing credibility? Q2: What are the principles of agile development.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Customer collaboration.
Customer Collaboration. Central Principles The customer is part of the team The customer plays key role in directing the team 1.
Customer collaboration.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Understand Application Lifecycle Management
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Putting the “Engineering” in Software Engineering: Technology Infrastructure in Process Improvement Adam Kolawa, Ph.D. CEO, Parasoft.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Planning 2: Estimation Mechanics Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.
Getting Started Introducing the Core XP Practices Based on Extreme Software Engineering Daniel H. Steinberg & Daniel W. Palmer.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Advanced Software Engineering Dr. Cheng
Project Workflow.
Peter Varhol Solutions Evangelist
Software Configuration Management
Software Project Configuration Management
Organisation Control KPI’s & an industry Review
Constructing Deploying and Maintaining Enterprise Systems
Appendix B Agile Methodologies
Software Engineering Process
Iterative Planning

System Testing Antares Rocket Test Launch ( HQ) System Testing.
Monitoring Implementation and Sustainability
Software Requirements
Software Requirements
Software Engineering Process
September 20, 2017 Agile Techniques Workshop Susan Futey
Lecture 11: Scheduling, Estimation, and Prioritization
Taking an Iteration Down to Code
Software Quality Engineering
Automated Code Coverage Analysis
Applied Software Implementation & Testing
EDU 618 Innovative Education- -snaptutorial.com
What do you need to know about XP?
Teaching slides Chapter 1.
Cost Estimation Chapter 5
Coding Concepts (Basics)
Using Your Agenda.
Algorithm and Ambiguity
Chapter 3: Agile Software Processes
Software Engineering Process
Planning and Estimation.
Software Requirements
Project Planning and Estimation
Domain Modeling.
Customer collaboration
Agile Development – a new way of software development?
Appendix B Agile Methodologies
Extreme Programming.
Iteration Planning.
Whitebox Testing.
Cost behaviour, cost drivers and cost estimation
Planning and Estimation
Software Requirements
Iteration Planning.
Software Requirements
Software Engineering Process
Software Development Techniques
Presentation transcript:

https://flic.kr/p/hcgHcm Planning and Estimation

SWEBOK Knowledge Areas Software Requirements Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Models and Methods Software Quality Software Engineering Professional Practice Software Engineering Economics Computing Foundations Mathematical Foundations Engineering Foundations Today’s topic

Now you have a bunch of user stories, so what’s next?

Iterative Development Process Requirements Planning Implementation Analysis Design Deployment Testing Evaluation Initial Planning We are here

Developer Customer Create USs Requirements USs Check USs Corrections/Clarifications Fix USs Add Estimates USs + Estimates Add Priorities USs + Estimates + Priorities Choose USs for Iteration Divide Chosen USs into Tasks Estimate Tasks Assign Tasks to Workers Get to Work!

Developer Customer Requirements Create USs USs Check USs Corrections/Clarifications Fix USs Add Estimates USs + Estimates Add Priorities USs + Estimates + Priorities Choose USs for Iteration Divide Chosen USs into Tasks Estimate Tasks Assign Tasks to Workers Get to Work!

Estimating Time http://xkcd.com/1658/

Hofstadter's Law It always takes longer than you expect, even when you take into account Hofstadter's Law. —  Douglas Hofstadter, Gödel, Escher, Bach

Principles for Estimation Principle: Past performance is the best indicator of future performance Approach: Track your outcomes; refine your estimates Principle: Wisdom of the crowd Goal: Predict how events will unfold Think event planning Problem: Easy to miss something Solution: More brains = more opportunities to catch eventualities

Principles for Estimation Principle: Past performance is the best indicator of future performance Approach: Track your outcomes; refine your estimates Principle: Wisdom of the crowd Goal: Predict how events will unfold Think event planning Problem: Easy to miss something Solution: More brains = more opportunities to catch eventualities No past performance yet, so…

Estimation with Planning Poker Cards with units of work: 1, 3, 5, 8, 13, 20, 40 Assume team can do 20 units in an iteration For each US: Discuss work involved Flip cards Repeat until consensus Efficiency in estimating is important Don’t expect your estimates to be super accurate

Let’s watch this video to find out what planning poker is all about: http://youtu.be/0FbnCWWg_NY

More Estimation Principles Engineers refine estimates; customers refine expectations Estimates are basis for customer’s cost assessment Give honest estimates that customers can trust 😂 Don’t do this: https://youtu.be/t9SVhg6ZENw Work at a sustainable pace No heroes, no all-nighters, no super-human feats Either you get the code done like a human being, or you don’t

Developer Customer Requirements Create USs USs Check USs Corrections/Clarifications Fix USs Add Estimates USs + Estimates Add Priorities USs + Estimates + Priorities Choose USs for Iteration Divide Chosen USs into Tasks Estimate Tasks Assign Tasks to Workers Get to Work!

Principle: Customer sets priorities Ensures alignment with customer goals Helps customer feel in control Project isn’t going “off the rails” Estimates help customer maximize cost-benefit

Priority Numbering Scheme Multiples of 10: 10 - Highest priority 20 30 40 50 … - Lowest priority Non-multiples of 10 may be used if helpful

So now you have… Collection of user stories With estimates And customer priorities What’s next?

Developer Customer Requirements Create USs USs Check USs Corrections/Clarifications Fix USs Add Estimates USs + Estimates Add Priorities USs + Estimates + Priorities Choose USs for Iteration Divide Chosen USs into Tasks Estimate Tasks Assign Tasks to Workers Get to Work!

From USs to Tasks User Story Estimate

Incremental Development Principle Each task produces running code Unit tests count

Summary Customer-centered requirements and planning process Estimation – problems and principles Planning Poker Prioritizing – problems and principles Priority numbering scheme Incremental development principle http://flic.kr/p/aCLor3