Sunday, November 3, 2013

When will EAs learn traditional approach produce traditional results?


I keep seeing people advocating variations on the traditional approaches to EA that have not worked for a decade or two. Traditional approaches with result in the traditional results.

At best these approaches are often like communism - they sound sensible and if everyone did the right thing, in the right way for the right reasons - they might actually work - but that isn't the world we live in and they just don't really work.

Here are some things that don't work


  • EA based on the religious adoption of frameworks (that have been around for decades with almost no examples of success). These frameworks are usually abstract high level methods that in academic sense may be correct but are so generalised that in practice they little more than common sense aphorisms. They may also be taxonomies that claim to be canonical despite the staggering changes in the nature, size, and form of the things they claim to organize. For example TOGAF reminds one of rat pie instructions (http://www.oocities.org/sunsetstrip/amphitheatre/8707/rats.html)
  • EA that is a kind of software architecture or systems architecture (with its arcane notations and business alienating terminology). These initiatives are often rife with technical notations from various technical design discplines (data modelling, object modelling, process modelling etc.)
  • EA modelling that produces lots of hand crafted pretty pictures and wall art. These things can, often with some difficulty be used to communicate a message, but on close inspection it becomes clear that they semioticaly and semantically inconsistent. They remind you of iconic-graphic art explaining myths or fables.
  • EA done by some EA consultants (no the organisation itself). Consultant will tell you it can be done this way. NO it can't. EA can not even be done by EAs alone - it has to be done by the organization, it is an organizational activity.
  • EA done for EAs as an abstract ivory activity i.e. it is not intimately connected to where the rubber hits the road. Solution architects treat it with bemusement. BCP planner marvel at its incompleteness. Its relationship to down stream executions (e.g. business requirements which in practice form one the key inputs to any execution) is at best unclear.




Thursday, October 17, 2013

Enterprise Business Demand and Requirements Management - EPM, COBIT, TOGAF






In developing a requirements management approach for a large enterprise it is essential to understand that business requirements are NOT software requirements. The history of failure in transformation initiatives is based on mistaken, traditional approaches, that fail to recognize the distinction between approaches suited to enterprises, solutions and solution elements (i.e. SW engineering, and its associated requirements methods, which is oriented at solution elements). And on a orthogonal but related axis that business views of things and engineering views - are different views.

In terms of things like the Scaled Agile Framework -  http://scaledagileframework.com/- the issues that need to be addressed 1st and foremost are at the portfolio level an above. It also needs to be recognised that for enterprises software development is a necessary evil NOT a a goal.

In developing our approach to demand and requirements management we considered things from a governance perspective e.g. using COBIT as reference, and an EA/SA perspective using TOGAF as a perspective and developed an approach leveraging off enterprise portfolio management - as in reality requirements leverage off and result in changes in the enterprise portfolio.



Wednesday, October 9, 2013

What is EA and what is EPM



There is a lot of miscommunication about what EA/EPM is, should be, could be, should be.

I keep coming back things said in Royal of Academy of Engineering and British Computer Society report on ""The Challenges of Complex IT Projects" (ISBN 1-903496-15-2)" e.g.
-  "there is a broad reluctance to accept that complex IT projects have many similarities with major engineering projects and would benefit from greater application of well established engineering and project management ..."
-  "a striking proportion of ... difficulties stem from people ... failing to implement known best practice. This can be ascribed to the general absence of collective professionalism in the IT industry..."
-  "...  problems relate to the people and processes but further in developments in methods and tools is required to support the design and delivery ..."

Re the 1st point above - a starting point would be understanding what we mean by the terms/roles/areas of activity (and using another complex, but very mature, design domain as a parallel) -  for what it is worth - this was my view in 2007 (and remains essentially the same):http://ea-in-anz.blogspot.co.nz/2007/09/ea-and-analogies-with-built-environment.html. But to summarise some very broad classifications:

- Portfolio Management (EPM, Property Portfolio) - is not about design it is about economics and metrics (risk, cost, value, etc.).

- Planning (Town Planning, Strategic IT Planning) - is not about design either - it is about having view of the future at different points in time and mapping out, usually broadly, how to get make these views reality.

- Standards Management (Building Material Codes and Standards, Technology Standards Management, Patterns management, Principles definition) - is not about design of any specific solution/design its is about saying what we should build with and how we should assemble those elements. The economic drivers of standards management could come from portfolio management, but if guidelines are easily and accurately reflected in down stream processes then the proliferation of complexity and diversity will proceed unabated.


- Enterprise Architecture (City Design, Large Project Design e.g. Olympic Complex) - is about the design of enterprise (and encompasses many aspects of the above) and unlike its built environment counterpart the flow between what we want to do and with what technologies we do it is far more fluid (because the materials/technologies in the built environments change order of magnitude more slowly).

- Solution Architecture (Building Architecture) - is about design, but it is not really about detailed engineering or construction of the various modules, elements or systems that the building is created from (that is done by specialized sub-trades).

- Software Engineering (covers a multitude of sins - e.g. many Building trades - plumbing, interior design) and it is design.

- Systems engineering to achieve performance standards - "ilities" - is about design and relies heavily on patterns and best practice and calculations.

No one it their right mind would suggest that the same tooling/technology/modelling be used for all of the above:
- Property Portfolio
- Town Planning - maps might be useful
- Standards Management
- Enterprise Architecture - maps useful but insufficient
- Solution Architecture - maps referenced, some CAD capabilities required
- Software Engineering - many CAD trade specific design systems require
- Systems Engineering - as for Software engineering but different e.g. analysis of structure, heat etc.

So one gets an eco-system like this:


Thursday, September 19, 2013

Enterprise Architecture - need for diagrams, better requirements, considering change over time


Simple statement of some of the issues. Identifies needs for:

  • the need for diagrams to represent complex design and problems with current specification techniques (e.g. lack of semantic precision)
  • over focus on technical requirements at the expense of real business requirements and outcomes
  • analogies with city planning
  • need to consider change over time
  • need to model the future and do analysis 

http://www.youtube.com/watch?v=ToigBlcQhnc

Tuesday, September 17, 2013

If and when you can help people with improve demand and requirements management to support transformation

In deciding if one can help people improve how they approach demand and requirements management:
  1. Do they recognise the need to base requirements on their business/technology plan/architecture - as this provides the only canonical reference point. If they don't then point them at the material that explains why and leave them for a year or two.
  2. Do they recognise the current requirements in an architectural vacuum, document oriented, often software engineering lead, approaches to requirements have been failing, appallingly for a decade. It fails for everyone but the consultants and SW engineers. If they don't then point them at the material that explains why and leave them for a year or two.
  3. Do they recognise that engineering  requirements, methods and modelling are oriented at wrong things for the wrong people. If they don't then point them at the material that explains why and leave them for a year or two.
  4. Do they recognise that what is required are solutions where all stakeholders can access information in ways suited to the tasks they perform, that all demands and requirements need to reference a common view of the enterprise? That each project dealing with requirements, should as a by-product, of its elaboration improve that view of requirements? That is do they recognise:
    • Requirements should be captured referencing the enterprise's architecture (as a building project references the town plan)
    • Requirements captures should  help identify and remediate gaps in the enterprise's architecture (as a building project will identify gaps and errors in a town plan).
    • Overlaps across projects will only be visible when the reference to a canonical source is in place (as one can see on a town plan if buildings will overlap)
    • a common vocabulary of requirements affect on the architecture is needed (to avoid dozens terms which mean the same thing, or may not)
    • documents and other specifications should be automatically generated (as reports on data, not narratives purporting to be data)
    • common ways of rating things (based on data) should be in place - such as: value, risk, feasibility, cost, clarity, etc.
    • we should be able to identify potentials impacts of a change in the business architecture on all projects 
    • the criticality of all stakeholders have immediate direct access to requirements, in forms and at levels of detailed suited to their roles (diagrams, documents, visualizations; heatmap, roadmap, impact map; etc.)
    • the need to link explicitly the requirements to putative solution elements (to support delivery management)
If you get here - you can explore with them issues associated the cultural changes in the organisation and look at solutions and methods that support decision making and knowledge accretion.

The bottom line is you can't help people who don't want to be helped - and the 1st they need to make (for themselves) is to recognise there is a problem and they need to do something. See the 12-step programme for treating addiction to failed ways of doing things.

Remember Planck's Principle (not his constant) - "A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die and a new generation grows up that is familiar with it."


Friday, September 13, 2013

Enterprise Architecture - a term that could be abandoned



This (http://www.ebizq.net/blogs/ea_matters/2013/09/post.php) posits that we "cannot even agree on what architecture is". 

While I don't think this true in a broader sense, I do agree in the context of EA (and in fact IT).

I don't think it true that we not agree on what architecture is. Architecture is a fairly well defined discipline in the building industry. I trained as an Architect. It is fairly well understood what it means.

I do think it true that the IT industry has a poor understanding of the function EA. This is because the term is anachronistic, and does equate to the "Architect" in building (equating more to City/Town Planner). By anachronistic I mean it was coined in a very different era of IT - when there was typically only a single system, often a single language, etc - as if there was a single castle (not a city).  I would also suggest Solution Architect's - who do equate more closely to the role of the Architect in building - are not clear on their role. This is because many are by background SW engineers, they think SA is really just SW engineering. Like a carpenter (electrician, bricklayer etc.) thinking Architecture is about is about carpentry.

In the this context I would suggestion the description provided in the item is an example of the flaw i.e. Architecture is not systems per se, though systems are encompassed. We would be better to abandon the term EA - and instead of the:
-  E word say: "business", "product", "process", "system", "software", "services", "assets" etc.
-  A word say: "design", "planning", "asset management", "governance", etc.

If we were really smart we would look at mature industry i.e. building and use that as a reference model and relate our concept to that - so we would understand our equivalents (see http://ea-in-anz.blogspot.co.nz/2007/09/ea-and-analogies-with-built-environment.html).

It reminds me of other anachronistic terms e.g. fraternize - which has little to do with being brotherly; presently - which has little to do with now; etc.

Tuesday, August 6, 2013

Technology Architects need to realize they not paid to be artists

Technology Architects need to realize they are not paid to be artists and people don't expect to pay to self actualize. A key aspect of their function is to communicate, and when there are many working together that means they should use a consistent and relevant set of concepts (objects, relationships, properties, etc.) and communicate those concepts in a consistent way (colours, layouts, shapes, text etc.)

Enterprise architects needs to take some leadership here. While it may be true that for many technology architects (some of whom are really software or systems designers - with a grandiose title) their main audience is themselves (who really reads their SAD tomes), and handful of developers (who can in a project context learn a specifically set of semiotics). Enterprise architects need to co-ordinate communication across an enterprise.

I originally created this to try and communicate the challenges I have in discussions with these people in around 2010/11. In it "Widget" is intended to refer to anything e.g. applications, functions, systems, etc. (http://www.xtranormal.com/watch/7867545/)

I created an updated version that uses the word "Things" instead (http://www.xtranormal.com/watch/13610352/modelling-things).

I kind of prefer the original.