Adopting Agile THE PRACTICES BEHIND THE THEORY. Agile Manifesto Individuals and interactions over process and tools Working software over comprehensive.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Agile Methods.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
How Agile Are You? Larry Apke Agile Expert
CONFIDENTIALITY © 2010 BA ValueBASE LLP, The concepts and methodologies contained herein are proprietary to BA ValueBASE LLP. Duplication, reproduction.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
Chapter 5 애자일 개발 Agile Development
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
UX meets XP. Overview of core approaches to creating interactive software Waterfall, iterative design, Agile Hybrid methods of evaluation H&P Chapter.
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
Software Engineering (CSI 321) An Agile View of Process 1.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
#2-What is Agile? Why Agile? Subtopics 1- Agile motivation for software / systems 2- Agile tenets and principles 3- Agile as a risk mitigation strategy.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Chapter 3 Agile Development
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.
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management and the yin & yang of
Introduction to Agile Software Development
Principles for Agile Development
The Agile/Non-Agile Debate
Agile Training Day 2 November 17, 2015.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Project Workflow.
Project Management and the Agile Manifesto
How to Successfully Implement an Agile Project
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

Adopting Agile THE PRACTICES BEHIND THE THEORY

Agile Manifesto Individuals and interactions over process and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Respond to change rather than follow a plan

Agile Principles The highest priority is to satisfy the customer through early and continuous delivery of valuable software Always welcome changing requirements Deliver working software frequently Business people and developers must work together daily throughout the project Build projects around motivated individuals, and give them the environment they need to get the job done Face-to-face communication is the most effective and efficient means of conveying information Working software is the primary measure of progress Agile processes promote sustainable development

Agile Principles Continuous attention to technical excellence and good design enhances agility Simplicity – the art of maximizing the amount of work not done – is essential The best architectures, requirements, and designs emerge from self-organizing teams At regular intervals, the team reflects on how to be more effective, then tunes and adjusts its behavior accordingly

Agile and waterfall comparison Phases of development Artifact based milestones Infrequent delivery Limited, prevented, costly changes High periodic ceremony, high documentation Big up front requirements Large, departmental centric teams Strict role adherence Work breakdown structure Cycles of development Delivery based milestones Frequent delivery Regular, embraced, low-cost changes Low frequent ceremony, light documentation Just in time elaboration Small, cross-functional, project centric teams Blended roles Feature breakdown structure WaterfallAgile Page 5 April 5, 2012

Timeline comparison Page 6 April 5, 2012 AnalysisDesignDevelopmentTestingOpsProd EpicStoriesCycleReviewOpsProd Traditional Agile

Agile Myths Agile development is undisciplined Agile teams don’t plan Agile development is unpredictable and we need predictable plans for future planning Agile is the latest fad and won’t work here. Waterfall/ CMM/ISO are much more stable and consistent Lean thinking is a recent trend and will be replaced by something else There is no end to a project; agile development continues forever

Agile Myths The big infrastructure must be delivered first and then we can release features The tester will find any defects that exist, they can test out any issues Development was broken into sprints and we attended all the scrums; therefore we should be successful An application that is still in flux can’t be tested Agile teams don’t plan more than 3 weeks out The Scrum Master is our project manager

Focus on flexibility Constantly remove waste – Value vs. waste vs. necessary waste Practice of sashimi – Feature breakdown vs. work breakdown – Minimal marketable feature Decrease the cost of change – Remove unnecessary waste – do less – Simplify and automate Frequent delivery and frequent feedback Art of agile in 4 easy steps Page 9 November 17, 2011

Value vs. Waste Team constantly evaluates work in progress Value Added Stories that directly or indirectly add value to the project Activities that directly or indirectly add value to the project Necessary Waste Work that needs to be done but does not directly add value Pure Waste Activities that add no value to the project Delays in hand-offs Continuous drive to eliminate/minimize waste and focus on Value Added

Sashimi November 17, 2011 Page 11 Feature breakdown vs. work breakdown Important to get vertical slices of functionality Focus on demonstrable stories vs. technical tasks Something that the product owner would pay for Responsibly breakdown as small as possible

Decrease the cost of change November 17, 2011 Page 12 Requires extra discipline in development Requires technical environment to support it Good design – single responsibility principle, abstraction, encapsulation If it’s painful, do it more often Practice, practice, practice Carry less baggage

Frequent feedback November 17, 2011 Page 13 Embrace late changing requirements Focus on actual need vs. perceived need Don’t know what we want until we try it Difference between course correction and spinning Time value of features

What makes a project a good fit for agile? Changes are likely Cost of a change is low Full team participation Risk level? Team ability / skills? Overall cost? Visibility? Would I build a house this way?

Best ways to fail with agile Change practices without changing behavior Ignore the engineering disciplines Avoid / delay the painful activities Apply work breakdown structure Ignore the status data Focus on only one discipline Maintain discipline silos Common pitfalls

Stages of adoption - Introduction 1. Daily scrums with full team participation - all analysts, all developers, all testers, and product owner, adhering to scrum rules - less than 15 minutes, active stories only, 3 questions, NOT issue solving 2. Conducting retrospectives regularly with outcome documented in a central location, achievable number of action items assigned to an owner, and implementing identified opportunities 3. Release Review - Reviewing every story with the entire team and encouraging ACTIVE conversation about assumptions and outstanding questions while assigning story points 4. Peer code reviews on each story 5. 80% automated unit test code coverage for newly developed / changed code

Stages of adoption - Emerging 6. Creation of stories and progression through standard story lifecycle workflow 7. Reviewing Status Report / Dashboard regularly to improve velocity and estimation and identify potential bottlenecks 8. Respecting Work In Progress limits - focus on getting fewer things done vs. lots of things started 9. Small incremental changes with frequent (daily) check-in to source repository…..Stories are integrated into trunk, source tagged, and deployed to a controlled environment before moving story to final validation 10. Product Owner involvement throughout the life cycle of the project - writing of Epics, feature breakdown, providing the value statement for the work being done, and validating all stories

Stages of adoption - Understanding 11. Every Story is a minimal marketable feature being a vertical slice of the system, and follow the INVEST model - Independent, Negotiable, Valuable, Estimateable, Small and Testable, with a meaningful goal statement 12. Writing acceptance criteria in Given When Then format using business examples rather than values for granular variables, and carefully selecting test scenarios to reduce redundant tests (equivalence partitioning analysis) and include boundary values

Stages of adoption - Perfecting 13. Fully automated deployment - including DB scripts, app deployment, container configuration 14. Automated BDD / ATDD - Behavior Driven Design / Acceptance Test Driven Design (Acceptance tests written before coding, higher level application interface emerges) with 100% automation of Acceptance Test

Questions?