Adaptable immediately in the field – “Modeling in the Agile Age”

Blog

Adaptable immediately in the field - "Modeling in the Agile Age"

I enjoyed the presentation given by Kenji Hiranabe, a leading agile development expert, at the UMTP (UML based Modeling Technologies Promotion) seminar.

(Japanese)

This talk is about how modeling should be used in the context of agile development being introduced. He discusses modeling, which is rarely mentioned even in Scrum, the current mainstream of agile development.

Here is a summary of how to handle models in agile development, as Mr. Hiranabe explains clearly and concretely.

Separate models into Keeps and Temps

In Agile, it is important to distinguish between the following two models

  • Keeps: "a model that is continuously updated and maintained as property”.
  • Temps: "a temporary model used to communicate effectively "

https://umtp-japan.org/pdf/agile/report/20140224_agile_modeling_1.pdf

The idea of separating "Keeps" and "Temps" is a really useful idea.

This is true not only for models, but for all documents created in software development. “Keeps" are always kept up-to-date, and "Temps" are used only for communication between the people involved on the spot. In many cases, the tragedy occurs when people try to keep documents that should be kept in "Temps".

So, what are the "Keeps" models?

There are the following three types.

  • Architecture: The structure of the overall system. Package diagrams and class diagrams are often used.
  • Domain Model: Describes a conceptual taxonomy of the problem domain of the application behavior. Class diagrams and ER diagrams are often used. Just creating a glossary of terms is fine, said Hiranabe. However, even in that case, he stated, English should be written alongside the local language, such as Japanese. This is to avoid translation errors as the English notation becomes the class and entity names.
  • Key Use Case: Expresses the system from the user's point of view. Use cases, sequence diagrams, and communication diagrams are often used; Key Use Cases skewer the architecture, pick something representative, and keep it that way.

Translated with www.DeepL.com/Translator (free version)

https://umtp-japan.org/pdf/agile/report/20140224_agile_modeling_1.pdf

How does "Temps" work?

This can be modeled by printing out a "Keeps" model and writing on it as you discuss it. Or you can write it on a whiteboard.

Conclusion

Agile development does not mean that modeling can be skipped. On the other hand, Scrum does not teach you anything about modeling. I think Mr. Hiranabe's presentation and materials are good news for software engineers to fill the "missing link". I hope I can practice the modeling of Keeps and Temps in the field.

References 1

Modeling in the Agile Age

The documents are as follows
https://umtp-japan.org/pdf/agile/report/20140224_agile_modeling_1.pdf
https://www.infoq.com/jp/articles/kenji-modeling-agile/
https://astahblog.com/2016/10/26/modeling-in-the-agile-age/

References 2

This section lists the books introduced in Mr. Hiranabe's "Modeling in the Agile Age".

The Japanese version of the above is below.

Volume 1 below

Volume 2

Volume 3

Volume 4

Volume 5

The Japanese translation seems to be available only for Volume 1.

DDD-book

DDD-book Japanese translation

Looks like it's only available in English.

Looks like it's only available in English.

タイトルとURLをコピーしました