This page provides access to a variety of downloadable papers that address agile development issues. The following topics are considered:
Agile Modeling and the Rational Unified Process (RUP) [HTM]
Scott W. Ambler
This essay details how AM can be used in conjunction with the various instantiations of the Unified Process (UP). The following topics are discussed: how modeling works in the Unified Process, how good is the fit between AM and UP, a case study, adopting AM on an UP project and how that works.
Agile Software Development: The Business of Innovation [PDF]
Jim Highsmith and Alistair Cockburn
This article comments that agile software development approaches "view change from a perspective that mirrors today's turbulent business and technology environment". This article covers topics such as: the problem, the agile response, basic principles, agile software manifesto, generative rules and agile practices.
Core Elements of Would-be Agile [HTML]
This article discusses agile methodologies and recommendations. This article also discusses when agile methodologies work.
Get Ready for Agile Methods, with Care [PDF] *FEE*
This article compares agile and plan-driven software development methods. This article discusses both methods with topics such as: the planning spectrum, comparing the methods, balancing agility discipline and assessing risk exposure.
Process Agility and Software Usability: Toward Lightweight Usage-Centered Design [PDF]
Larry L. Constantine
This paper discusses Agility. The topics include: agile players, the pros, what the risks and shortcomings of the agile methods are, what's the use, and agile usability processes.
The Agile Modeling (AM) An Overview [PDF]
Scott W. Ambler
This pamphlet covers what agile models are and what isn't AM, an AM overview, values, principles, practices and recommended resources.
What is Agile Development & What Does it Imply [PPT]
This is a PowerPoint presentation about Agile Development outlining: what agile is, how it got there, methodology theory meets project details, and getting / misconstruing the message.
Back to the top
Agile Processes [PDF]
Robert C. Martin
This chapter is a sample chapter from Agile Development: Principles, Patterns, and Process. This chapter contains an in-depth exploration of the values and principles behind the Agile Manifesto.
Applying Agile Development in a Politically Tempestuous Domain [PDF]
Bjorn Freeman-Benson and Alan Borning
This slide presentation outlines using agile development on urban planning.
Extend Your Technology Platform to Customers and Partners with an Agile Software Development Approach
Use of Agile to Successfully Deploy Major Web-enabled Systems at Dana Commercial Credit and Caterpillar Financial Services Corporation Illustrate Why it's Catching On Fast [PDF]
DCC and Cat Financial employed an approach known as Agile Software Development. The approach allows companies to overcome obstacles that often hinder the successful deployment of large-scale systems This article discusses Agile Software Development with topics such as: taking it to the next level, agile interest grows, agile = adaptive, DCC breaks new ground, internet at full power, and change management.
Introducing an Agile Process to an Organization [PDF]
Mike Cohn and Doris Ford
This article describes common pitfalls of the transition from plan-driven to agile processes. This article also describes effective approaches for this change.
Product Development and Agile Methods [HTML]
This article discusses how integrating hardware and software development raises unique organizational and technological problems. Topics include: agile development's strategy, variety of knowledge domains, hardware holds the software up, or, software holds the hardware up, and software developers are from Pluto; everyone else is from Mars.
Selecting an Agile Process: Comparing the Leading Alternatives [PDF]
This slide presentation introduces agile processes. The presentation answers what agility is. Leading agile processes are also presented including: FDD, Scrum, Extreme Programming (XBreed), Crystal, and DSDM. The presentation ends with final comparisons
The World of Agile Software Development (or, "Creating a fair playing field in 30 minutes") [PPT]
This PowerPoint presentation introduces what is agile and what isn't. Topics include: what 'methodology' is, the methodology-ecosystem interplay, how did agile arise, methodology attitudes are "would-be", and misconstruing the message.
Back to the top
Agile Methods Articles (many PDF articles)
The Methods and Tools archive contains a wide range of articles that address agile process and methods. Recommended for indepth study
Agile Meetings [PDF]
Agile Methods [PPT]
In this article the author shares some short stories about how frequent, short meetings helped a few teams solve significant problems.
Agile Methodologies: Problems, Principles, and Practices [PDF]
This slide presentation covers topics such as: Cutter Consortium's e-Project research findings, core principles of agile methodologies, leadership - collaboration and an overview of major agile methodologies.
Agile Processes - Emergence of Essential Systems [PDF]
Systems emerge when built using agile processes. Through emergence, agile processes deliver a product to a customer that maximizes business value. This paper describes how this occurs.
Agile Software Development: The People Factor [PDF]
Alistair Cockburn and Jim Highsmith
This article describes the effects of working in an agile style. The topics include: agile is recapped, agile is for people, individual competence, team competence, agile organizations, agile ecosystems, agile domains, and agile effectiveness.
A Lightweight Development Process for Implementing Business Functions on the Web [PDF]
Angelique Crane and Stephen W. Clyde
From a software engineering perspective, moving a business software application to the Web presents interesting challenges. These include frequent changes to requirements, changes to the underlying business function as a consequence of moving to the Web, tight time and cost constraints, and producing quality user interfaces within the restrictions of the Web environment. This paper describes a lightweight, two-phase process that integrates advantages from incremental development, throwaway prototyping, and waterfall process models to address these challenges. A successful development experience using this process is summarized.
A Resounding Yes to Agile Processes - But Also to More [PDF]
This paper discusses some other properties of a good process that go beyond "traditional" agility. Some topics of this paper are: a process should empower you to focus on creativity, a good process allows you to learn as you go - without slowing down the project, a "good" process allows you to be fast - without having to reinvent the wheel, a good process uses tools to do more by doing less, and look out for the next big thing.
Extreme Programming Enterprise [HTML] *FEE*
This article is about Extreme Programming's basic concepts. The author introduces XP Enterprise which "allows developers to follow the principles of XP, but it provides management with the additional information and products needed to satisfy heavier methodologies from the software engineering school".
Extreme Terseness: Some Languages Are More Agile than Others [PDF]
While XP principles are independent of the languages in which software is developed, we can distinguish properties of programming languages that affect the agility of development. The history of software development in these languages foreshadows some of the characteristics of XP projects. To these linguistic communities, XP offers the prospect of rehabilitating styles of software development that fell into disrepute with the rise of software engineering. Conversely, these languages offer XP practitioners the possibility of radical condensation of the conversation between developer and customer.
Scaling Agile Methods - Ten Top Issues and Lessons Learned [PDF]
Donald J. Reifer, Frank Maurer and Hakan Erdogmus
On 20-21 February 2003, thirty-five concerned professionals met to discuss ways to resolve issues associated with using agile methods on large systems at the First Invited Canadian Workshop on Scaling Agile Methods in Banff, Alberta. Scaling agile methods addresses the issue on how to produce lots of software functionality within a limited time frame with larger teams. Twenty delegates came from industry where most had been putting agile methods to work (using XP, Scrum, DSDM, FDD, and a scaled down version of RUP). Industrial delegates addressed a wide range of issues and shared their experiences and ideas.
Scaling Agile Processes
Agile Software Development in the Large [PDF]
Jutta Eckstein and Nicolai Josuttis
This slide presentation begins with an introduction and motivation. Large teams, dealing with the process, dealing with the technology and dealing with the company are also addressed. The presentation concludes with a summary.
The Architect's Role in Agile Development [HTML] *FEE*
This article discusses the activities architects should do during every development iteration to get adequate feedback on whether their goal are being achieved. First, architects should be responsible for integration testing, second migration issues, and finally the architect should be involved in the architectural refactoring process.
The Art & Science of Agile [PDF]
This slide presentation gives an overview on Agile. Topics include: why agile (or XP), agile methodologies, the impact of agile on requirements, and strategy tips.
What's Wrong with Agile? [PDF]
Stephen J. Mellor
This slide presentation presents twelve agile principles. The presentation also answers the question: what's wrong with that? in detail.
Back to the top
This PowerPoint slide presentation addresses what and agile method is, and agile manifesto. Examples of agile methods are given including XP and Scrum.
Agile Model Driven Development (AMDD) [HTM]
Scott W. Ambler
This essay discusses AMDD which is the agile version of Model Driven Development (MDD). This essay discusses initial modeling, detailed modeling, reviews and implementation of AMDD. The essay also answers the question: how is AMDD different?
Artifacts for Agile Modeling: The UML and Beyond [HTM]
Scott W. Ambler
This essay is a summary of business application software models. A table is included with artifacts, info about the artifact and links to references for each artifact.
The Quest for Efficient and Predictable Software Development [PPT]
This PowerPoint presentation focuses on examples of the agile methodology including: Extreme Programming, Crystal Methodologies, Adaptive Software Development and SCRUM. A case study is also presented in detail.
Refactoring to Patterns Version 0.15 [PDF]
Patterns are a cornerstone of object-oriented design, while test-first programming and merciless refactoring are cornerstones of evolutionary design. To stop over- or under-engineering, it's necessary to learn how patterns fit into the new, evolutionary rhythm of software development.
Back to the top
Back to the top
Vijaya L. Uppala
This PowerPoint presentation introduces DSDM and PRINCE2 their elements and their overlap. The presentation focuses on DSDM and topics include: principles of DSDM, project structure, roles and responsibilities, products, quality and risk.
DSDM and Extreme Programming (XP) [PDF]
This paper compares DSDM and XP. This paper also shows the benefit of combining them and also issues to be addressed.
DSDM and the Agile Software Development Movement [PDF] *FEE*
In February 2001, recognizing the potential for common ground, a group of people decided to convene and discuss these 'light' methodologies. From this gathering of 17 people emerged an agreement to substitute the word 'Agile' for 'Light' and a proclamation that we titled the Agile Software Development Manifesto. This article discusses how Agile Software development has gained significant interest.
Rapid Application Development (DSDM) [PPT]
In this PowerPoint presentation introduces nine principles of DSDM and the DSDM lifecycle.
Understanding DSDM [PDF]
This article explains what Dynamic Systems Development Method (DSDM) is and what it can and can't do. Topics include: investment, the DSDM model, development, deployment, and issues.
Back to the top
An Overview of Feature Driven Development [PDF]
Robert W. Starinsky
This slide presentation outlines the following topics: the state of development today, what Feature Driven Development is, why use Feature Driven Development, how Feature Driven Development works, how Feature Driven Development tracks progress, and who is behind the Feature Driven Development movement.
Feature - Driven Development [PDF]
Peter Coad, Eric Lefebvre and Jeff De
This chapter from the book Java Modeling In Color With UML contains Feature-Driven Development in detail. The following sections are detailed: 1. The problem: accommodating shorter and shorter business cycles 2. The solution: feature-driven development 3. Defining feature sets and features 4. Establishing a process: why and how 5. The five processes within FDD 6. Chief programmers, class owners, and feature teams 7. Management controls: Tracking progress with precision
Feature-Driven Development [PDF]
Steve Palmer and Peter Coad
This slide presentation's purpose is to learn feature-driven development. What, why and how FFD is used are answered.
Feature Driven Development and Extreme Programming [HTML]
This article first introduces the FDD in a detailed summary. The article then presents a short comparison with XP.
Chapter 3 Feature-Driven Development-Practices [PDF]
Steven R. Palmer
This is a sample chapter from the book A Practical Guide to Feature-Driven Development. The chapter focuses on the best practices that make up FDD which are the following: domain object modeling, developing by feature, individual class (code) ownership, feature teams, inspections, regular builds, configuration management, and reporting/visibility of results.
Back to the top
Agile Software Development with Scrum [PPT]
This PowerPoint presentation introduces SCRUM and answers how it became, what it is and how it works. Other topics include: the philosophy of SCRUM, what's a SCRUM meeting, benefits, how to learn using SCRUM, and project management patterns.
Controlled Chaos: Living on the Edge [HTM]
Advanced Development Methods, Inc.
This paper discusses SCRUM. Topics include: the origins of SCRUM, scientists give their opinion, scrum empirical development process, scrum - characterizes and rules, applicable to small simple and large complex software systems, scrum productivity, the inner workings of scrum and planning and system architecture.
The Pursuit of Technical Excellence:
Inventing and Reinventing SCRUM in Five Companies [HTM]
This slide presentation outlines SCRUM in an overview and introduces a SCRUM flow diagram. Other topics include: the project domain, daily meetings, project tracking, manifesto for agile software development, the first SCRUM, reforming project management, key to long term survival: platform systems design, decision support at point of care, and why a platform strategy.
SCRUM: An Extension Pattern Language for Hyperproductive Software Development [PDF]
Mike Beedle, Martine Devos, Yonat Sharon, Ken Schwaber and Jeff Sutherland
The patterns of the SCRUM development method are presented as an extension pattern language to the existing organizational pattern languages. In the last few years, the SCRUM development method has rapidly gained recognition as an effective tool to hyper-productive software development. However, when SCRUM patterns are combined with other existing organizational patterns, they lead to highly adaptive, yet well-structured software development organizations. Also, decomposing SCRUM into patterns can guide adoption of only those parts of SCRUM that are applicable to a specific situation.
The Scrum Software Development Process for Small Teams [PDF]
Linda Rising and Norman S. Janoff
This article describes the authors experience implementing Scrum software development process. They found that small teams "can be flexible and adaptable in defining and applying an appropriate variant of Scrum".
A Comparison of the Value Systems of Adaptive Software Development and Extreme Programming: How Methodologies May Learn from Each Other [PDF]
This paper compares two new development methodologies (Adaptive Software Development (ASD) and Extreme Programming (XP)) by presenting a simple model of value systems and comparing the value systems with these two methodologies. The purpose of this paper was to determine if techniques of one methodology can be used by another.
A Study of Human Solutions in eXtreme Programming [PDF]
Robert Gittins and Sian Hope
This paper develops the use of 'guided interviews' and questionnaires in an empirical study of a small software development company. In particular, the study identified a number of human issues in communications, technology, teamwork and political factors that significantly influenced the implementation and evolution of eXtreme programming into a software development team.
Customer Involvement in Extreme Programming
-XP2001 Workshop Report - [PDF]
Arie van Deursen
This paper covers customer involvement challenges in lightweight software development processes. The report summarizes the presentations and discussions of the Workshop on Customer Involvement held during XP2001, the Second International Conference on Extreme Programming and Flexible Processes in Software Engineering, Cagliari, Italy, May 21, 2001.
Distributed eXtreme Programming [PDF]
Michael Kircher, Prashant Jain, Angelo Corsaro and David Levine
One of the key requirements of eXtreme Programming (XP) is strong and effective communication between the team members but to enable this strong level of communication among team members, XP emphasizes the need to have the team members physically located close to each other. Since this may not always be feasible, this paper addresses this issue by proposing a crosscutting idea called "Distributed eXtreme Programming" (DXP), which inherits the merits of XP and applies it in a distributed team environment. The author's experiences show that DXP can be both effective and rewarding in projects whose teams are geographically distributed.
Extreme Programming [PDF]
Praktikum Software Engineering
This slide presentation outlines the following topics about Extreme Programming: planning, the manager and customer bill of rights, balancing the power, the planning game, use cases and user stories, and iteration planning.
Extreme Programming Considered Harmful for Reliable Software Development 2.0 [PDF]
This paper was written to relate Extreme Programming and the traditional Software Engineering practices. The author states why he "considers Extreme Programming to be harmful to reliable software development and why it provides not many answers to the significant questions that contemporary software development methods have to answer."
Extreme Programming from a CMM Perspective [PDF]
Mark C. Paulk
This popular Extreme Programming methodology is reviewed from the perspective of the Capability Maturity Model® (CMM® ) for Software, a five-level model that prescribes process improvement priorities for software organizations. Overviews of both XP and CMM are provided, and XP is critiqued from a Software CMM perspective. The conclusion is that lightweight methodologies such as XP advocate many good engineering practices, although some practices may be controversial and counter-productive outside a narrow domain.
Extreme Programming from a CMM Perspective [PDF] *FEE*
Mark C. Paulk
In this article, the author summarizes both XP and the SW-CMM, shows how XP can help organizations realize the SW-CMM goals, and then critiques XP from a SW-CMM perspective.
Extreme Programming from an Engineering Economics Viewpoint [PDF]
Matthias M. Müller and Frank Padberg
In this paper, the authors study XP from an economics point of view. They analyze the cost and benefit of XP for a sample software project under different settings, systematically varying key project parameters which are influenced when using XP techniques.
Rapid Development for Web-Based Applications [PDF]
Frank Maurer and Sebastien Martel
This article offers an overview of the philosophy and practice behind Extreme Programming. Topics include: XP overview and XP practices.
Reports from the Field
Using Extreme Programming and Other Experiences [PDF] *FEE*
This article is an introduction to articles about using Extreme Programming in the field.
Stabilizing the XP Process Using Specialized Tools [PDF]
Martin Lippert, Stefan Roock, Robert Tunkel and Henning Wolf
One problem with the XP development process is its fragility. If developers use the XP techniques in an unintended way or not at all, the XP process is likely to break down: The misused techniques affect the other XP techniques in a negative way, breaking the whole process. The authors believe that it is possible to stabilize the XP process using specialized artifacts to reify the XP techniques. They discuss the reification of the XP technique Continuous Integration using the JWAM IntegrationServer as an example and then present their experience with this tool and analyze its effects on the other XP techniques.
Unit Testing for eXtreme Programming [PDF]
Jing Yuan, Mike Holcombe and Marian Gheorghe
This slide presentation outlines the background of extreme programming, testing simple units and testing complex units.
Using Extreme Programming in a Maintenance Environment [PDF]
Charles Poole and Jan Willem Huisman
This article focuses on Iona Technologies Corba-based middleware product called Orbix. In this article the authors discuss how Orbix was maintained in which they ignored "good" engineering processes and practices. Two successful reengineering efforts and a series of infrastructure projects designed to improve the engineering practices were needed. Later the authors realized how close these efforts were tied to Extreme Programming.
Using Extreme Programming to Manage High-Risk Projects Successfully [PDF]
Martin Lippert and Heinz Züllighoven
Using XP enables it-Workplace Solutions GmbH & University of Hamburg (Germany) to deliver software on time and on budget, while supporting close communication between the (potential) customer and the development team as requirements changed daily. One to two releases per customer per week (two per day at the peak) indicate the flexibility and risk-minimizing capabilities of the process. This allowed optimal control and planning of the projects by the development company. The authors illustrate their experiences using one particular time-critical project.
Back to the top