design-practice-repository

Summaries of artifacts, templates, practices, and techniques for agile architecting (DPR-mm) and service design (SDPR-nn).

DPR Git Pages HomeActivities IndexArtifacts IntroductionRoles Introduction

DPR: Activities in Service Design and Agile Architecting

Context and Motivation

As responsible software engineers, we do not like to be bossed around. Decentralized decision making and autonomous teams might not be listed explicitly as values in the Agile Manifesto, but are certainly valued and practiced a lot in agile teams and organizations.

Agile does equal anarchy; agile teams actually are quite (self-)disciplined and employ a number of ceremonies (a.k.a. practices). Most of them are collected and commented upon elsewhere, for instance try the Subway Map to Agile Practices and glossary by the Agile Alliance. Here in DPR, we focus on agile architecting and service/API design and collect some of the method elements, tactics, practices, etc. that served us well or that are frequently recommended, for instance in microservices books. These activities consume and produce the artifacts listed in a sibling folder, possibly supported by checklists and templates; they are owned and performed by one or more of the personas and roles also documented in this repository.

One should never forget the first rule of method adoption:

If in doubt, leave it out (or: do not create a big ball of method mud).

Other general hints for all design and modeling activities are:

Activities Specific to Service/API Design

Particularly relevant for service/API design are:

Activities General Software Engineering/Architecture:

Architectural Analysis

Architectural Synthesis

Architectural Evaluation/Assessments

Both lean/light and full-fledged techniques have been proposed:

Architectural Evolution

Stefan Murer’s book on “Managed Evolution” lists many more, and the Evolution category in MAP collects patterns for API versioning and life cycle management.

IT Strategy and Enterprise/Program Architecture Work

A number of frameworks and approaches for scaling agile exist, including:

Gregor Hohpe’s IT/Software Architect Elevator always is worth a ride to the upper levels (and back).

Tool Support

Many of the activities (techniques and practices, that is) collected in this repository are partially or fully supported by tools; these tools then help produce the output artifacts.

Some of the ones we have contributed to, or work on, are:

More specific information, also about other tools, can be found on the individual pages.

DPR Metadata

title: "Design Practice Repository (DPR): Activities (Practices, Techniques) Overview"
author: Olaf Zimmermann (ZIO)
date: "03, 17, 2021"
copyright: Olaf Zimmermann, 2020-2021 (unless noted otherwise). All rights reserved.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.