Category Archives: Books

Building Evolutionary Architectures

Controlling the Fitness of Your Software Architecture!

In their book “Building Evolutionary Architectures”, N. Ford, R. Parsons and P. Kua introduce a new way to look at software architecture where changes to requirements become part of the business as usual. These concepts were already set in motion by Agile, DevOps and CI/CD but the authors add a refreshing concept to the mix.

How are we going to measure the suitability of our architecture compared to the every changing requirements?

The proposed solution lays in measuring how far or how close the characteristic of the current architecture are from the ideal or expected characteristics. The solution was inspired by statistical models were we want to fit a curve to a set of data points by fitting a function. An expression of the suitability of the curve’s function is called the fitness of such a function.

The same concept can be applied to software architectures. Required architectural characteristics a.k.a. as the technical *-abilities can be measured by fitness functions. When the architecture changes the impact is measured by these fitness functions and as a result the changes become quantifiable and controllable.

An architectural fitness function provides an objective integrity assessment of some architectural characteristic. Combining the outcomes of the collection of fitness functions gives a view on the overall architecture.

Making architecture capable of evolving requires 3 things:

  • An architecture that supports incremental change
  • An architecture that can be measured so the changes can be guided
  • An architecture with the appropriate level of coupling to allow for an optimal change process

More details on the topic can be found in:

Enterprise Architecture as Strategy

Enterprise Architecture (EA) as Strategy by Ross, Weill and Robertson was written some time ago in 2006 but still has valuable insights to offer.

The book rightfully underlines that EA is not an IT problem but a business problem to solve. Hence EA as strategy since business should be in the driving seat.

Further it explains EA is based on three components:

  1. An Operating Model
  2. EA Maturity Model
  3. An IT Engagement Model

The operating models are evaluated in a two-dimensional quadrant: one axis is the level of process integration (read shared data) and the other axis is the process standardization across the enterprise. This results in four flavors of operation models:

  • Diversification: low standardization – low integration
  • Coordination: low standardization – high integration
  • Replication: how standardization – low integration
  • Unification: high standardization – high integration

The EA evolution over time is expressed in four levels of maturity:

  1. Business Silo Architecture
  2. Standardized Technology Architecture
  3. Optimized Core Architecture
  4. Business Modularity Architecture

In a final chapter a fifth level of maturity is added i.e. Dynamic Venturing which can be seen as an specialization of Business Modularity Architecture

IT Engagement is detailed based on companywide IT Governance liaised with Project Management using a linking mechanism.  The overall governance aims to:

  • Reduce IT costs
  • Increase IT responsiveness
  • Reduce risk
  • Increase managerial satisfaction
  • Realize business outcomes

A summary presentation with some more details on the book can be found here:

Platform Recolution

The War on Eco-Systems and Platforms!

Whilst researching the structure, organization and benefits of business eco-systems, I came across two great books that I used as reference to create a POC for dynamic contracts:

  • Platform Revolution by Jeremy G. Philips
  • Platform Scale by Sangeet P. Choudary
  • Platform Ecosystems by Amrit Tiwana
Platform Recolution Platform Scale Platform Ecosystems

For the research I looked first into:

  • The value proposition of eco-systems
  • The opportunities and evolution of eco-systems
  • The building blocks to create eco-systems            

These all can be visualized by Platform Canvas Model i.e. a business model canvas for eco-systems.

A second part is on:

  • Eco-systems barriers and challenges
  • Where is the money or revenue in eco-systems

Finally we dive into:

  • The high-level architecture
  • The required micro-services and API’s
  • Business process overview and an architecture for dynamic contracts

Managing the Unmanageable

“When it comes to getting things done, we need fewer architects and more bricklayers”. In managing the unmanageable, Mantle and Lichty, explain how to run a software development team from hiring and firing to project inception and delivery. Interesting read for every project manager.

The book covers eight topics:

  1. Software Development is difficult
  2. Understanding Software Developers
  3. Finding and Hiring Great Programmers
  4. Getting New Programmers Started Off Right
  5. Effective Programming Manager
  6. Motivating Programmers
  7. Creating a Successful Programming Culture
  8. Successful Software Delivery

The Imposter’s Handbook

The Imposter’s Handbook by Rob Conery

The Imposter’s Handbook is a fun to read book. It starts from the idea that anyone without a Computer Science degree can get quickly into the most common concepts, slang and buzzwords used in the IT industry.

We all know that we use CS jargon (may-be BS jargon) to make things look more complex and to make us look smart.

The book claims to cover all the concepts of a CS degree which is a bit exaggerated but still a lot is covered. Topics are:

  • Computation
  • Complexity
  • Lambda calculus
  • Machinery
  • Bog O
  • Data structures
  • Algorithms
  • Compilation
  • Design patterns
  • Functional programming
  • DB’s
  • Testing
  • Unix