AGILE DEVELOPMENT WITH A CAPITAL A



Similar documents
10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

Akhil Kumar 1, Bindu Goel 2

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

Agile Projects 7. Agile Project Management 21

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Software Development with Agile Methods

Software processes that are:

Introduction to Agile Software Development

Agile Software Development. Mohsen Afsharchi

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Agile project management: A magic bullet?

Agile and Secure: Can We Be Both?

Role of Agile Methodology in Software Development

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Software Development Life Cycle (SDLC)

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Applying Agile Methods in Rapidly Changing Environments

In today s acquisition environment,

How to manage agile development? Rose Pruyne Jack Reed

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

CS4507 Advanced Software Engineering

A Capability Maturity Model (CMM)

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Agile Software Development Methodologies and Its Quality Assurance

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Agile Project Management By Mark C. Layton

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Agile and Enterprise Architecture

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Agile Development Overview

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Selling Agile at Your Company

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Agile Requirements Best Practices

Scale agile throughout the enterprise A PwC point of view

Lean Software Development and Kanban

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

The Truth About Agile Software Development with Scrum, The Facts You Should Know

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

Department of Industrial Engineering. Sharif University of Technology

Introduction to Agile Scrum

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Agile Software Development Methodologies & Correlation with Employability Skills

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Development. Lecture 3

Increasing Development Knowledge with EPFC

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Agile Software Development

Applying Agile Project Management to a Customized Moodle Implementation

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

Moving from a Plan Driven Culture to Agile Development

Why the Traditional Contract for Software Development is Flawed

RUP for Software Development Projects

When to use Agile/Scrum

Comparison between Agile and Traditional software development methodologies

Agile for Project and Programme Managers

Preface Agile Testing Review

Software Development Process

The 2015 State of Scrum Report. How the world is successfully applying the most popular Agile approach to projects

Issues in Internet Design and Development

Global Standards and Publications

Agile Techniques for Object Databases

Software Engineering I (02161)

Comparing Agile Software Processes Based on the Software Development Project Requirements

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Quality in an Agile World BY SCOTT AMBLER Ambysoft, Inc.

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

SOFTWARE PROCESS MODELS

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July Developed and sustained by Ken Schwaber and Jeff Sutherland

Lean QA: The Agile Way. Chris Lawson, Quality Manager

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

DSDM Case Study. An Agile Approach to Software Systems Development for the Highways Agency

Comparative Analysis of Different Agile Methodologies

How To Plan A Project

Iteration Planning. also called Iteration Kickoff

White Paper IT Methodology Overview & Context

Building Software in an Agile Manner

The So5ware Development Process (SDLC)

Transcription:

AGILEDEVELOPMENT WITHACAPITAL A

2 On June 3, 2009, Plante & Moran attended the Midwest Technology Leaders (MTL) Conference, an event that brings together top technology professionals in the Midwest to share trends, best practices, and opportunities. With the help of MTL, Table Sponsors, CIOs, and additional conference attendees, we conducted 12 roundtable discussions on a variety of timely and important IT topics. As an outgrowth of the roundtable discussions, we produced a series of educational white papers. Contents Abstract 2 Introduction 2 Agile Adoption Rate Survey 3 Conclusion 6 ABSTRACT Many organizations believe they re software development methodologies are agile. More still want to become agile. Interestingly, there are levels of agility. There s agile, and there s Agile. How do you really know when you re Agile with a capital A? Read on to learn more. INTRODUCTION In the late 1990s, several software development methodologies began to receive public attention. Each had a different combination of old ideas, new ideas, and transmuted old ideas. However, they all emphasized close collaboration between the programming team and business experts; face to face communication (which has been proven to be far more efficient than written documentation); frequent delivery of new, deployable business value; tight, self organizing teams; and, sometimes, unique ways to craft the code and the team such that the inevitable requirements churn was not a crisis. In the context of software and systems development, the term "agile" (with a small "a") means that development teams are nimble, flexible, responsive to business needs, and able to adopt new technologies and techniques that can improve software delivery. We ve seen development organizations trying to become more agile for a number of reasons, including: Competition: "If we can't deliver new features or products quickly, we'll lose business to our competitors." Credibility: "Our customers and business users hate us; they have no confidence that we will deliver what they want or need at least in this lifetime."

3 Fear: "If we don't improve our quality and speed up our project delivery, the company will outsource development to someone else." There are many ways that a software development team can become more agile. Delivering software in smaller, more frequent releases; instituting frequent feedback cycles from customers; and using componentand service based architectures are just a few examples. All of these can improve a team's ability to meet users' needs and deliver value to the business. And, developers can adopt these techniques incrementally, without having to disrupt or overhaul their current development process or environments. The widely used Rational Unified Process (RUP) is agile. RAD approaches are agile. Even running repeated series of short waterfall projects, rather than delivering one large release, can make you a bit more agile. In contrast, the term "Agile" (with a capital "A") refers to a very specific set of processes that have evolved over the past 15 years, including extreme Programming (XP), Scrum, Feature driven Development (FDD), Crystal, DSDM, and Lean Software Development. The Agile Alliance (http://www.agilealliance.com/), a nonprofit organization created by the thought leaders behind most of the Agile processes, promotes a core set of values that all Agile processes must follow: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Every Agile process supports these values, albeit in different ways. Some, like Scrum, address team management. Others, including XP or DSDM, address core development activities or other activities of the development life cycle. Note that users of Agile processes do not have to follow all of a process's Agile practices, nor does use of one process preclude the use of another. Many, such as Scrum and XP, are quite complementary. Why is this distinction important? We have two main reasons for stressing the difference between "Agile" and "agile" processes: 1. Companies adopting Agile processes must be prepared to really change the way they build software, and this change is hard. But companies that do achieve this change will realize some significant benefits in the productivity, quality, and value of the software that they deliver. 2. Companies that aren t ready or able to undertake this level of change can still become more responsive and flexible in the ways that they build software. Then they'll become more agile and will begin to reap the benefits that Agile practices can deliver. This incremental approach can ultimately lead to a truly Agile shop, but at some point the organization will have to step back and acknowledge that it's not a direct path. Agile Adoption Rate Survey: February 2008 The survey was performed in early February 2008, and there were 642 respondents. Some findings include: 1. 69% of respondents indicated that their organizations are doing one or more agile projects. Of those that hadn't yet started, 15% believed their organizations would do so within the next year. 2. 61% of developers think that their organizations are doing agile development, whereas 78% of management thinks so. 3. 82% of organizations doing agile were beyond the pilot project phase.

4 4. Respondents overwhelmingly indicated that agile teams are producing higher quality, have greater productivity, and enjoy greater stakeholder satisfaction. See Figure 1. 5. Agile success rates: 82% for co located teams, 72% for near located (people in different cubes, on different floors, working from home), 60% for significantly distributed (planes would be involved to get people together). See Figure 2. 6. 84% of agile teams have iteration lengths of 4 weeks or less, and 2 week iterations are the most popular. 7. Although, on average, the costs are lower on agile teams, 23% of respondents believe they re experiencing higher average costs. 40% said costs were unchanged, and 37% had lower costs. 8. Co located agile projects are more successful on average than non co located, which in turn are more successful than projects involving offshoring.

5 Figure1.Effectivenessofagilesoftwaredevelopmentcomparedwithtraditionalapproaches. Figure2.Agilesuccessratesbylevelofteammemberdistribution.

6 CONCLUSION There are still some limitations of the agile process Agile projects in most organizations are influenced by non Agile elements. When external factors come into play, it skews the agility of the process to a certain extent. If an Agile project has a dependency on a project that s non Agile, then its priorities get rearranged to accommodate the non Agile element. Project dates are preset into a definite number of sprints to do a predetermined scope of work. Though these limitations are worked around, it definitely does impact the Agility of the process. Being Agile and working on overcoming these limitations is what this process is all about. Agile is not a solution to all the IT development process shortcomings, but it definitely bridges the gap between IT and business value more than any other process. Overall, Agile is a big step toward more efficient development, but it s still a long way from being "mature. Sources Cited Liz Barnett. "Agile Versus agile Development" http://www.agilejournal.com/index2.php?option =com_content&do_pdf=1&id=18 Agile Alliance. http://www.agilealliance.com/ Scott W. Ambler "Why Agile Software Development Techniques Work: Improved Feedback" http://www.ambysoft.com/essays/whyagilework sfeedback.html THANK YOU Plante & Moran would like to thank Chris Beale, Table Sponsor from Pillar Technologies, Gary Baker, CIO at Gale Cengage, and all roundtable participants for their contributions. For more information, please contact: Doug Wiescinski 248.223.3208 Doug.Wiescinski@plantemoran.com