InfoQ

News

"Agile Practice" Patterns Wiki is Up

Posted by Deborah Hartmann on Jun 23, 2006 08:37 PM

Community
Agile
Topics
Collaboration,
Agile Techniques
Tags
Organizational Patterns,
Christopher Alexander,
XP,
Wiki,
Conferences,
Design Patterns
At XP2006, Amr Elssamadisy announced a new wiki site for collecting Agile Practice Patterns. There's not much there yet - but you can already find results from ChiliPlop 2006 and XP2006 on the site. And really, it's only been up a few days, and it is a wiki so any practitioners with experience to share can collaborate there. These are the pages and patterns already in progress:

Bad Requirements
ChiliPlop 2006 Results
Cross Testing
Developers/Managers Misalignment
Fear of Losing Control
Fearless Change
Frequent Release
Iteration
Learn Then Share
Lots of Bugs Found by Customer
Onsite Customer
Onsite Customer
Scared To Share
Static Information Radiator
Test Driven Development
Unpaid Debt
XP2006 Patterns

There appear to be a number of pattern forms in use on the site... perhaps the simplest pattern being Ward Cunningham's Therefore-But form, the one most used on the original C2 wiki.



Background:

Patterns are a way to capture knowledge and abstract it, distill it down to an essential and clear form that can help someone else address a similar problem.  Patterns are not simply ideas written in a certain form - pattern mining is a whole process unto itself: pattern writers at AG Communication Systems use pattern mining to get ideas for patterns, which they then improve using a writers' workshop.

Patterns moved from the domain of architecture into the mainstream of object-oriented software design with the advent of the original book Design Patterns: Elements of Reusable Object Oriented Software.  This is not surprising, as architect Christopher Alexander's Notes on the Synthesis of Form was required reading for researchers in computer science throughout the 1960's. Since that first book, many more have used this device to address software design issues - its popularity suggests it is a useful way to think and communicate.

Subsequently, patterns have been used in other areas of the software world too:  Organizational Patterns of Agile Software Development by Coplien and Harris looks at the people side of software development, Fearless Change: Patterns for Introducing New Ideas by Rising and Manns addresses the human challenges of organizational change (not just in IT), and Software for Your Head: Core Protocols for Creating and Maintaining Shared Vision by McCarthy and McCarthy provides patterns specifically for collaborative teamwork.

FYI: if you find this topic interesting, you might want to know that the patterns folks hang out here. Well, when they are online :-)

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

No comments

Reply

Exclusive Content

Rationalizing the Presentation Tier

Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs.

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.