Togaf and Enterprise architecture interesting links 1

Today I have produced a short list of links interesting about Togaf and Entreprise architecture.

A nice quote :

{% blockquote Angelo Andreetto, Senior Enterprise Architect for Zurich Insurance Group in Zurich, Switzerland %} Digital transformation is a fantastic way to rethink Enterprise Architecture,

{% endblockquote %}

Here is the digest :

  • an interesting article explaining the limits of the Togaf methodology. here

{% blockquote %} People actually think that TOGAF must be right because it is a compendium, very large at that, of IT project good practices, because it has so many brand names behind, because of its many followers in IT, because of its many vocal backers whose interests are intertwined with TOGAF, because it has the dominant training and certification market share, because it has its own conferences. {% endblockquote %}

  • is Enterprise architecture completely broken ? post

This article is particularly interesting since it explains the limits of EA when this domain is understood as a basic documentation or a fixed organization.

{% blockquote %} EA fails when enterprises are treated as discrete systems that can be reduced into smaller problem sets, as traditional engineering approaches or some EA frameworks would have us believe. {% endblockquote %}

  • Agile, TOGAF and Enterprise Architecture: Will They Blend? article

"Is enterprise architecture still relevant when we do Agile?" and "what is the role of an enterprise architect in an Agile organization?" That the questions this article is trying to answer.

  • For people that are new with the concepts of Enterprise Architecture, this Microsoft MSDN page is useful. msdn

Indeed there is a comparison of the Top Four Enterprise-Architecture methodologies. Informations there are quite old (2007) though relevant. I am particularly fond of real battlefield experiences on using such methodologies. This article is a good start.

These slides illustrates how to implement TOGAF by delivering some key points, in particular the metamodel.

  • Togaf posters

This site offers some posters to have a better understanding of Togaf and the Enterprise Architecture Togaf posters

  • Enterprise Architecture by the example :

This document is an implementation of Togaf 9 by Birmingham University. It is full of samples and good informations to exploit 🙂 Birmingham Enterprise Architecture Framework

I am loving metrics and this article was really great : 7 Key architecture metrics – IT Total Cost of Ownership (TCO) as a Percentage of Revenue – Total Cost Savings (TCS) – Percentage Of Spend That’s Strategic (PSTS) – Common Services Compliance Rate (CSCR) – Architectural Due Diligence Rate (ADDR) – Sunset Technology (ST) – Business Specific

Finally to conclude a TOP 8 of Enterprise Architecture risks 8 Enterprise Architecture risks

{% blockquote %} If your Enterprise Architect can’t describe five cases where Enterprise Architecture has failed miserably, it is time to find a new Enterprise Architect. {% endblockquote %}

  • Security vulnerabilities and exposures : EA and security should work together to bring state of the art security in the whole company
  • Distracting critical staff : Stakeholders often complain that Enterprise Architecture is cumbersome
  • Low adoption rates : It is much easier to define a enterprise architecture than to implement the governance required to implement it.
  • Increasing solution costs : Enterprise architecture programs are often guilty of over-engineering.
  • Decreasing user acceptance : Users often complain that common solutions are less adapted to the needs of their business unit.
  • Creating dependencies : common solutions also introduce new dependencies between business units and can create new bottlenecks.
  • Project delays : it is possible for EA processes to delay projects and add excessive overhead by adding unnecessary checkpoints.
  • Be careful what you measure : if EA introduces business performance metrics, metrics may also introduces risks and weird behaviours.

My weekly DZone”s digest #1

This is my first post that offers a digest from a selection of DZone’s articles. I will pick DZone’s article based on my interests.

This week the subjects are : BDD Testing, Bad code, Database Connection Pooling, Kotlin, Enterprise Architecture

A few benefits you get by doing BDD

A few benefits you get by doing BDD : This article is an introduction to the Behaviour Driven Development practice. It’s interesting because we are regularly meeting teams, developers, architectures (pick your favorite one) that are confusing technical details and functionalities. As a result, the design, the tests and the architecture hides the user behaviour (the use cases ?) under a pile of technical stones. This article is a nice introduction. I recommend to go further these articles : * Your boss won’t appreciate tdd, try BDD * BDD Programming Frameworks * Java Framework JBehave.

Gumption Traps: Bad Code

Bad code, how my code...

Bad code, how my code…

Gumption Traps: Bad Code : an article about the bad code and how to deal with it.

{% blockquote Grzegorz Ziemoński%} The first step to avoid the bad code trap is to stop producing such code yourself. When faced with existing bad code,one must work smart to maintain motivation. {% endblockquote %}

This is a good introduction sentence. This week, I had a meeting with a skilled and amazing team. The meeting’s goal was to find a way to find the technical debt. The very technical debt that is ruining the application and undermining the team’s motivation. What I found interesting and refreshing in this article, is the pragmatic tone and the advice.

{% blockquote Grzegorz Ziemoński%} To avoid bad code, try to minimize the amount of newly produced bad code. {% endblockquote %}

How to avoid the depress linked to the bad code ? First of all, I want to say that developers are not receiving enough training on how to improve the code. Usually university / college courses are dedicated about How to use a framework. Therefore, few of them are able to qualify what is a bad code, what are its characteristics and de facto the ways to improve it. To avoid bad code, I try to demonstrate the personal benefits for the developers to improve their skills. Quality is not only a question of money (how much the customer is paying) but rather how much your company is paying attention to your training and personal development.

A lot of developers are overwhelmed under the technical debts without the appropriate tools (mind, technics, theory) to handle it. I try to give them gumptions about the benefits to be a better developer and how to handle the weakness of a sick application. To save a software rather than practicing euthanasia 🙂

Database Connection Pooling in Java With HikariCP

When we are discussing about Database connection pooling, most of my colleagues are relying on the good old Tomcat dbcp. However there is a niche, really funny and interesting, the guys that a competing for the best DBCP. And HikariCP is clearly a step ahead of everyone.

The article Database Connection Pooling in Java With HikariCP is presenting how to use a custom DBCP in your software.

Hikari Performance

Hikari Performance

I think it would have been great to present the differences with the standard DBCP and further debate on the advantages/disadvantages of the solutions. A good idea for a newt article 🙂

Concurrency: Java Futures and Kotlin Coroutines

Java Futures and Kotlin Coroutines An interesting article about how Java Futures and Kotlin co-routines can coexists. Honestly I am a little bit disappointed and thought that Kotlin would make things easier like in Node.JS

Are Code Rules Meant to Be Broken?

Another article about Code Quality and we could be dubious whether exists an answer to that question : Are Code Rules Meant to Be Broken.

I won’t enter too much in the details, the author’s point of view seems to be Code Rules are good if they are respected. If they are broken, it implies that the Code rules need to evolve 🙂 What do you think about it ?

Java vs. Kotlin: First Impressions Using Kotlin for a Commercial Android Project

This article is interesting since it presents a feedback session on using Kotlin in a Android project.

The following big PLUS to use Kotlin are :

  • Null safety through nullable and non-nullable types, safe calls, and safe casts.
  • Extension functions.
  • Higher-order functions / lambda expressions.
  • Data classes.
  • Immutability.
  • Coroutines (added on Kotlin 1.1).
  • Type aliases (added on Kotlin 1.1).

  Quality Code Is Loosely Coupled

Quality Code Is Loosely Coupled

This article is explaining one of the most dangerous side of coding : Coupling. Must to read article despite the lack of schemas.

Five Habits That Help Code Quality

This article is a great introduction on code assessment. These five habits are indeed things to track in your software code as a sign of decay and code sickness.

The habits are : – Write (Useful) Unit Tests – Keep Coupling to a Minimum – Be Mindful of the Principle of Least Astonishment – Minimize Cyclomatic Complexity – Get Names Right

10 Good Excuses for Not Reusing Enterprise Code

This article is really useful in the context of Digital Transformation to assess which softwares you should keep and throw.

Example of excuses : – I didn’t know that code existed. – I don’t know what that code does. – I don’t know how to use that code. – That code is not packaged in a reusable manner.

Test proven design

An interesting article and example on how to improve your own code using different skills. I really recommend to read this article and the next future ones : Test proven design.