Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 7th edition of Software Engineering is available now

A new book ... Roger Pressman and David Lowe on Web Engineering

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned site! ... we've done a major redesign and added many new features for 2009 - 2010

 
Software Engineering Resources


Agile Software Process Models

Agile software engineering combines a philosophy and a set of development guidelines. The philosophy encourages customer satisfaction and early incremental delivery of software, small; highly motivated project teams; informal methods; minimal software engineering work products, and overall development simplicity. The development guidelines stress delivery over analysis and design (although these activities are not discouraged), and active and continuous communication between developers and customers. The following topic categories are presented:

General Concepts and Principles

Human Issues

Agile Methods - General

Extreme Programming (XP)

Adaptive Software Development (ASD)

DSDM

Scrum

Crystal

Feature Driven Development (FDD)

Books

General Concepts and Principles

The Agile Alliance
The center of the agile universe for those who have interest in the philosophy. Voluminous information and resources. Highly recommended.

Manifesto for Agile Software Development
The famous agile manifesto developed by the agile alliance.

Commentary on the Agile Manifesto
Interesting comments on agility by agile gurus Martin Fowler and Jim Highsmith. Recommended.

Agility Principles
Additional commentary on the Agile Software principles.

Agility and Simplicity
This article by Jim Highsmith discusses the relationship.

Agile software development
A worthwhile overview of the topic.

Agile Software Development for the Entire Project
A paper that discusses "innovative techniques from a new agile process developed and used by projects within Microsoft."

The Dynamics of Agile Software Processes, Part I: Characteristics
This article describes the characteristics of good agile software development process design.

pdf: The Characteristics of Agile Software Processes
Addresses what makes a software process agile and how different agile processes
work to allow your project to be delivered more quickly.

Agile Software Development Bibliography
A link-based bibliography for important papers, books and articles on agile development. Also contains pointers to worthwhile resources.

Agile Method Glossary
Like all new processes, the agile process introduces new terminology. This glossary will help. Recommended.

Agile Methods Articles
The Methods and Tools archive contains a wide range of articles that address agile process and methods. Recommended for in-depth study

Using an Agile Software Process with Offshore Development
Martin Fowler discusses "experiences and lessons learned in doing offshore agile development. So far we've discovered that we can make it work, although the benefits are still open to debate."

Step-by-step guidelines for agile development
A brief distillation of the "basic tenets" of the agile process.

Agile Software Development
A report developed by DACS that address agiledevelopment and provides "a comprehensive overview of the current State-of-the-Art, as well as State-of-the-Practice, for Agile Methods."

Video: Transition To Agile Methodology Part 1 - 6
This is the first of a six part series that discusses how to make the transition to agile methods. For other parts, use the YouTube search function.

Video: Agile Development
A lecture on agile development. (55:30)

Video: End User Software Engineering
"In this talk, we will consider what happens when we add to end-user programming environments consideration of the software lifecycle beyond the "coding" phase."

Human Issues

Collaboration with a development Team
A brief but worthwhile discussion of human issues when the agile process is applied.

Human Issues in Agile Processes
Seven key questions that address human issues for agile processes.

Community-Agile Software Guidance
"This paper presents the values, principles and practices of Community-Agile Software Guidance, a process framework that refactors Agile to incorporate the lessons learnt from the Open Source world." In-depth. Recommended.

Human Issues of Agile Processes
A brief Q&A on human issues associated with agile methods.

Agile Software Development: The People Factor
A discussion of people issues via a vis agile methods.

Agile Methods Incompatible with Human Psychology?
An interesting commentary and discussion.

5Qs on Agile with Gerald M. Weinberg
Q&A with one of the foremost thinker on human issues in software development.

pdf: The Human Side of Agile Software Development
A slide presentation.

pdf: Human Aspects of Software Engineering: The Case of Extreme Programming
A discussion of the human aspects of XP.

pdf: How Software Developers Learn to Interact with People
"We compare the results of studies in 1988, 1998 and 2003 that looked at how UK software developers view the task of talking with stakeholders. We propose a model of the stages that individual developers pass through, as they learn and mature in their agile interactions with individuals at work."

AGILE /SCRUM Fails to get to grips with Human Psychology
Commentary and opinion.

Human-centered design meets Agile Development
A slideshow that shows how both can peacefully co-exist.

User Centred Design in Agile Application Development
This paper argues that by incorporating user-centred design (and in particular using low fidelity prototyping as an iterative model for the application rather than time consuming code) better applications can be developed, delivering business benefit with a focus upon the end user and their experience.

Video: Agile Development Teams: Scope and Scale with Mike Cohn
A discussion of agile teams.

Agile Methods - General

Agile software development
An in-depth treatment at Wikipedia.

Agile Methods - Resources developed by Scott Ambler
One of the more comprehensive treatments of agile methods available on the Web containing papers, downloads and other resources. Highly Recommended.

Agile Process Models and Methods - 1
Excellent resources and links for many agile methods.

Agile Process Models and Methods - 2
Many useful links that address agility, XP, Scrum and other OOAD methods.

Agile Software Development Portal
Pointers all all major agile methods. Recommended.

A Comparison of Agile Methods
Examines XP, Scrum, DSDM and Crystal Orange.

A Practical Guide to Seven Agile Methodologies, Part 1
"In this two-part article, you'll learn all the ins and outs of the seven most popular methodologies so you can pick the one that's best for you. In part 1, we cover XP, Scrum, Lean, and FDD."

A Practical Guide to Seven Agile Methodologies, Part 2
A continuation of the above-noted article.

The Definitive List of Software Development Methodologies
An excellent summary of all major agile methods.

The New Methodology
Martin Fowler presents an in-depth discussion of agile methods with a survey of six important methods. Recommended.

Ten tips on agile software development
A brief article for those about to enter the agile world.

Lean software engineering
A tutorial (including videos) that addresses lean thinking as it appies to software engineering.

10 Key Principles of Agile Software Development
Basic principles and a summary of methods.

Heresy Against the Church of Agile Software Development
An opposing commentary by 'The Crank Project Manager.'

Agile Process - Opinion
A brief opinion piece on lightweight and agile process.

Agile Testing
Useful articles on testing within an agile process.

Extreme Programming (XP)

• Resources

XProgramming.com
Many useful articles and resources.

XP Resources
Good introduction as well as links to many useful resources.

Extreme Programming Roadmap
Pointers to well over 100 XP Resources. Recommended.

XP FAQ
Useful discussion of important concepts and terminology.

XP Developer
Contains many useful tips and resources.

XP discussion group
Yahoo has one of the largest discussion groups on XP (if you're willing to wade through it!)

• Introduction, Papers, and Articles

Extreme Programming
A useful introduction at Wikipedia.

Extreme Programming: A gentle introduction
A worthwhile introduction to XP. Recommended.

The Rules and Practices of Extreme Programming
The details you'll need to understand XP. Recommended.

XP Introduction and "Rules"
An excellent survey of XP rules and practices. Useful for those who must understand terminology and concepts. Highly recommended.

Introduction to XP
An excellent introduction for those who need a good starting point. Recommended. See also introductions by Armaties Software and Wiki.

A Contrarian's View
Xp has become something of a religion among some software people. A heretic speaks!

pdf: Another Contrarian's View
A slide presentation by Pete McBreen, author of a book entitled Questioning Extreme Programming.

The XP Exchange
Contains worthwhile introductory and advanced essays on XP and related information and downloads.

Refactoring Home Page
Useful links and commentary by Martin Fowler on this important XP activity. See also the Yahoo discussion group on refactoring.

Demystifying Extreme Programming: Test-driven programming
An article that emphasizes the TDD aspects of XP.

pdf: Integrating Pair Programming into a Software Development Process
A paper that discusses how to integrate pair programming into a conventional software process (one in which individual programming is the norm).

ppt: Agile Modeling, Agile Software Development, and Extreme Programming: The State of Research
A powerpoint presentation of these topics.

Video: eXtreme Programming - Richard Buckland
A worthwhile lecture on XP. (44:47)

Adaptive Software Development (ASD)

Adaptive Software Development
A detailed chapter length description of ASD. Recommended.

ASD and the CMM
A critique of the CMM from an adaptive point of view.

DSDM

Dynamic Systems Development Method
An in-depth introduction at Wikipedia.

The DSDM Consortium
Many useful resources, papers, and links. The control point for DSDM usage worldwide.

DSDM in a Nutshell
A useful mini-introduction and links to resources.

Comparison of DSDM to other Process Approaches
Provide downloadable papers that discuss DSDM vs. RUP, XP, and PRINCE.

What is DSDM?
An indepth discussion of DSDM. Includes links to resources, articles and books.

DSDM Slide Presentation
An introductory presentation on DSDM.

Comparing DSDM and XP
Comments and pointers.

Pinnie the Wooh and DSDM
An allegorical discussion of DSDM.

To DSDM or Not to DSDM?
This article "explains some of the benefits of using DSDM (Dynamic Systems Development Method) techniques on e-business projects by describing one project that employed them and another project that didn't, and comparing the two."

Video: The New Face of DSDM
An overview of the latest version of DSDM.

Scrum

Controlchaos.com
A central resource for information on Scrum.

Scrum resources
A collection of historical articles and papers that are relevant to Scrum.

The Scrum Development Process
Useful discussion and step by step process description by Mountain Goat Software.

Using Scrum for 'wicked problems'
An article by Mary Poppendieck.

Introduction to Scrum
A brief introduction with emphasis on team structure.

Scrum Articles and Papers
A list of over 20 downloadable papers and articles about Scrum.

How To Implement Scrum In 10 Easy Steps
A implementation guide.

"Scrum-ban"
Presents a useful approach to lean development using elements of Scrum. From the article: "The idea of using a simple task board with index cards or sticky notes is as old as Agile itself. A simple variation of this is a task board with a simple Pending -> In Process -> Complete workflow."

A Scrum Tutorial
A set of slides outlining the scrum process can be downloaded from this site.

Video: SCRUM in Under 10 Minutes (HD)
A highly rated video introduction to Scrum. Recommended.

Video: Managing your Scrum Product Backlog in a simple Excel (8:40)
A short video that describes how to use excel to manage the Scrum Product backlog.

Video: Scrum Basics
An brief introduction. (5:49)

Video: Scrum et al
A talk by the creator of Scrum, Ken Schwaber. (1:01:04)

Crystal

Crystal methodologies
Develop by Alistair Cockburn, the creator of Crystal, this ite provides in-depth discussion, pointers, and other useful commentary.

Crystal Clear Methodology-I
A worthwhile overview with useful pointers to other information sources.

Crystal Clear Methodology-II
Another worthwhile overview with useful pointers to other information sources.

Cystal Methodology
A informal discussion of Crystal presented in Chet Hasse's Blog.

ppt: The Crystal Methods: How to make a methodology fit
A slide presentation by Alistair Cockburn, the creator of Crystal.

Crystal Clear Applied: The Seven Properties of Running an Agile Project
This chapter (from the book, Crystal Clear) describes seven properties set up by the best teams. Crystal Clear requires the first three. Better teams use the other four properties to get farther into the safety zone. All of the properties aside from osmotic communication apply to projects of all sizes.

Crystal papers
Papers (many by Alistair Cockburn) that address the Crystal methodologies.

Feature Driven Development (FDD)

FDD Overview
A downloadable overview of FDD.

The FDD Community Site
The "community portal for all things FDD."

FDD Processes
An overview of key FDD processes.

A Practical Guide to FDD
Step by step approach along with additional articles, presentations, and information. Recommended.

FDD for UI Development
A paper that discusses how FDD can be extended for UI development.

Books

The overall philosophy and underlying principles of agile software development are considered in-depth in books such as:

The Art of Agile Development
Agile Software Construction
Agile Modeling
Extreme Programming Explained: Embrace Change
Agile Software Development
Agile Software Development Ecosystems

Three books that address the management side of agile development are:

Managing Agile Projects
Agile Project Management: Creating Innovative Products
Agile and Iterative Development: A Manager's Guide

Additions discussion of tpics that recur throughout the agile development world can be found in:

Scaling Software Agility: Best Practices for Large Enterprises
discusses strategies for scaling up agile practices for large projects.
Refactoring in Large Software Projects: Performing Complex Restructurings Successfully discusses the use of refactoring when applied in large, complex systems.
Agile Software Development Quality Assurance presents SQA techniques that conform to the agile philosophy.
Software Engineering for Small Teams uses a case study approach coupled with the application of the Unified Process as it is applied for small projects.

A number of books provide a nuts and bolts discussion of XP along with guidance on how best to apply it

Extreme Programming Explained: Embrace Change
Extreme Programming Installed
Extreme Programming Examined
Extreme Programming in Practice

Questioning Extreme Programming
takes a critical look at XP, defining when and where it is appropriate.

Pair Programming Illuminated
provides an in-depth consideration of pair programming
Refactoring: Improving the design of Existing Code addresses the important XP concept of refactoring in considerable detail
Software Craftsmanship: The New Imperative discusses software craftsmanship and argues for agile alternatives to traditional software engineering

Adaptive Software Development: An Evolutionary Approach to Managing Complex Systems
discusses ASD in depth.
DSDM: Business Focused Development, 2/e and
DSDM: The Method in Practice present an in-depth consideration of DSDM.
A Practical Guide to Feature Driven Development presents a detailed treatment of FDD.
Better Software Faster presents another useful treatment of FDD that includes a step by step journey through the mechanicals of the process.
Agile Software Development with SCRUM presents a detailed treatment of Scrum.
The Enterprise and Scrum discusses the use of Scrum for projects that have major business impact.
Agile Software Development discusses agile principles, patterns and practices with an emphasis on XP.
Lean Development: An Agile Toolkit for Software Development Managers provides guidelines for managing and controlling agile projects.

Site search! We've added links to a search engine that will enable you to search our entire site for information you need. Enter the appropriate word or phrase below.

PicoSearch



Home About us Products Product Models SE Resources Commentary Contact us

Web site and all contents © R.S. Pressman & Associates, Inc. 2001 - 2010, All rights reserved.
Free website templates