Valentino Vranić. Organizational Patterns in Software Development and Beyond
Lecture given at University of West Bohemia, Pilsen, Czech Republic, December 2018.
Prezi | PDF | Architect Also Implements
Organizational patterns of software development enable to build and maintain complete agile organizations. Each organizational pattern describes a particular puzzling organizational situation that tends to recur in different contexts and gives a clue how to resolve it: Architect Also Implements, Customer Controls Product, or even Community of Trust, which is at heart of Scrum. For a successful application, it is necessary for all participants to understand the organizational patterns being applied. And to understand a pattern is to understand the conflict of the contradicting forces it resolves. This may be achieved by playing with a pattern in its animated form. Additionally, the whole pattern languages or their parts (sublanguages) can be offered in a pattern-like form. Agility of organizations can be assessed by how well they fulfill organizational patterns, which again requires organizational patterns to be understood. Organizational patterns can be supported in distributed settings, too. Thus, Osmotic Communication (or peripheral perception) can be supported in chat communication. The idea of organizational patterns is by no means limited to software development and can be extrapolated to other creative areas, such as teaching directed by student needs or creating engaging drama plays. In the end, an important observation is that agile software development is not something we need to learn with huge efforts, but rather something we need to become aware of recollecting it from our own experience.