Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools.

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
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
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.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Agile development By Sam Chamberlain. First a bit of history..
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
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.
RUP And Agile Development Processes Walker Royce and Gary Pollice.
Agile Methods.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
OPM: the USAJOBS Product Owner Perspective By Alesia Booth & Richard Cheng.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
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.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
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.
Software Engineering Lecture 7 Lecture # 7 Agile Software Development Fahim Khan Assistant Professor of Computer Science UOL, Sargodha
#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
10 key principles of agile software 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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Embedded Systems Software Engineering
Software Engineering Principles I (Spring 2017)
Chapter 5 Agile Development Moonzoo Kim KAIST
Introduction to Agile Software Development
Principles for Agile Development
Agile Training Day 2 November 17, 2015.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Software Development
Chapter 5 Agile Development
Software Engineering (CSI 321)
Project Management and the Agile Manifesto
How to Successfully Implement an Agile Project
The Agile Manifesto is based on 12 principles
Agile Process: Overview
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation. Responding to change over following a plan

Agile Development Agile Development was a “revolution” that attacked the old guard. Agile Development was developed to overcome real and perceived weaknesses in conventional SE. It is not applicable to all projects, products, people and situations. But it can be applied as an overriding philosophy for all software

Agile Development It is often difficult or impossible to predict how a system will evolve. Market conditions, end-user needs, new competitive threats, new technology all evolve without warning. SE must be agile enough to respond to a fluid environment. But it does not mean that we discard SE principles, concepts, methods, and tools. The old SE must adapt to the challenges that demand agility.

Agile Development: What is it? Combines a philosophy and a set of development guidelines Encourages customer satisfaction Early incremental delivery of SW Small, highly-motivated teams Informal methods and development simplicity Stress delivery of analysis and design Active and continuous communication with customers

Agile Development: Who does it? Software engineers and project stakeholders work together. An agile team that is self-organizing and in control of it’s destiny Team fosters communication and collaboration among all members

Agile Development: Why important? Current environment is fast-paced and changing. Offers an alternative to conventional software engineering for many (most?) projects. It has demonstrated it can deliver successful systems quickly.

Agile Development: What are Steps? Agile Dev. Could be called software engineering lite? Keeps basic steps: communication, planning, modeling, construction, delivery and evaluation. But basic steps morph into a minimal task set that pushes the project team toward construction and delivery.

Agile Development: What is work product? There is only one really important work product is an operational “software increment” delivered to customer on commitment date.

Agile Development: How to ensure it is done right? If the team agrees that the process works. If the team produces deliverable software increments on time. If the SW satisfies the customers Then it is done right!

Agile Development: pros and cons SW is done by people. People are different and show great variation in working styles. People are different in – skill levels – creativity – orderliness – consistency –Spontaneity

Agile Development: pros and cons May not impose the discipline in communication, planning, modeling, construction, delivery and evaluation that is needed. It is not license to hack out solutions. Agility is dynamic, content specific, aggressively change embracing, and growth oriented.

12 Principles of Agile Development 1.Highest priority is to satisfy customer 2.Welcome changing requirements, even late changes. 3.Deliver working SW frequently 4.Stakeholders and SW team must work together continuously. 5.Build around motivated individuals. Give them support and resources… then trust them to get it done. 6.Most efficient info exchange: face-to-face

12 Principles of Agile Development 7. Working SW is primary measure of progress 8. The process promotes sustainable development. 9. Continuous attention to technical excellence and good design. 10. Simplicity – the art of maximizing the amount of work NOT done. 11. Best results emerge from self-organizing teams. 12. Teams regularly review their team to become more effective.

Politics of Agile Development There is considerable debate about benefits of Agile Development and more traditional software engineering. The two sides say: Traditional SE Methodologists are anal retentive and would rather have flawless documentation than a good system. Agile Developers are glorified hackers who will have big problems when they try to scale up their toys into enterprise strength SW.

Agile Development: Human Factors The SW process molds to the needs of the people and team Competence – Innate talent, SW skills, knowledge of process used to develop SW Common focus – all members of a team must have a common understanding of the goal(s). Collaboration – with members of the team, with customers and with management. Decision-making ability – team can control it’s destiny and has the autonomy for technical and project issues

Agile Development: Human Factors Fuzzy and ambiguous problem solving – Have to deal with vague estimates, guesses, uncertainty, etc. Mutual trust and respect – team members must have this so the whole is greater than the sum of the parts. Self-Organizing – 1) organizes the team, 2) team organizes the processes to be used, and 3) team organizes the work schedule.