Just this Tuesday, April 28, I did my first workshop as a consultant to Trend Micro. I thought Agile Software Architecture, a combination I got from my classes in UP (CS 253), Software Architecture for Developers by Simon Brown, support material from LLOSENG and just various tidbits I picked up through the years.
I started off the workshop with a talk on software architecture to create a common language for all the participants. I tried my best not to overload the slides with detail, since I know that most of the learning would happen on the second part of the workshop, which is the Architectural Kata. Arguably the three most important points of the talk are:
Creating a vision and making design decisions
Requirements drive architecture
Base your architecture on requirements, travel light and prove your architecture with concrete experiments.
All of which are quotes from industry gurus. Armed with these points and more, I went ahead and showed them their kata. It’s basically a request-for-proposal (RFP) for an online food delivery system, and I modified it a bit to add more integrations like the company customer relationship management system and supply chain management system to simulate the constraints of a real-world systems. I divided the audience to 4 groups of 4 people, and assigned an subject-matter-expert (SME) to each group. Each group became their own companies, vying for the RFP, while each SME became their own CEO’s. I gave them their company names, which is a play on their names, like:
While they were planning, there were a lot of questions, and clarifications — just as I would expect in any brainstorming session. When the presentation came, it was such a blast! Everyone’s outputs were excellent, and delivered in their own interesting ways. I was glad everyone focused on the most salient parts of the kata, the store locator container and the promotional containers. It was fun to see them concentrating on the non-functional attributes of the system as well, such as availability and sociability. It all boiled down to the differentiators each group advertised.
RomCorp emerged as the winner, after a tie between them and Troy Technologies. The main reasons were the focus on the most important details and their differentiator, the marketing container handling the customers’ behaviors.
It was a fun learning experience, and we’ll definitely do one again in the future. I’m glad to see the points on the earlier talk being applied immediately in the kata.
As for me, I’m looking forward to facilitating more sessions!
 I was a full-time software engineer in Trend Micro, my first job after college, but changed to a part-time consultancy so I can finish my master’s in UP Diliman.
 The slides: http://www.slideshare.net/krsnewwave/agile-architecture-upload