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,

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Advertisements

Property Management Product Development Update Randy Lott Director, Development AMSI.
SDLC – Beyond the Waterfall
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.
Agile development By Sam Chamberlain. First a bit of history..
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
Developing for continuous change UCD demands a different model for development An iterative approach is suitable.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
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.
Software SYSTEMS DEVELOPMENT
Introduction to Agile.
CompSci 230 Software Design and Construction
Software Development Landscape
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
1 Agile Methodology & Programming Ric Holt July 2009.
Agile Programming Principles.
Chapter 4 Agile Development
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Agile Software Development Brian Link
1 SCRUM 22/02/2009 By Siemen Bastiaens >>
IS2210: Systems Analysis and Systems Design and Change Twitter:
Current Trends in Systems Develpment
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Extreme Programming Daniel Baranowski 3/29/06. What is Extreme Programming? An agile development methodology Created by Kent Beck in the mid 1990’s A.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
Project Workflow. How do you do it? -Discussion-
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
CS3100 Software Project Management Agile Approaches.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
CS 5150 Software Engineering Lecture 2 Software Processes 1.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
10 key principles of agile software development
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Agile Manifesto Values. Agile Manifesto - Values In 2001, a group of expert software development professionals met to agree on a common set of guiding.
Think Scrum, act Scrum Scrum Practitioner like a boss Thibault Clavier.
Steve Lundquist, PMP, M.Sc..  As a PMP certified program manager, there are numerous tools, processes, methodologies, and tricks that are available to.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Project Workflow.
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Methodologies and Algorithms
Software Engineering Process
Extreme Programming.
Agile Familiarisation
Agile Software Development
Iterative and Agile Development
Agile Software Development Brian Moseley.
Approaches to Systems Development
How to Successfully Implement an Agile Project
Agile Process: Overview
Introduction to Agile Blue Ocean Workshops.
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

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, over budget or incomplete People were looking for better ways to deliver software But why were most IT projects failing?

AgileMan Consulting Traditional Software Projects Typical projects have these phases:  Estimate size of project based on high level concept  Create full set of functional requirements  Create full set of internal / technical specifications  Write the code (the fun stuff!)  Test/QA the code (less fun but very important!)  Install the new code (cross fingers & hope for the best) Each phase is discrete & usually requires official sign-off before next one can begin Resembles a waterfall, with each “step” serialized

AgileMan Consulting Why Hasn’t That Worked? Specs are hard to get right ahead of time Projects take months or years; markets can change weekly Focus is on “meeting dates,” not satisfying customers Software isn’t like manufacturing  It’s innovation, not replication  Good estimates are hard to come by!  A lot is learned in the doing

AgileMan Consulting So… What, Then? In the 1990s, Extreme Programming (XP), Scrum, Feature-Driven Development and other non-traditional approaches began emerging as people experimented In 2001, representatives of each convened to look for commonalities between them What did they find?

AgileMan Consulting The Agile Manifesto Some common principles were discovered “We value:  People & interactions over Processes & tools  Customer collaboration over Contract negotiation  Responding to change over Following a plan  Working software over Comprehensive documentation” (read But what does any of that mean?

AgileMan Consulting Agile: The 30,000 Foot View Agile methodologies are all about:  Empowering & engaging people at all levels  Keeping the customer involved throughout  Allowing for flexibility  Delivering functionality incrementally (in short Iterations… sometimes as little as 1 week!)  Using short feedback loops to drive adaptation How is that any different from traditional (“Waterfall”) software development?

AgileMan Consulting Waterfall Product Delivery

AgileMan Consulting Agile Product Delivery

AgileMan Consulting Side by Side Comparison Waterfall:  Large, upfront design & specifications  Changes often result in waste (abandoned work)  Everything arrives at end of project (hopefully!) Agile:  “Just in time” design & specifications  Changes are expected and typically don’t cause waste  Features are delivered incrementally throughout project

AgileMan Consulting Side by Side Comparison Waterfall:  Customer involved at start & end of project only  Mid-project demos expensive & often misleading  Project status often unclear or inaccurate Agile:  Customer involved throughout, feedback acted upon  Working software arrives each Iteration as part of plan (no “Demoware”)  Project status updated frequently & demonstrably

AgileMan Consulting Side by Side Comparison Waterfall:  Most testing occurs at end of project (near deadline)  Testing typically done manually (in QA cycle at end of project)  Stakeholders focus on adhering to plan Agile:  Testing happens in every Iteration throughout project  Emphasis placed on automating testing (so that it can be done throughout)  Stakeholders focus on delivering customer value in priority order

AgileMan Consulting Side by Side Comparison Waterfall:  No time allocated in plan for process improvement  Developers & testers are directed by management on what tasks to work on Agile:  “Inspect & Adapt” is built into process & accounted for  Team members are self-directed & encouraged to find better ways to work

AgileMan Consulting So How Does Agile Work? Customer asks for something or builds a prioritized queue of requests Agile team works with Customer to understand what’s really being asked for Agile team sizes each request as it comes in Agile team breaks top priority item(s) into small pieces that can be delivered in a short Iteration Agile team produces those pieces, “done done done” (tested, documented, free of known defects)

AgileMan Consulting So How Does Agile Work? Customer tries out each piece as it comes, provides feedback Partial functionality may / may not go into production Scope of overall project will change as circumstances allow (or dictate)  If project is date-bound, customer gets as many high priority features as possible by end date  If project is feature-bound, customer gets full set of features by earliest possible date