Agile Development Processes “Make the Customer Successful”

Slides:



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

SDLC – Beyond the Waterfall
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.
Agile Project Management with Scrum
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
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.
Software engineering Process models Pavel Agejkin.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Engineering Modern Approaches
Agile Programming Principles.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
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.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
2  Examine effects of using agile methods for creating Internet products on customer satisfaction and firm performance  Agile methods are informal,
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Agile Software Development By Kshitij Limaye CSC 532.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
1 Discipline vs. Agility. 2 Topics What is discipline? What is agility? What are the misconceptions? Contrasts and home grounds Five critical factors.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
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.
Agile Gintarė Bernotaitytė © 2013.
Project Workflow.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software engineering (cs3529) target classes: cs14: A,B
Agile Methodology and Scrum
Flight Software Conference 2016
Introduction to Agile Software Development
Principles for Agile Development
Agile Training Day 2 November 17, 2015.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Feature Driven Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Extreme Programming.
Valuable Project Management Tools and Techniques
CompSci 230 Software Construction
Agile Software Development
Software Development methodologies
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Software Development Brian Moseley.
Software Engineering (CSI 321)
Project Management and the Agile Manifesto
Agile Software Development
How to Successfully Implement an Agile Project
Agile Software Processes
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Agile Process: Overview
Informatics 121 Software Design I
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Introduction to Agile Blue Ocean Workshops.
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
The New Methodology Martin Fowler Paper Presented by Vyshali Belagodu
Agile Development.
System Development Methods
Presentation transcript:

Agile Development Processes “Make the Customer Successful” CSC 3380 Lecture 04

Source CrossTalk issue on Agile Software Development, vol. 15, n. 10 http://www.agilealliance.org/home http://agiledevelopmentconference.com http://www.alistair.cockburn.us/crystal http://www.xbreed.net

Nature of the Agile Development Process Deliver customer value Process tailored to the problem; not static, possibly not even well-defined Work in a turbulent, uncertain, changing environment; NOT PLAN-DRIVEN Take competitive advantage of change Use in exploratory development Expects volatile requirements; rework is less costly than unnecessary up-front work Clean, simple code is easy to modify

Some Agile models/methodologies Extreme Programming Scrum Rapid Application Development Dynamic Systems Development Methodology Adaptive Software Development Crystal Methodologies

Characteristics of Agile Processes Frequent re-planning Rapid releases Self-organizing teams Simple Design Continuous Test Constant collaboration High communication bandwidth/interaction Minimal methodology Individuals over processes Working software over big documents Customer collaboration over contract negotiation Flexibility over plans

Observations Process repeatability is unattainable Managers can’t demand certainty Technical excellence is more valuable than process Instead of plan-design-build, speculate-collaborate-learn Detailed specs may hinder collaboration We are moving from armor to mobility Can be quite productive (43 lines per hour)

Implementation Suggestions Focus on results (features) Use time-boxing with variable functionality for control Utilize individual strengths and skills Convince top management Consider risk and decide accordingly; but remember long projects are more risky Prototypes can replace documents Choose between flexibility and information

Management Suggestions Look for the sweet spot Choose the process to fit the need Foster communication, but document when necessary Use concurrent development Only bottlenecks demand efficiency Be a methodology minimalist Customers won’t be nervous if software is delivered frequently

Problems for Agile Development Can disguise hacking – “We don’t document anything” Need competent, motivated workers Work best for small projects and teams No architecture Tacit rather than explicit knowledge Not trustworthy for life-critical systems

More Problems for Agile Development Experienced management is vital Requirements creep (although a small time-box will deliver the product before requirements have a chance to creep) Public acquisition rules don’t work with flexible requirements