To many people, "geek" and "nerd" are synonyms, but in fact they are a little different. Consider the phrase "sports geek" — an occasional substitute for "jock" and perhaps the arch-rival of a "nerd" in high-school folklore. If "geek" and "nerd" are synonyms, then "sports geek" might be an oxymoron. (Furthermore, "sports nerd" either doesn't compute or means something else.)
The Project Management Triangle is one of my favourite models that I find myself drawing on many occasions. As an architect you are constantly having scope discussions and while at an architecture level it may be OK it impacts time and/or budget which may not be satisfactory. This is a simple and effective way to explain why:
I posted previously about the benefit of an Architecture On A Page and the benefit that it provides as an architect. Being able to socialise an architecture is an important part of the job of an Architect. You socialise your architecture so that you can understand that different people’s wants of the final design are. A tester will have a different perspective to the asset manager who will need to support the application.
These conversations and the resulting requirements, constraints etc are what my maths teacher used to refer to as my working out. Much like I needed to show my working out to a maths question it is important to show your working out to an architecture. This working out presents to people the different ways you have looked at your design and takes them down the journey you have been on to discount options and refine the architecture.
Unfortunately there is never a “perfect” architecture; it is always a set of tradeoffs that need to be made. Your ability as an Architect to make your design as good as you can and also your ability to communicate this design is driven by the completeness and accuracy of the considerations you have made with regards to the architecture.
To build this picture I refer to the technique of “collecting questions”. By this I mean that we often socialise our design with the intent of getting questions answered. The other way to look at this is to as you socialise the architecture is to listen to the questions stakeholders ask and make note of these. These questions are what form your working out. If the asset manager asks if the technology fits the skill set of his team of .Net developers and you present a java solution he isn’t going to be happy.
The Architecture on a Page is the answer to the question but you need to show your working out and to make sure you have considered everything in your architecture. To do this make sure you go collecting questions.
I have had the idea of Architecture Debt on my mind of late, most designs have something in there that you could class as Architecture Debt. Mmmmmmmm
A great post on how people being different can make simple tasks complex if not impossible.
One of Einstein’s colleagues asked him for his telephone number one day. Einstein reached for a telephone directory and looked it up. “You don’t remember your own number?” the man asked, startled.” No,” Einstein answered. “Why should I memorize something I can so easily get from a book?”
In this day of Google do you need to memorise anything?
Q. What is the height of optimism?
A. An Australian batsman putting on sunscreen.
Q. What is the main function of the Australian Coach?
A. To transport the Team from the hotel to the ground.
Q. Why don’t Australian fielders need pre-tour travel injections?
A. Because they never catch anything.
Q. What’s the Australian version of LBW?
A. Lost, Beaten and Walloped.
Q. What do you call an Australian with 100 runs against his name?
A. A bowler.
Q. What’s the most proficient form of footwork displayed by Ponting?
A. The walk back to the pavilion.
Q. Who has the easiest job in the Australian squad?
A. The guy who removes the red ball marks from the bats.
Q. What do Australian batsmen and drug addicts have in common?
A. Both spend most of their time wondering where their next score will come from.
Q. Why are Australian cricketers cleverer than Houdini?
A. Because they can get out without even trying.
Q. What does Ryan Harris put in his hands to make sure the next ball almost always takes a wicket?
A. A bat
Over the last couple of weeks I have put together some of my key learning’s from the last nine month, leading the architecture team on a migration project. There were a lot of firsts in this project for me, both from the problem space of the project but also leading a relatively large architecture team. This has been a good change to reflect on the project and take some time to capture these learnings.
By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest.
Leading a team of architects presented several challenges one simple problem of having multiple architects but one architecture to document. A simple habit that the team got into which helped develop a culture of knowledge sharing was the Architecture Review Meeting. At the core of the whole project we developing a Reference Architecture to tie everything back to. Last but not least, we used a technique from the agile world called the retrospective to provide a bit of continuous improvement as we moved from one part of the project to the next.
Doing a migration project was challenging, from the start is seemed that migration is just ETL. As the project evolved we soon realised that a migration is much more than ETL. We had to tackle several problems such as migrating a large volume of data. The importance but also the frustration of having to define what would happen on the day. By looking at other migration projects we came across a technique of defaulting rather than exception.
What a journey!