Agile Familiarisation

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Software Development Life-Cycle Models
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.
Systems Analysis and Design in a Changing World, 6th Edition
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,
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
Agile development By Sam Chamberlain. First a bit of history..
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP 350: Object Oriented Analysis and Design Lecture 2
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
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.
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
Software Development Landscape
Agile Programming Principles.
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
Responding To Change Agile Familiarisation Overview of what Agile is June 2008.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
Why (or When) Agile Fails Creating high performance software delivery teams.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Agile Development Implementation Considerations. Agile software development is a methodology based on iterative and incremental development, where requirements.
10 key principles of agile software development
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
Misconceptions about Agile Development ALSO KNOWN AS «STEP AWAY FROM THAT JOB ADVERT!»
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Project Management Software development models & methodologies
Introduction to Agile Project Management Presented by Maury Richards, CSP.
Project Workflow.
Software Engineering cosc 4359 Spring 2017.
Agile development: a PM’s perspective
Shifting to Agile: Are University Libraries Ready?
Software Engineering Process
Ernest Cachia Department of Computer Information Systems
Project Workflow.
Software Development methodologies
Iterative and Agile Development
Software Engineering Process
Agile Software Development Brian Moseley.
Chapter 2 SW Process Models
Requirements and the Software Lifecycle
COMP 350: Object Oriented Analysis and Design Lecture 2
How to Successfully Implement an Agile Project
Timebox Development Instructor: Manfred Huber
Lecture 2 Revision of Models of a Software Process
Agile Process: Overview
Chapt 2 Iterative Evolutionary Agile.
Process Models Coming up: Prescriptive Models.
Scrum Science NGSS: Engineering, Technology, Applications of Science
Software Engineering Process
Agile Development – a new way of software development?
Agile software development
Software Engineering Process
Adapting Agile in Pharmaceutical Industries
System Development Methods
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
CSCI 360: Software Architecture & Design
Presentation transcript:

Agile Familiarisation Overview of what Agile is June 2008 Responding To Change

Sound Familiar Time to market for projects is too long Unrealistic deadlines Poor Estimation Requirement Changes Immature architecture and design No Documentation or too much Inadequate Testing

Projects today are... Too slow “My needs are changing, but IT can’t keep up” “Nothing gets done in less than a year” Not valuable enough “Project scope is wrong. And we’ve already coded half the system” “I’ve got lots of documentation that no one uses for a system that doesn’t meet my needs.” “We waste time designing and building features that are never used” Not responsive “Projects force the agency to close on requirements before they really know what they want” “Every little modification results in a change order” Not in control “Don’t know what’s going on with the project” “I’m stuck with consultants that don’t provide value”

Waterfall versus Agile

Comparing Typical water fall model development (With some overlap) Agile model with Iterations Design Development Test Requirements Small iterations help in getting early feedback Requirements Requirements Requirements Design Design Design Development Development Development Testing team peak Test Test Test Development team peak Design team peak Requirements peak No big team peaks/Spikes Development team is idle or not formed Requirements and test team are not on project All the teams formed at start of project Close communication reduces re work Better requirements understanding with user stories Better quality products with regular demos and testing Each iteration gives value to business In production early Ability to absorb change requests easily Little scope in the project plan for accepting changes with out re-planning and long Change request cycles Re work due to late feed back and unclear requirements Business only see finished article during UAT Benefits not realised till end

Iterative Incremental Development “Iterative development is an approach to building software (or anything) in which the overall lifecycle is composed of several iterations in sequence. Each iteration is a self-contained mini-project composed of activities such as requirements analysis, design, programming, and test. Usually the partial system grows incrementally with new features, iteration by iteration; in other words, incremental development.” --Craig Larman

Iterative Development Time Visibility Iterative Development All-At-Once Development

Incremental Development Time Value All-At-Once Delivery Incremental Delivery

What is an Agile methodology? Agile development is a methodology of software development that emphasizes customer satisfaction through continuous delivery of Functional software. Based on a variety of iterative development disciplines Agile methods put developers to work in small teams to tight budgets and short timescales. Agile methods are considered Lightweight People-based rather than Process-based Adaptive rather than predictive Less document oriented than rigorous methods

Why Agile Create and build the right requirements Reduce waste Accelerate client value Improve predictability Provide unparalleled transparency and control to the client

What is an Agile methodology? (Contd..) Agile Method Types

What is an Agile methodology? Agile Manifesto: Values Working software over comprehensive documentation Customer collaboration over contract negotiation Continuous Testing Short iterations (Incremental cycles) Responding to change over following a plan Individuals and interactions over processes and tools

Agile summary - on a postage stamp.. establish a vision change always happens so prioritise your activity do something small get feedback decide next steps Personal view of Agile – my words

Agile Myths …. no design no testing no documentation no idea of progress poor quality no plan auditors won’t allow it

Key benefits of Agile Increases Flexibility - Minimizes up-front investment and maximizes return on investment (ROI) by creating an efficient IT development process Delivers the right solution - Aligns users and stakeholders with the right people to deliver the solution that the business actually needs Accelerates Delivery - Iterations get to the right solution faster Reduces risk and increases Quality - Greater stakeholder visibility and control

Key benefits of Agile…Contd Increases Flexibility 2003 Standish Group report highlighted an alarming statistic with technology projects: Nearly two-thirds of the features built into these solutions are rarely or never used Solution: Evolutionary design It is a nonlinear approach where change is expected, and where the team uses actual development to gain empirical data to inform the design Blind alleys or requirements that simply don’t work are abandoned early on or are identified and eliminated before they are even reached The solution evolves over multiple cycles (known as iterations), converging on an optimal response to the business problem with minimal waste.

Key benefits of Agile…Contd Accelerates Delivery Iterations reinforce evolutionary design and form a repetitive 'timebox' mentality for the project teams and clients. This translates into speed: the solution gets delivered faster and earlier Solution The development teams deliver working, fully production-grade software much earlier in the engagement This early software is not merely a proof of concept. The team focuses development first on high-risk and high-value aspects, which means the earliest completed software is actually the most critical part of the solution. Stakeholders can choose to deploy this functionality (they may also elect to learn and improve it to converge on an optimal solution over multiple iterations) Putting working software in front of business users early yields other critical benefits: it helps legitimize the project spend, drives eventual adoption, and, thus, facilitates organizational change

Key benefits of Agile…Contd. Reduces risk and increases quality Stakeholders know exactly where the project stands at all times and can change its course as the business needs change Solution The Story Log The story log is an active, living scope of work that stakeholders use to drive the initiative A story is a work item that delivers tangible stakeholder value within the iteration. Examples include implementing a report, adding a new feature to a web application, etc.

Agile Disadvantages It’s hard! Makes all dysfunction visible Its doesn’t fix anything: the team has to do it Feels like things are worse at the beginning Bad products will be delivered sooner, and doomed projects will fail faster Partial adoption may be worse than none at all

(sumit_gupta2001@yahoo.com)