I have been involved with Software Architecture since middle 90's, and as I embraced Agile Development ideas at the early 2000's, I kept working in ways to make Architecture easier to share within cross-functional teams and non-technical stakeholders.
This is part of my work on making Software Architecture a distributed, iterative and incremental practice, rather than an Ivory Tower discipline.
If you are interested, you can read the paper I co-authored in 2010, "Software Architecture in the Agile Lifecycle", and my book (in progress) "Agile Software Architecture".
The revelation 馃槈
One recurrent problem about Architecture is that it seems obscure and inaccessible to the outsider (and many time the "Architect" behavior doesn't help at all).
To help in discussing Quality Attributes with non-technical stakeholders I came up over the years with a set of cards with pictures that kept evolving until this current Tarot Deck.
Why Tarot?
Years ago I realized that Tarot, together with other "mystical" resources, like the I-Ching or Astrology, share some synchronicity principles with similar, more pragmatic approaches like Brian Eno's Oblique Strategies cards.
In short, these methods use some patterns or concepts that can be taken at random, and when interpreted, help at connecting things out of our common line of thought. Adding some randomness to discussions can help creative thinking and innovation, and also provide some fun.
The Tarot Deck
You can get your copy of the whole Deck as a PDF file, ready to print double sided (so each card has a nice background). I recommend the heavier paper your printer can handle, if you want the result closer to actual cards. And of course, you would need to cut the cards (there are 6 cards per page).
But if you want to used them in a virtual environment, here is the Google Slides version (view only - you can copy to your own Drive).
Playing the Oracle
Now the fun part is using them!
The simplest usage is just as a Quality Attribute catalog, where you can just go one by one through the cards you think are relevant in your context, and for each card you can explain briefly to your stakeholders what it means, and have a conversation about their expectations about that.
But if you want to really entertain (and engage them) you can go full Role Play (I had even used costumes a few times), sit in front of the stakeholders, shuffle the deck, and start picking cards at random, letting your imagination (and of course your current knowledge of the system plus your experience) guide to some "predictions" about their possible challenges.
As it happens with real Tarot, by mentioning things "suggested" by the cards, you will trigger some internal responses from your audience, and the conversation can be really useful. In my experience, even when some of the key Quality Attributes does not appear in the few cards you pick, they usually appear anyway in the conversation. Of course it might not be named explicitly, but if they start expressing concern about some users from afar, you might explore Internationalization, or if they start remembering bad experiences with bugs or errors, you might guide them to talk about Testability.
What I found is that when you break formality and make things more fun, architectural conversations can be more insightful as people feel more engaged, or at least less bored!
Hope you enjoy the Tarot Deck!
Please let me know if you do. 馃槈
No hay comentarios:
Publicar un comentario