Building blocks of an Agile Transformation: Planning your journey

Rafael Morante
September 29, 2017

Why Agile?

Agile methodologies’ popularity has grown exponentially over the last couple of decades, which doesn’t come as a surprise, given the fast-paced changing business landscape.

Although there’s a myriad of agile frameworks with different focal points and approaches, all of them can trace their ancestry back to common sources like Lean Manufacturing processes, Iterative Software Design & The Agile Manifesto (the latter being arguably the most important philosophical contribution to the Agile management movement to this day).

Despite their various origins and different proposals, the most valuable trade of agile methodologies is how they revolutionize traditional management paradigms:

  • Traditional methods tend to focus on comprehensive process mappings and robust tools; Agile methods primarily focus on people and their interactions
  • Traditional methods emphasize delivering a finished product that is as thoroughly defined as it was in its initiation phase; Agile, on the other hand, deems value on delivering a “fit-for-purpose” and functional product above all else
  • Traditional methods see customers as external stakeholders whose project involvement is limited to providing feedback in advanced stages; Agile, instead, advocates for active customer involvement as a collaborator with smaller but constant feedback cycles
  • Traditional methods rely on detailed upfront planning (which make change difficult later on, during more evolved stages); while Agile embraces change at its very core; reducing initial upfront planning to just the essentials and adapting the product’s development as it evolves

If the latter points seem somewhat familiar, that’s great! As they are deliberate adaptations of the 4 core values defined by the Manifesto for Agile Software Development, 2001; the intention behind interpreting these values is demonstrating how they can transcend their original Software Development boundaries and flexibly percolate to almost any industry whose business lies in providing products/services to a demographic client-base.

The building blocks for an Agile transformation:

Software Development is a tough, rapidly-evolving business, and organizations need to be on top of their game at all times in order to thrive. We realized that in order to bring both organizational culture and business results to the next level while promoting organic growth, we needed a long-term strategy; yet flexible enough to yield short-term, sustained improvements. Aiming for simplicity, we adopted a “Plan/Develop/Check/Adjust” (also called ‘PDCA’ or ‘Deming Wheel’) model by which we:

  • Plan & prepare your Agile Transformation journey
  • Develop & execute a framework of small, continuous improvements
  • Check & study results brought forth by actions taken
  • Adjust & adapt further actions towards goal completion

The latter are the building blocks for our ongoing Agile transformation.

This is the first post in a small series, dedicated to sharing our thoughts, experiences and lessons learned throughout our ongoing journey of pursuing continuous improvement here at Sophilabs.

Now we’ll focus on our first building block: Planning your Agile transformation roadmap. During this phase, we want to understand the organizational vision, its culture and goals and assess the adoption of Agile practices.

To provide you with a little context about us here at Sophilabs; we’re a Software Development agency, specialized in building high quality software products, all the way across from web development to backend systems (on top of technologies such as Python/Django, Elixir/Phoenix, Node, Angular and React, among others). We have clients, ranging from startups all the way up to transnational organizations, distributed across the globe and in a wide set of different industries.

Preparing for your Agile transformation journey:

To say that the success of the whole initiative rests on top of appropriate and flexible planning and preparation is an understatement. And to properly prepare an Agile transformation, careful consideration has to be given to the following aspects:

  • What objective(s) are you trying to achieve by becoming more agile?

  • What are the minimal conditions required to foster change while minimizing resistance?

An organizational sense of purpose:

The objectives of becoming more Agile at this point might seem sufficiently self-explanatory, however for us, they came about realigning our organizational vision. This vision had to state a clear sense of purpose for everyone in the organization; it’s a snapshot of the ideal state we aim to achieve in the near future.

We want to “deliver high quality software that exceeds expectations and helps our clients accomplish their goals”; this is our vision and our mission here at Sophilabs.

Agile practices not only help organizations achieve better business results, they can also serve as a cornerstone for cultural change towards a customer-centric, value-oriented & self-critical mindset.

What objective(s) are you trying to achieve by becoming more agile?

In order to live up to our previously stated vision, we broke it down into straightforward, high-level goals and looked at how improving our Agile practices can help us accomplish them:

  • To deliver high quality software – Agile is built upon inspection and adaptation. Delivering high quality results each time around, at a constant pace, is achievable by an “inspect & adapt” loop.
  • To exceed customer expectations – Agile advocates for transparency. Customers are more than just that: they’re collaborators whose constant feedback and vision is critical-to-success. An engaged customer is more prone to convey clear expectations and have them surpassed.
  • To help our clients succeed and accomplish their goals – Agile emphasizes on the value of people and their interactions, as well as openness to embrace change. By focusing on people, we can perceive our client’s goals as our own; welcoming change, we ensure we remain focused on delivering them.

What are the minimal conditions required to foster change while minimizing resistance?

In a very broad sense, the minimal conditions needed are:

  • Clear organizational culture & values

  • Organization’s current methodological practices overview

Our culture, our values: our people

The culture and size of an organization are fundamental factors when attempting to promote change. Any organization with a conservative culture and values will have a harder time than those that are already flexible and open to change. Also, larger organizations have a more complex scenario than smaller ones.

In any case, change is often met with resistance when too ambitious, radical or complex. Management may try and push it from top to bottom as mandatory, but its momentum tends to wear off with time, and organizations find themselves back at square one.

Meaningful, sustained and permanent change is the result of a strategy that is as organic and lightweight as possible. Change has to resonate with people, so they make it their own.

Our values at Sophilabs emphasize everything previously mentioned. We empower our people and teams and recognize them as the primary force for change; and we work hard to properly engage them, providing guidance, Agile coaching and empirical freedom for trial and error. These are essential mechanisms that lay the groundwork for a self-critical culture that actively seeks continuous improvement.

Overview of the organization’s current methodological practices

Before we can even begin to develop a comprehensive action plan about how to leverage Agile practices within an organization, we need to at least have an overview of how said organization currently operates. We need to understand which activities add value and should be nurtured and further developed, which can be added to complement and boost efficiency, and finally, which should be ceased, as they come across more as blockers than enablers of value-creation.

Although at Sophilabs we’ve been using Agile methodologies for quite some time, the fact remains that we did not have a defined instance governing over processes management and improvement. We needed to task experienced guidance for this critical endeavor to assess our practices and results. An Agile coach as a permanent part of our team was decisive to live up to our goals.

Assessing current practices

At this stage, an Agile coach will benefit from several sources to create a broad view of the organization’s operational practices. Tools like the ones below are fit for this purpose:

  • Feedback interviews with key organization members and stakeholders: management, developers; as well as product owners or managers and their stakeholders
  • Observation: participating in team meetings, accompanying them throughout their workday
  • Current processes & operational procedures documents review

We invested a couple of months in properly assessing all of our operational practices and the findings were fairly interesting:

  • We’re comprised of highly technical development engineers with a wide range of ages and work experience
  • We have very well-motivated people, invested in their respective projects and open to change
  • Our teams in general lack wide Agile management practices working experience

Our roadmap is now clear: We know our goals, understand where we are and where we want to be and how Agile practices can help us maximize our efficiency.

Upcoming blog posts will address our next building block: Develop & execute a framework of small yet continuous improvements. We’ll cover why and how we came around to developing the most appropriate framework, as well as why and how its execution fosters continuous improvements.

"Building blocks of an Agile Transformation: Planning your journey" by Rafael Morante is licensed under CC BY SA. Source code examples are licensed under MIT.

Cover photo by Ludovic Fremondiere.

Categorized under agile / research & learning.

We are Sophilabs

A software design and development agency that helps companies build and grow products by delivering high-quality software through agile practices and perfectionist teams.