Improving the Agile Software Development Lifecycle — Introducing: Adaptive Engineering.

David Choe
ASAP
Published in
7 min readFeb 9, 2021

There is a problem with the way we’ve been taught to move through the software development lifecycle: it no longer matches how modern teams build technology.‍

As a complex socio-technical activity, software development involves coordinating different disciplines and skillsets. The multi-layered process of identifying user needs, crafting features for those needs, identifying and prioritizing value, implementing features, releasing, and supporting products provides ample opportunity for waste to creep in.‍

We’ve found that all waste starts with a compounding degradation of engineering visibility due to insufficient and inaccurate data. Our research has shown that although the right people were in fact communicating, in our case, engineers and engineering managers, the wrong information was being relayed or lost in translation.‍

Typically this starts as this subtle yet problematic communication disconnect that’s compounded by modern-day productivity styles that can jam the traditional agile workflow: varying time zones, chat-based daily stand-ups, tooling overload, supporting product innovation with cross-functional partners, and more. This causes waste across the board:‍

*Research done by Todd Sedano, Cecile Peraire, Paul Ralph in 2017

‍Better communication is the only way to bridge the gap between the two which will elevate your product, your organization, and your relationship with customers. Not cooler talk but the actual flow and understanding of information. When needed information is missing, engineers and managers appear to have three options:

  1. Wait for the information
  2. Suspend/block the story and work on something else,
  3. Or, act without the information.‍

The best option depends on how far into the story the pair is, how long they have to wait, and their confidence in their guess.‍

Engineering managers and engineers often use waiting time to attempt to remedy problems or reduce the duration of the future waiting. When this is not possible, engineers often work on something else instead of idling. Unfortunately, task switching decreases productivity and increases the likelihood of mistakes.‍

But what if we had the information needed to take the right action early on?

Simple yet actionable information flow reduces waste across the board, increases productivity, boosts morale, and saves millions of dollars.‍

Most businesses still use software development process methodologies that are only designed to create efficiencies for engineers themselves. The onset of cross-functional collaboration creates new obstacles that render such traditional methodologies ineffective for everyone.‍

Data shows that using out-dated methods, organizations do not function at their peak:

  • On average, $85b is wasted every year on technical debt and maintaining legacy systems
  • Waiting on data, answers, review events, and capacity account for more than 30% of a project lead/manager’s time
  • Only about 10% of product development project activity is a value add activity‍

So what’s the fix?

Can you utilize data from all of the tools we’re using to fill the communication gap between engineers and engineering managers? Can you surface change deltas in projects and find bottlenecks from data disparities between tools? Can you design data to be human-centric and empower managers with a centralized knowledge base?‍

We believe so. By solving this problem, both managers and engineers can adapt throughout the product lifecycle in such a way that diminishes waste and increases effectiveness.

‍Welcome Adaptive Engineering.

What is Adaptive Engineering?

Adaptive Engineering is the most inclusive way to move teams through the software development life cycle with actionable data. It builds organizational effectiveness and efficiency, and trusted relationships with your end users.‍

Instead of pushing engineering organizations to produce more, faster, Adaptive Engineering uses actionable and relevant data to help reduce software development waste by placing predictability and progress as the main focus.

‍At the core, it’s about surfacing the right data and not creating informational burnout with data overload. From our experimentation, we’ve found that when a manager can accurately keep the resting pulse rate of a project while recognizing when it spikes or drops, or even better — acting right before the spike/drop, it opens the door to endless possibilities.‍

Better backlog management, accurate sprint planning, early-on risk detection, more effective team conversations, objective performance tracking, just to name a few.‍

Ushering your team into these possibilities will help you set expectations with cross-functional teams and customers. Which means happier customers and a happier company.‍

How to do Adaptive Engineering

‍Implementing Adaptive Engineering doesn’t force you to blow everything up and start from scratch. It’s more like turning on another productivity channel that supports all your other product development efforts.

Adaptive Engineering is anchored around 4 core pillars:

  1. Compelling Direction
  2. Strong Structure
  3. Supportive Context
  4. Shared Mindset‍

It’s the core of any software development organization and builds strong companies in the modern world. It’s not a new process or style. It’s a new mindset.‍

Let’s take a look at each pillar:‍

Pillar #1

Compelling Direction

The vision set forth that energizes, orients, and engages team members. The Compelling Direction must be consequential — have a real-life, tangible impact on the business, to their careers, their pay. It must be able to drive forward teams with varying personalities and perspectives, unifying them under one trajectory.‍

Pillar #2

Strong Structure

This requires a diverse, yet cohesive team composition with thoughtfully and intentionally designed tasks, processes, and norms. This is where clarity for all stakeholders is created. It’s the funnel for how information flows in and throughout your organization. It’s where waste begins to scale and morale amongst teams begins to drop.‍

Pillar #3

Supportive Context

Supportive Context is the “why” behind decisions and actions. It should be concise, clear, and actionable. It’s information (access to the right data), balance in reward (reinforcement of good performance), and educational systems (training and development). This is the pillar where knowledge silos form, visibility is lost, and information gaps start to occur. In the end, where the seed of waste is planted.‍

Pillar #4

Shared Mindset

Shared Mindset is about common identity and understanding between individuals and teams. It creates strong relationships through listening. It finds commonalities in adversity and diversity. It welcomes support and feedback. It breaks walls between departments and eliminates psychological distress. It is the pillar that attracts and helps retain great talent.‍

You can approach each of these four pillars with Adaptive Engineering:

  1. Breakdown requirements
  2. Develop an insight
  3. Build strategy
  4. Monitor your risk
  5. Test assumptions‍

Let’s break it down:‍

Step #1

Breakdown Requirements

Understand why the requirements are requirements. Make sure that your team understands the business requirements, stakeholder requirements, solution requirements, and transition requirements.

Be detailed, what may seem obvious may not be to another team member or stakeholder. Clarify assumptions, identify redundancies, and solve misunderstandings. Be objective, and write out requirements without opinion.

While you’re breaking down requirements, don’t focus on implementation. For now, only be concerned about the “what” not the “how” of the project.‍

Step #2

Develop an insight

Before putting a plan in place, develop a clear understanding of everything at play: state of codebase, capacity, etc. This will help you communicate with confidence why your strategy makes sense.

Understanding the true state involves not only understanding a “now” state, but also recent changes and discrepancies that may cause underlying problems down the line.

Your end goal is to be able to tell a clear story if you believe you can build a strong implementation strategy.‍

Step #3

Build a strategy based on your insight

Build your plan based on the insight created in step #2. Building a plan based on insight means it’s a strategy. You’re now taking a strategic approach to planning and prioritization.

There should be some form of general consensus on the overall strategy before you press “go”.‍

Step #4

Monitor your risk

Whenever there are various moving parts inside of a project, the chance of impending risk is inevitable. Monitoring risk includes progress tracking, predicting bottlenecks, making agile moves to reduce these bottlenecks.

We’ve found the easiest way to monitor risk is to prioritize tracking project changes and data discrepancies. By tracking changes, you’ll understand your project pulse, and by tracking discrepancies you can mitigate risk early on.‍

Step #5

Test and measure your strategy

Measure the results of the strategy to see how you can get better next time. Was the insight off? Did the strategy bring the expected results? Take critical note and make adjustments on your next iteration.

The 5 Key Benefits of Adaptive Engineering

You’ve already read about some of the positive results companies can achieve through Adaptive Engineering. But those aren’t the only benefits you can expect.

Here are the five biggest benefits of using Adaptive Engineering to launch innovative products:‍

1. You retain great talent

With an unclear direction and information silos, you run the risk of incurring the cost of re-acquiring information and value that great team members brought to the table. With clearly defined goals, supportive context, and clarity, you can reduce team churn and knowledge silos.

2. You learn a lot about your product and how and why it’s built

Imagine if we knew our technical product as well as sustainable apparel companies know the details of how their products are made. The goal is to create relevant information flow without cognitive overload so that we can feel proud of our products and transfer that energy to customers.‍

3. You keep customers happy with better predictability and progress

Customers value accurate predictability over-bloated products that don’t perform well but are delivered sooner. With actionable data, we can more clearly see when and how product releases are communicated to our customers, building more trusting relationships with them.‍

4. You reduce your software development waste

With the right data across codebases and project progress, we can reduce the mismanagement of the backlog, technical debt, rejected stories, and defects, while eliminating the build-out of unnecessarily complex solutions.‍

5. You grow your bottom line

The small step of automating data gathering and using an intelligent tool like Staat which surfaces only relevant data, you can start to see improvements across the board. This enables you to achieve your mission, make customers happy, and grow your business.‍‍

Sign up for Early Access to be the first to access our beta

--

--

David Choe
ASAP
Editor for

Co-founder @Staat | Engineering Manager Advocate | Building for Builders