Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

Prescriptive Process models
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Software Process Models
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agenda −Scrum with TFS 2010 using MSF for Agile 5.0 −Planning the Project −How do you plan the project? −Project planning in TFS 2010 −Planning a Sprint.
Agile Planning. The problem with documentation Argument: “Heavy” documentation too much for most business-style projects.
Risks  All projects have some degree of risk  Risks are issues that can cause problems  Delay in schedule  Increased project costs  Technical risk.
05 | Define End Value for the Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Chapter 6 Prototyping, RAD, and Extreme Programming
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
U-Mail System Design Specification Joseph Woo, Chris Hacking, Alex Benson, Elliott Conant, Alex Meng, Michael Ratanapintha April 28,
Big Projects  Part of this class is about picking a cool software project and building it 1.
1 Agile Release Management. 2 Recall - Highsmith’s remedies for schedule risk Team involvement in planning and estimating Early feedback on delivery velocity.
1 Agile is Dumb. 2 Look at Moodle List of Essays Get in groups of 4-5 Divide and read the readings in the category “agile is dumb” – About 20 minutes.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Agile Software Development Brian Link
What is Scrum Process? Where is it used? How is it better?
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
Prescriptive Process Models
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
5. Planning.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
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.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
1 Agile Release Management. 2 Recall - Highsmith’s remedies for schedule risk Team involvement in planning and estimating Early feedback on delivery velocity.
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.
CS 5150 Software Engineering Lecture 3 Software Processes 2.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
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.
SE503 Advanced Project Management Dr. Ahmed Sameh, Ph.D. Professor, CS & IS Agile Principles: Customers and Products.
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Project Management
Schedule to end of semester Formal Project presentations will be on Mon, May 1 and Wed, May 3. All teams will make presentations on both days. Presentations.
Ahmed Idris Tahir Waseel Application Service Provider.
 Overview of agile project management  Key concepts and terminology  Available resources and tools  Applicability of agile project management to different.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Game Design, Development, and Technology
CS 5150 Software Engineering
T Project Review Group: pdm I2 Iteration
Extreme Programming.
Software Process Models
Create login screen Decide how you want you log in screen to work. I have 3 examples of different difficulty/approach, but you should have your own ideas.
Taking an Iteration Down to Code
Johanna Rothman Teams Deliver Features Chapter 6
Scrum MODULE 3 – Part 3.
Johanna Rothman Agile Team Measurements Chapter 12
Summarizing Our Models to Date
Johanna Rothman Report Your Project State Chapter 14
Johanna Rothman Know What “Done” Means Chapter 11
Chapter 11 – Project Dashboard
Software Process Models
Agile Development – a new way of software development?
Scrum in Action.
Planning and Estimation
SDLC (Software Development Life Cycle)
Presentation transcript:

Agile Planning Dealing with Reality

Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes

Examples of the Unexpected Everything seems to be going well until… Crucial teammate drops the class Realization that you aren’t going as fast as you thought You learn some new features that must be added halfway through You run out of time

Agile Planning These problems are addressed by measuring the speed the team is working (the project velocity) and estimating when production-ready code will be delivered

Iterations Number of iterations = Number Total Units / Estimated Units Per Iteration e.g. 100 / 10 = 10 iterations to completion Pick iterations to deliver “MMF” – Minimal Marketable Features Can deliver by core feature set or by date We are approaching this one iteration at a time partly due to our fixed date at the end of the semester

Iterations Important to convey our estimates are guesses not hard delivery dates

Agile is flexible around scope To keep deadlines agile development tends toward tradeoffs around scope What do you do when the customer wants to add a new user story to your iteration? What is your team’s reaction when the customer wants to add new features late in the development process?

Changing Requirements Get customers away from the mindset that they have to add everything in the requirements phase Everyone can learn as you go instead of trying to get everything perfect up front

Could extend the date But customer can’t add something and not expect something to come off for the date to remain the same What if your customer refuses to give up on scope and wants the same date?

Why the client prioritizes stories Reality ends up giving us requirements scrubbing

Team Velocity Start conservative; remember we are delivering a production-level story

Burn-down chart We’ve been using a simple version to show our stories and delivery date Shows at a glance – How much work has been done – How much work remains – The team’s velocity – Our expected completion date

Burn-down chart

More Realistic Burn-down chart Tells story about what happened, makes events visible and see cause/effect Honest and open with customers and developers

Burn-up chart Shows added work of new user stories

Some Scenarios What do you do?

Spartan Warrior strategy for checking reality of deliverable date

Add new team member?

(due date pushed earlier)

Focusing on an Agile Iteration Goal is to produce production software for user stories within a short iteration but we have more to do than just coding

Analysis

Sample One Pager

Just In Time Analysis Analysis done with latest information Everyone can learn as you go Avoid rework by analysis too early

Sample Analysis Artifacts - Flowchart

Sample Analysis Artifacts - Personas

Analysis Artifacts – Paper Prototypes

Analysis Artifacts – Acceptance Tests Create work permit from Requestor interface, should be visible from Admin and Approver interfaces Create work permit, save, identical permit should be retrievable after logout and login …. How do we know if this thing is working?

Development and Testing We’ll have more to say about this later

Other Iteration Activities Make sure the work for the next iteration is ready (user story planning meeting) Get feedback on the last iteration’s stories (showcase with customer) Plan for actually doing the work for next iteration (iteration planning) Continuously look for areas of improvement (mini retrospective)

Story Planning Meeting Is the next batch of user stories ready to go? Have we done our homework? Showcase Demo project and features completed Make it fun Get feedback

Iteration Planning Meeting Use burn-down chart

Mini Retrospective In minutes, where are you lagging and where are you kicking butt?

Constructive Feedback Avoid pure criticism and offer a way to improve performance Cold – “Suzy, I noticed you did some great work on the print module last iteration, but your unit tests were really lacking.” A little sweetness – “Suzy, awesome work on the print module. Apply that same level of detail to your unit tests, and you are soon going to be world-class.” Objective – “Suzy, the print module runs great and the code is nicely organized. The unit tests didn’t cover all the functionality though and should check for error conditions as well.”

Do whatever works for you All in one meeting or separate meetings? Some activities conducted online? Story planning meeting not needed because it happens naturally through regular interactions? Just make sure that each iteration you show your customer working software, set expectations for the next iteration, and look for ways to improve