Home » Archive

Articles tagged with: Agile

Process »

[18 Aug 2008 | 2 Comments | ]

Extreme Programming (XP) is a lightweight software development methodology based on principles of simplicity, communication, feedback, and courage.   I like to be able to scan methodologies to compare approaches.  To do so, I create a skeleton of the activities, artifacts, principles, and practices.    Here are my notes on XP:



Acceptance tests
Iteration plan
Release and iteration plans
Story cards
Statistics about the number of tests, stories per iteration, etc.
Unit tests
Working code every iteration

12 Practices
Here’s the 12 XP practices:

Coding Standards
Collective Ownership
Continuous Integration
On-Site Customer
Pair Programming
Planning Game
Short Releases
Simple Design
Sustainable Pace
System Metaphor
Test-Driven Development

For a visual of …

Process »

[18 Aug 2008 | 4 Comments | ]

I like to be able to scan process methodologies so I create skeletal views that let me quickly see the key activities, artifacts, principles, and practices of a methodology.  MSF for Agile Software Development is a scenario-driven, context-based, agile software development process.   Here’s my notes on MSF Agile circa 2005, which might be somewhat dated, but at least give me a quick lens into the main ideas:

Partner with customers
Foster open communications
Work toward a shared vision
Quality is everyone’s job every day
Stay agile, adapt to change
Make deployment a habit
Flow of value


Quality …

Architecture »

[18 Aug 2008 | Comments Off | ]

How do you create a candidate architecture in XP?  The solution is to pick a set of stories that force you to build a skeleton of the system as a whole in your first iteration.  If you can’t find the stories that force you to create the architecture you need, then you either put as much architecture in place as you need for now or you put the whole architecture in place on speculation.  In Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series), Kent Beck writes about building …

Book Nuggets, Project-Management »

[18 Aug 2008 | Comments Off | ]

How can you leverage XP practices in a fixed-price contract?   One approach is to fix the price and the schedule, but somewhat vary the scope.  You reduce risk by fixing the cost and schedule.  Flexing the scope means that you can respond to the customer’s changing needs as you deliver value.  You can think of this as the customer subscribing to your development team’s service for a period of time.  In Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series), Kent Beck writes about how to deal with fixed …

Project-Management »

[17 Aug 2008 | Comments Off | ]

How can you be prepared to go in whatever direction the business or the system demands?  Do you need to prepare for every possibility?  No.  Instead, you give up explicit preparation for any change.  In Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series), Ken Beck writes that if you expect nothing, you can no longer be surprised.
Now You Are Ready to Learn
Beck writes about a student learning to become a swordsman.  The master strikes the student each time his attention slips.  The student becomes paranoid about getting whacked …

Process »

[17 Aug 2008 | Comments Off | ]

Do you need to adopt all of the Extreme Programming (XP) practices to get results?  Can you adopt the XP practices piecemeal?  In Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series), Kent Beck writes that you can adopt XP practices piecemeal, but the more you adopt, the more synergy you get.
The Full Value of XP Comes When All the Practices are in Place
Beck writes:
The full value of XP will not come until all the practices are in place.  Many of the practices can be adopted piecemeal, but their …

Architecture »

[23 Jun 2008 | 4 Comments | ]

In Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Ian F. Alexander and Neil Maiden mention periodic design refactoring:
A variant of the Incremental model appears to be the ‘Extreme Programing (XP)’ approach put forward in Beck (2000) in which integrity of the system architecture across all increments is maintained by periodic design ‘refactoring.’

While I’m not a fan of Big Design Up Front, I am a fan leveraging the following techniques up front to help reduce risk:

System stories up front (where system stories include the ‘ilities and quality attributes, such …