Why Agile Development Is Bad Issues of complex Application Development ODTUG Kaleidoscope 2012 San Antonio, Texas, June 24-28 Marc de Oliveira, Simplify.

Slides:



Advertisements
Similar presentations
Ossi Taipale, Lappeenranta University of Technology
Advertisements

SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Software Process Models
Agile 101.
NAUG NAUG Knowledge Evening – th February 2007.
SOFTWARE ARCHITECTURE AND AGILE DEVELOPMENT AGILITY AND ARCHITECTURE:CAN THEY COEXIST? PEKKA ABRAHAMSSON, UNIVERSITY OF HELSINKI MUHAMMAD ALI BABAR, IT.
IS 214 Needs Assessment and Evaluation of Information Systems Managing Usability © Copyright 2001 Kevin McBride.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
COMP 350: Object Oriented Analysis and Design Lecture 2
CHAPTER 17 Building Software to Support an Agile Organization
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
AGILE Development Group KEVIN STEVEN EKAPUTRANTO RENDY WINARTA STEFANY TRIFOSA GLADYS NATALIA.
Software SYSTEMS DEVELOPMENT
Introduction to Agile.
Transforming Organizations
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
1 Agile Methodology & Programming Ric Holt July 2009.
Agile Programming Principles.
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
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
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-
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
CS3100 Software Project Management Agile Approaches.
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.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Project management methodologies Waterfall vs. agile vs. half-arsed agile.
Confidential and Proprietary 1 Project Management using Scrum at Wachovia.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Software Testing Process
Using Scrum to Improve Teamwork, Communication, Quality and Speed
CS223: Software Engineering Lecture 16: The Agile Methodology.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Using Scrum to Improve Teamwork, Communication, Quality and Speed.
Project Workflow.
Software Engineering cosc 4359 Spring 2017.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Software Development.
Introduction to Agile Software Development
Software Development methodologies
Agile Software Development Brian Moseley.
How to Successfully Implement an Agile Project
Gathering Systems Requirements
Introduction to Agile Blue Ocean Workshops.
Software Process Models
Baisc Of Software Testing
Scrum Science NGSS: Engineering, Technology, Applications of Science
Gathering Systems Requirements
System Development Methods
Product Development & Planning
Presentation transcript:

Why Agile Development Is Bad Issues of complex Application Development ODTUG Kaleidoscope 2012 San Antonio, Texas, June Marc de Oliveira, Simplify Systems

Simplify Systems Methodology Modeling Architecture

Agile: Cary Millsap

Waterfall: Marc de Oliveira Strategy Analysis Design Implementation

Don't Think – just do it Think – don't just do it “You have to break some eggs...”“Understand the business”

Discussion Points 3 Agile misconceptions about waterfall  Agile evangelists use the term “Waterfall” as a synonym for “Bad” which makes it hard to understand the real differences between Agile and Waterfall 3 Problematic Agile ideas  Areas where Agile ideas are slow, more costly or delivers lower quality than Waterfall 3 Conclusions

Misconception 1: Agile – the term Agility is good It does not come from calling it Agile Development agility  Short code release cycles  Few programming constraints Business Agility  Fast reaction to business change  Having a consistent understanding of the business and how it is supported by software

Business Agility AgileWaterfall ScopeSingle processHolistic architecture InvolvementReflect few key users Reflect the entire business QualityQuick decisionsThorough decisions Documentation Implicit documentation Explicit documentation Conclusion Hard for business to navigate Easy for business to navigate

Misconception 2: Show Your Work to Other People Cary Millsap (Agile):  Release Early  Release Often Marc de Oliveira (Waterfall):  Get feedback on analysis  Get feedback on design  Get feedback on implementation Showing Design  Can cloud users' ability to focus on the big picture (improving the business)

Misconception 3: Welcome Changing Requests Cary Millsap (Agile Manifesto):  Welcome changing requirements even late in the development Marc de Oliveira (Waterfall):  Even if they conflict with other requirements?  It does not make sense to spend time working on outdated requirements Salmon jumps … but the earlier you identify a problem the cheaper it is to fix it

Discover Defects Early

Problem 1: How or What ? Both are important:  How : The activities to be supported  What : Things of interest to the business Cary prioritizes How over What  To focus on one problem area at a time  Data can be changed later if it is wrong Marc prioritizes What over How  As Data is more stable and reusable than Process  Activities are easier to change

Problem 2: The Product Owner Agile methodology handles the issue of “understanding the business” by defining the role of a Product Owner The Product Owner  represents the collective requirements  understands the inter dependencies  knows how to prioritize requirements Ie Scrum “outsources” the responsibility of having a consistent view of the business

Example (1) Application for educational organization Priority 1: Students and their courses

Example (2) Then: Personal information, address etc Then: Payments, grades, issue tracking

Example (3) Students may return and study more

Example (4) Then: HR management

Example (5) Many employees are former students  It would be nice to know that earlier...

Problem 3: Refacturing

Agile – without refacturing

Agile – with refacturing

So In The End - Who Wins? “Just Do It” or “Don't Just Do It”

Conclusion 1 (1) Understanding of the Business Cary Millsap's methodology (Agile)  Start with the primary requirement  Discuss it with key users  Develop a prototype  Get acceptance  Repeat with next requirement

Conclusion 1 (2) Understanding of the Business Marc de Oliveira's methodology (Waterfall)  Identify all the things of interest (terms) … and their relationships Consolidate conflicting understandings  Understand all essential activities … based on consolidated terminology Consolidate conflicting understandings  Design and implement processes to support the business

Conclusion 2 Agile is a Coding Methodology Every Sprint must result in running code  “Working software is the primary measure of progress”, The Agile Manifesto All requirement questions are deferred to the Product Owner  It is not part of Scrum methodology how the product owner establishes an understanding of the overall business requirements

Conclusion 3 (1) Understanding vs Speed We have to understand the business  to build the right system  to discover defects early  Conclusion: use Waterfall We want to deliver faster  Conclusion: use Agile Is there a compromise ?

Conclusion 3 (2) Agile Waterfall Methodology Strategy Analysis Design Implementation

Agile Waterfall Agile Waterfall