Organisational patterns

From CSSEMediaWiki
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

Contents

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. 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.

See Related Articles

Personal tools