Category Archives: DevOps

How Agile is your Organization?

Maximum flexibility requires maximum responsibility!

Being Agile as an organization and Agile application delivery has been on the radar of many CIO’s and CTO’s trying to reduce the time to market of systems under their control.  Often I see agility being interpreted by the other C-levels as a methodology for maximum project flexibility. However maximum flexibility requires maximum responsibility to achieve business value and that is not a solely technical issue, on the contrary!

Being effective in Agile delivery requires a lot of maturity in different areas during project delivery. We will be looking at six axes besides the typical technical one:

  1. Technical Environment
  2. Quality Management
  3. User Experience
  4. Team Dynamics
  5. Ownership Management
  6. Project Management
  7. Company’s Eco-System

To generate maximum value, the Agile methodology has guiding principles and these have to be translated in operating procedures. Based on earlier work of M. Balbes, we propose a model to quantify this operational effectiveness by scoring a list of required capabilities according to maturity going from no capabilities to innovating and leading capabilities.

An Excel version to score your organization can be downloaded here:

Before we try to measure something, what are the Agile principles companies should adhere to?

  1. Delivery Value: Focus on continuously delivery value to the customer, key-users …
  2. Embrace Change: Change is good and inevitable. Change avoids waste by adapting before it is too late.
  3. Business + ICT: Avoid Chinese walls between teams. Work closely together every day.
  4. Simplicity: Focusing on what is good enough to avoid gold-plating. Work smarter not harder.
  5. Frequent Delivery: Delivery version frequently to have short feedback cycles.
  6. Self-Organizing Teams: Motivated individuals will be able to identify how to organize the work and what they need.
  7. Communication: Transparent, open and face-to-face communication helps insights and clear understanding.
  8. Self-Emerging: Avoid analysis-paralysis and big design up-front. Design for what is needed now and adapt.
  9. Progress Monitoring: Measure progress as delivered software i.e. potential shippable product increments.
  10. Constant Pace: The team should work according at a pace they can keep up without feeling pressured.
  11. Technical Excellence: Focus on the quality of artefacts and development process.
  12. Continuous Improvement: Be self-reflective and make incremental improvements to the development process.

For the different axes an organization needs to have some capabilities in place and below some examples of these capabilities. The detailed list can be found in the attached Excel model.

Technical Environment capabilities check if the principles of extreme programming are enabled. What is the company’s maturity for following capabilities:

  • Unit testing, test driven development and technical testing approaches
  • Continuous integration methods
  • Pair programming – Spikes experimentation
  • Source control – Branching strategy approaches
  • Release management
  • Coding standards usage
  • Development process – Software Development Life Cycle
  • Shared code ownership
  • Software changeability enablement

Quality Management validates if quality assurance is taken in favor of quality measurement. What is the company’ maturity for following capabilities:

  • Quality management process
  • Code Quality – Internal – External Quality impact analysis
  • Team’s  ownership of quality
  • Defect management
  • User acceptance testing – Exploratory testing

User Experience looks at the application of multi-disciplinary teams since developers are not designers. What is the company’s maturity for following capabilities:

  • Graphical Design – UX selection process
  • Embedded usability testing

Team Dynamics focuses how people collaborate and how self-reflective they are. What is the company’s maturity for following capabilities:

  • Team Structure – Charter agreements
  • Team discussion – Conflict resolution processes
  • Retrospectives – Stand-Ups organizations
  • Information radiators availability
  • Continuous improvements
  • Change acceptance process

Ownership Management goal is to see how well the link between business and IT is managed to enhance a project’s business value. What is the company’ maturity for following capabilities:

  • Identified stakeholders management
  • User stories – Story sizing principles
  • Acceptance criteria – Owner acceptance process
  • Delivering value – User feedback management
  • Prioritization – Backlog – Release Cadence organization
  • Backlog – Change management

Project Management looks for transparency in reporting and collaboration enhancement. What is the company’s maturity for following capabilities:

  • Kaban – Milestones overview
  • Decisions – Meeting minutes creation
  • Staffing alignment

Finally we have the company’s Eco-System or the environment. What is the company’s maturity for following capabilities:

  • Risk Identification – Monitoring – Mitigation
  • Embedded learning culture
  • Change – Champions creation and management
  • Governance – Internal Change – External Change management

An overview presentation can be downloaded here:

Cloud Target Operating Models are a perquisite to drive Cloud Adoption!

We often see companies moving to the cloud for the sake of not losing to the competition reversing the question “technology searches problem to solve” in stead of “business problem searches technology to be supported”.

Cloud computing can be an answer to a business question and has a lot of advantageable properties if it is aligned with a digital transformation vision. Hence Business-ICT alignment is key to make this happen. So the logical steps would be:

  1. Come with a Digital Strategy first.
  2. Translate the strategy into an Target Operating Model (TOM) for your business.
  3. Deduce a Cloud Strategy from the Digital Strategy
  4. Translate the Cloud Strategy into a Cloud Target Operating Model (CTOM)

Doing some literature research and looking into the publications of Enamul Haque, I created an overview slide deck with a focus on Business-ICT alignment for cloud computing.

You can download the deck here:

The content first focusses on where cloud computing fits within a digital transformation. Digital transformation is driven by a customer focus and on allowing continuous business changes. Next the following questions are answered: 1. What technologies and prediction are fitting with these drivers? 2. What are key success factors and challenges of a digital transformation? Finally the reasons behind a digital strategy are discussed.

In a second part the focus is on cloud computing. We start with the business drivers and technology drivers and next discus some benefits and challenges. In order to fit cloud as a technology within any company it must be supported by a cloud adoption framework in order to live up to its full protentional.

The final part of the slide deck focuses on the CTOM where the adoption is initiated by a Cloud Center of Expertise (CCoE) delivering the processes for Cloud Service Management and Cloud Operations Management regulated through Cloud Governance.

Cloud Target Operating Model is based on four processes:

  • Plan: Strategy to Portfolio (S2P)
  • Build: Requirement to Deploy (R2S)
  • Fulfil: Request to Fulfil (release/delivery) (R2F)
  • Run: Detect to Correct (R2D)

Tearing Down the Application Development Fortress

A plea for multi-disciplined development teams

Introduction

Creating applications is a multi-skill effort that comes with a set of challenges. For an average sized application there are 5 skills involved:

  • Graphical design
  • Business analysis
  • Application development
  • Software testing
  • System operations

… not even taken into account other stakeholders like end-users, DBA’s, enterprise architects, security officers, project and program managers, change management, user experience design …

Continue reading