Organisational patterns

From CSSEMediaWiki
Revision as of 01:55, 19 October 2010 by Nelson Shaw (Talk | contribs)
Jump to: navigation, search

Patterns related to process and team development. In essence, the management of the software development process.

"What makes a software development project succeed? It's not language or tools or process. It's not a simple as people; even great programmers sometimes find themselves associated with disasters. In some sense, a successful project is the same thing as a successful organization; but what makes those? We need an anti-Dilbert. In Organizational Patterns of Agile Software Development, James O. Coplien and Neil B. Harrison lay out the results of their research on the subject; what they found, helps." - Paul S. R. Chisholm Source

Definition

Organisational patterns are recurring structures of relationship. They usually occur in a professional organisation and help the organisation achieve its goals. The patterns are often derived from common structures in various organisations social networks. These patterns are often closely related with the software pattern community, and form the basis of ongoing research. They have been inspired in large part by the principles of the software pattern community, that in turn takes it cues from Christopher Alexander's work on patterns of the built world. They also have roots in Kroeber's classic anthropological texts on the patterns that underlie culture and society. Also, in turn they have provided inspiration for the Agile software development movement, and for the creation of parts of Scrum and of Extreme Programming in particular.

Derivation

Organisation patterns are discovered from empirical observation. Some early work in the area focussed on extracting patterns from social network analysis. The early research used empirical role-playing techniques to gather information about the structure of relationships in the subject organisation. Such structures are analysed to find similarities between various organisations that were surveyed. These similarities were then developed into specific organisational patterns. These patterns provide a step-by-step approach to improvement of an organisation. They can be applied in the following way:

  • Find the weakest part of your organization
  • Find a pattern that is likely to strengthen it
  • Apply the pattern
  • Measure the improvement or degradation
  • If the pattern improved things, go to step 1 and find the next improvement; otherwise, undo the pattern and try an alternative.

Relation with Software Development

The history of Agile software development and of organizational patterns have been entwined since the beginning. Kent Beck was the shepherd (interactive pattern reviewer) of the Coplien paper for the 1995 PLoP, and he mentions the influence of this work on XP in a 2003 publication. The idea of daily Scrum meetings came from a draft of an article for Dr. Dobb's Journal that described the organizational patterns research on the Borland QPW project. Beedle's early work with Sutherland brought the pattern perspective more solidly into the history of Scrum. More recently, the Scrum community has taken up newfound interest in organizational patterns and there is joint research going forward between the two communities. In this vein, the first ScrumPLoP conference took place in Sweden in May, 2010, sanctioned by both the Scrum Alliance and the Hillside Group.