Misconceptions about Agile Development ALSO KNOWN AS «STEP AWAY FROM THAT JOB ADVERT!»

Slides:



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

Applying Agile Methodologies to Traditional Publishing Kristen McLean Bookigee, Inc. February 12 th, 2011.
Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
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.
3 Traditional Development Methods Of (SDLC) -Prototype -Waterfall -Agile Group9 Q2 Heng shujia 0823.
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Anyone interested in this approach ? Over the past couple of years, I have developed PiVoT software to support the Agile development process. It emphasises.
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.
Agile Methods.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
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.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
Rally: One Writer’s Perspective. Background 28 years in technical communications including Symantec, Autodesk, and Cisco. Participated in Rally-based.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Agile Methods. Agile Process/Method lightweight processes/methods that can be used to manage and control software and product development using iterative,
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Building a new HMS from scratch Bite size software delivery Richard Troote Alex Stephenson Head of ICT Head of Property Services.
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.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
UX meets XP. Overview of core approaches to creating interactive software Waterfall, iterative design, Agile Hybrid methods of evaluation H&P Chapter.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
#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
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 Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
Steve Lundquist, PMP, M.Sc..  As a PMP certified program manager, there are numerous tools, processes, methodologies, and tricks that are available to.
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
© 2014 IBM Corporation “Leaders Guide to Radical Management” for DevOps with Steve Denning Chapters 6 and 7: From Bureaucracy to Dynamic Linking by Delivering.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Introduction to Agile Software Development
Principles for Agile Development
Project Workflow.
Agile Software Development Paradigms
How to Successfully Implement an Agile Project
The Agile Manifesto is based on 12 principles
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Presentation transcript:

Misconceptions about Agile Development ALSO KNOWN AS «STEP AWAY FROM THAT JOB ADVERT!»

How I’m going to bore you tonight: A quick overview of the Agile Manifesto The main course: myths and misconceptions Who, what and why do these misconceptions hurt The 12 principles of Agile Development Tell me your stories! Myths and misconceptions that you have met …and you can argue with me in front of a pint at the pub

Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Published in February 2001

Mandatory Dilbert Tax:

Myth 1 Agile is “new” (alias, “not mature”) Facts: In 1970, Tom Gilb publishes the concept of EVO (evolutionary project management) Lightweight software development methods date back to 1990 In 1995 SCRUM is born in 1996, Crystal Clear and eXtreme Programming In 1997, feature-driven development The Agile Manifesto was published in 2001

Myth 2 Agile means not having to write documentation Facts: Releasing a Working Software is more important than writing extensive documentation, but not a replacement “Documentation” is not just a page on a Wiki: Unit Tests, when written properly, can be an effective way to document the code Some day, someone will pick up your work to maintain it. Document its features, FFS!

Myth 3 We’re doing SCRUM (or Kanban), that means we’re agile Facts: Scrum was designed to be used by Agile teams, but by itself it’s not sufficient to make your process agile It’s actually very easy to use SCRUM within a Waterfall process (Kanban less so, but still possible). Search your feelings: you know it to be true. Agile focuses on reducing process; SCRUM and Kanban are still processes: abusing them goes against the principles of Agile development

Bonus Dilbert Tax!

Myth 4 Agile is not suited for large projects Facts: Agile development typically follows the Iterative Approach rather than the Incremental Approach At every cycle, the product or the prototype must be “working” before adding a new feature (= new cycle) There are more “abandoned” large waterfall projects than large agile projects Even with waterfall, the end result usually differs quite a lot from the original plan

Bonus Dilbert Tax!

Myth 5 Agile doesn’t work in fixed budget projects Facts: Larger projects tend to blow up the budget – the larger the scope, the more the budget will be blown up It’s a common occurrence in waterfall projects as well The problem is not Agile: the problem is mixing fixed budget to oversized scope

Myth 6 There’s only one way to “be Agile” Facts: Agile is a set of principles, not a set of rules Going “by the book” is a good way to get introduced to Agile by using proven and tested processes and tools Each team is different! Do you feel like SCRUM is not for you? Do you think that Kanban doesn’t help you? Invent your own process!

Myth 7 Agile means “no design” Facts: Design in Agile evolves with the product There is no big, upfront design phase Instead, it’s spread across the entire development cycle, tackling design issues only when they show up Technical Excellence and Good Design enhance agility

Myth 8 Agile is just for developers Facts: Agile principles revolve around software development, not developers Creating and delivering a software involves different kinds of expertise, including management, testing, customer relations… If only the developers follow agile principles, the whole process is NOT agile (imagine having an elastic jumping mat inside a box made of concrete)

Bonus Dilbert Tax!

Myth 9 Agile teams don’t need to be managed Facts: Agile processes promote the use of self-organising teams Self-organising != Self-managing Management is still beneficial if not necessary, but must shift focus: defining the goals, prioritising features, act as “domain safeguard”

Myth 10 Agile processes are all about change Facts: The Agile principles encourage change where there is a need to adapt or there is a chance to improve At the same time, change for the sake of changing is not beneficial to any team The real focus is constant improvement, not constant change

Who (or what) is damaged by these misconceptions? Let’s look back at our Dilbert tax

The victims THE DEVELOPERS Missing specifications Lack of coordination with other teams and management Lack of product ownership Lack of engagement with the business values High turnover Lost knowledge

The victims THE MANAGEMENT Missed deadlines Budgets get blown up Projects get abandoned because too slow/too expensive Architectures, specifications and assumptions eventually MUST be re-written from scratch Developers leave

The victims THE PRODUCT Bad practices, hacks and “temporary fixes” No documentation, aka “How the f#çK does this work?” Bugs Never completed or canceled

The victims THE CUSTOMER Poor user experience Missing features Features not needed Late delivery of the product …or not delivered at all

The 12 Agile Principles BECAUSE THE AGILE MANIFESTO IS MORE THAN JUST A SLOGAN

Customer satisfaction by early and continuous delivery of valuable software Welcome changing requirements, even in late development Working software is delivered frequently (weeks rather than months) Close, daily cooperation between business people and developers Projects are built around motivated individuals, who should be trusted Face-to-face conversation is the best form of communication (co-location) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Continuous attention to technical excellence and good design Simplicity—the art of maximizing the amount of work not done—is essential Best architectures, requirements, and designs emerge from self-organizing teams Regularly, the team reflects on how to become more effective, and adjusts accordingly

What is “Agile” then? Agile is a mindset defined by values, guided by principles, and manifested through many different practices. Ahmed Sidky, Executive VP, Santeon