Excellence in Tech-centric organisations

For Shareholders and product enablers like Business Experts, Project Managers, Business Analysts the goal is a competitive advantage of the product.

To be able to achieve competitive advantage we need software with high ability to change rapidly. We need shortened delivery and feedback cycles.

Martin Fowler summarised Agile in two main pieces:

  1. The primacy of the Team
  2. Ability to change rapidly

Point of Agile is to combine across different areas of business like above and Software Development. Technical excellence revolves around Agile these days.

What is Technical Excellence?

Technical excellence is about the ability to build highly adaptive software and it is a cultural and organisational thing as well as technical.

Properties/practices of highly adaptive software organisations:

  • Excellent mutual understanding, goal and high cohesion between business and development.
  • You ain't going to need it (YAGNI)
  • Test
  • Continues Integration
  • Continues Delivery
  • Engineering excellence
  • Continuous improvement

What is Engineering Excellence?

Engineering Excellence is a subset of technical practices and methodologies which are enablers to achieve Technical Excellence.

  • Clean Code
  • Four Rules of Simple Design
  • High Cohesion - Low Coupling
  • Modularity

Why it matters?

Assures high quality.