Monday, November 17, 2014

Are you Teaching a Starving Man to Fish?

Are we as Enterprise Architects guilty of teaching a starving man to fish? I came across a blog post with similar title by Bruce Kasanoff this morning. What a great little article from Bruce and what a punch of a message! It resonated so well with what I have observed in the field of Enterprise Architecture over the past decade or so. 

Whether we like it or not, sometimes Enterprise Architects are seen as a bunch of guys who are running "ivory tower" practices. Some brilliant, intellectual stuff takes place in such practices but often it seems to fail to solve real-world, practical problems. We have some good models, framework, methods but somehow the customer of our trade do not seem to find it useful. Why would this be happening? 

Here is one scenario, borrowing Bruce's metaphor from above. Our "starving man" customer approaches the talented and experienced Enterprise Architecture team expecting a "fish today". This may be in the form of a solution to a specific burning project problem, e.g. integration requirement for a new digital channel and legacy back-office. They probably expect us to deliver a crunchy API specification in quick time so that they can hand it over to third party supplier. But instead they get a dose of methods about taxonomies and generic models.

The intent here is probably noble so as to empower project teams to build interfaces based on corporate standards which are perfectly aligned with the "right EA way". But probably what the customer expected was an Enterprise Architect to drop his methodology chalks, roll up his sleeves and do some real work to deliver "fish today" integration specification. And once the hunger was tackled, this starving man would be ready to learn "fishing the EA way" based on delivery credibility for future integration work. 

The point I am getting at here is Enterprise Architects need to maintain a healthy balance between framework purity and practical implementations in real-life. Solving some project / solution problems here and now may be the best way to educate about the value of Enterprise Architecture. And then we will have a ready audience who will be interested in learning more about our great taxonomies and models to solve further real-world problems in future. If we don't, the customer will sooner than later go somewhere else where he gets a fish when he is hungry. Have you heard about "Shadow Architecture Team" by the way? 

Happy Fishing!

Sunday, June 29, 2014

Are you an Architect or an Engineer or a Technician?

A few days ago I had posted some thoughts about relationship between an Architect role and an Engineer role. I had referred to the Zachman Framework to explain the trade-off and dependencies in these two important role profiles. The beauty of Zachman Framework is that it does not stop at explaining only dynamics at the Architecture level but it seamlessly connects both the Business Consumer and the Technology Implementer perspectives in a simple single framework. 

Please see the simple illustration from Zachman Framework below. At the heart of below picture is the dual-relationship of an Architect role profile and the Engineer role profile as I had outlined in my previous blogpost. The Technician perspective is an interesting one and an important one. I state this because it is at the Technical perspective that the Business and Operating Models chalked up by an Architect are realised. I think that a good mature CIO or IT department has to consider the architecture in totality and offer capabilities across this spectrum. 

Architect Engineer & Technician Perspectives from Zachman Framework
All Copyrights with Zachman International

The key question of this post is, who do you think you are? Are you an Architect or an Engineer or a Technician? I suppose the answer depends on a number of factors; your organisation design, it's operating model, your own skills and capabilities. Just to give an interesting example, I used to work for a CTO who used to say, "Give me a programmer over a process engineer anyday". What he meant was, he would rather deliver better results faster working at the Technician level rather than working at the Architect or an Engineer level. 

I am not stating that his perspective is right or wrong but the point I am trying to make is having awareness of these different perspectives is important. An organisation and individuals who identify and respect these perspectives will be progressive and will make a positive difference to their business by dynamic delivery capability. What probably my CTO meant then was, he would rather work with an architect who was not shy to roll up the sleeves and perform the role of an Engineer or a Technician. Do such architects exist? This is a rare breed in my experience. 

The first, second, third and now fourth generation outsourcing models add an interesting dynamics in this discussion. For example, if a large Retailer or a large Bank outsources it's Data Centre Infrastructure and Operations to a Technology outsourcing supplier, would you call them as your Technicians? Probably yes, if you also give away your key Technician resources. Probably no, if you keep them in-house keeping an oversight on your supplier. 

As an individual an Architect or an Engineer needs to think about his / her role and capabilities within the organisation. The CIO, CTO or the IT leadership needs to think about range of capabilities they need to invest to make a positive difference to their business consumers. You can have many labels and titles if you like but what matters is understanding and delivery of Architect, Engineer and Technician perspectives. As an operating model an organisation may choose to keep these capabilities in-house or outsource them but as long as it recognises and manages their delivery, they will meet their objectives successfully. 

References used in this blogpost for further reading and credits

Monday, May 19, 2014

Are you an Architect or an Engineer?

If you share any of my professional background and work experiences, I am sure this question must have popped in your head a few times! 

Zachman Framework clearly differentiates between the above two perspectives. As a matter of fact, Zachaman Framework clearly distinguishes between six perspectives, namely; Executive, Business Management, Architect, Engineer, Technician and the Enterprise. But I find the differentiation between Architect and Engineer perspective most interesting, probably because I started my professional life as a Software Engineer and then went onto play a range of Architect roles (Business, System, EA etc.) over the last fifteen years. 

I probably can recollect a dozen instances where these roles overlapped and can also recollect may be another dozen when there was a gap between the two. That probably is more a comment on the Operating Model issues! Referring back to Zachman Framework’s definitions, the two perspectives are defined as below;

Architect and Engineer Perspectives - in Zachman Framework
All Copyrights with Zachman International

The Architecture Perspective is about the Business Logic Designers. People who manage this perspective, namely Architect role profile works closely with Business Managers to understand the key business concepts and then turn them into representations. Zachman actually names them as System Entity and System Relationship representations. The Engineer Perspective is about as Zachman calls it, Business Physics Builders. In other words, Engineers work closely with Architects to turn System representations into Technology Specifications. Zachman actually uses an example of Technology Entity Relationship specifications.

TOGAF though defines Architect roles well; it probably does not clearly differentiate between an Architect and an Engineer at a role profile level. But it does offer a good methodical (as you can expect from TOGAF) and well defined classification of view; namely, Business Architecture View, Data Architecture View, Software Engineering View, System Engineering View and so on. In my opinion that works well too as with these views an organisation can then map roles, responsibilities of Architects and Engineers onto its operating model. 

While many readers of this blog may or may not agree with precise definitions, I think this is still a good enough framework for us to start building operating model constructs around how best do Architects work with Engineers? Or vice versa! In some organisation they may be played by single role profile, in large environments it may be spread across say two or three role profiles. In an outsourced environment, Architect role may still be part of the retained IT staff and Engineers (or Engineering Services) may be procured from suppliers. I suppose, individual organisational operating model will dictate the specifics on these.

What is your experience in your organisation? How do architects work with engineers in your organisation?

References and additional reading: 

Blog Archive