Solving complex problems Capstone

Fabian Bozoglilanian
7 min readApr 14, 2022
Source: https://pixabay.com/photos/maze-graphic-render-labyrinth-2264/

Software engineering practices are usually based on other practices like building or manufacturing engineering, but they live in different contexts, so it is challenging to project an innovative product based on software. AI, IoT, Data Science, etc. made everything even more complex.

Digital services became a critical arm into every organization that wants to strive through this century, becoming digital is a must.

How do organizations survive to a complex world by having the best solutions in place?

Problem definition

The challenge of this paper is about what to do with product development complexity in Software factories, who are usually struggling on the uncertainty that underlies on delivering the right product, doing it right, and on time (and budget). We tend to think about products as linear projects, keeping our efforts on the wrong side, this is a simplified point of view of a complex system. Can we make it? Can we succeed at delivering the right product and doing it right? Furthermore, can we be sure that the product or service built is what the market needs?

The art of forecasting this is becoming more and more complex as the world keeps spinning and the market switches priorities every day, so, thinking about a linear project won’t let us be flexible enough to adapt to changes. Maybe Agile could be an answer but still there are many variables that make software crafting more and more complex.

Incorporating multidisciplinary disciplines

We are living in a complex world, so, we should expect complex problems. “A journey of a thousand miles begins with a single step” says a chinese proverb, we should start from what we have and in the meanwhile check what other sciences are doing to solve similar problems.

During the course, I was inspired by the usage of artificial intelligence to increase the efficiency of product development by reducing the risk of taking wrong paths. Today’s AI could provide a way to make better decisions, providing a compass and not taking decisions for us, it is quite important to take care of a good set of ethics.

Time is usually our most valuable resource, as it won’t come back. Furthermore, wasted time may lower people’s morale, we need to use it wisely, as no money in the world will replace lost time. Don’t take me wrong, failing in an experimental environment is not waste, it is learning. In order to keep learning, we need a systematic thinking approach to allow us to increase efficacy and efficiency to product developments, and again, AI may help to predict adoption, improvements, etc. By no means do we want to reduce complexity, we have to embrace it and the sooner we fail, the sooner we will get to the right path as we won’t find the right solution to a complex problem, but we must target the most adequate solution for our current context.

Predictions

How can we embrace the changes of a complex world to let our organization become more competitive? We should start by letting our organization be flexible enough: a liquid organization that is able to take the form that best suits the needs of their target market will survive, products, services and projects that are too rigid won’t. Eliminating waste becomes a must in order to allow the organization to survive.

“Be water my friend” — Bruce Lee.

https://www.youtube.com/watch?v=MyQ8YzgqVdY

AI may be what we need to help the organization to keep evolving complex systems and help humans to guide innovation. Let’s take a systemic view to process that may be improved using Ecocycle Planning (a Liberating Structure). Imagine an AI that identifies non efficient organizational structures and processes and suggests changes to it (like what BPM tried to do). We will still need to face the challenge of the resistance to change that triggers our primitive response, so, before letting a machine to suggest we should learn how to be more liquid.

The benefits of this innovation include: we should be able to see the forest instead of one tree, balance our strategies, identify waste, and give the chance to hear all voices (source: Ecocycle Planning — Liberating Structures) with the support of data.

Developing innovative solutions: Course of action

Getting to the point where AI may be the companion of a software development organization would take too much time, increasing the time to market. Different aspects of this transformation must be taken, starting with the right culture.

Innovation and emergence

Guided innovation could be the starting point to let our complex systems survive by generating a new phenomena that adapts the organization to survive the world’s complexity, and its own processes and behaviors may be the right spot to start.

Sometime ago a friend of mine told me that “knowledge is exponential” (check “Exponential Thinking”). The understanding of how human knowledge is progressing may give a hint on how products may be adopted by customers. This would provide a better insight that may reduce product’s complexity related to “adoption”. How is this related to our problem? We tend to think about projects and deliver what was “planned”, but in order to survive and deliver the best product, we must exponentially think of the product, not the accomplishment of a contract.

Complex global networks: no isolation

Delivery platforms, shown us that the world changes could affect their activities, even through a tough situation there could be a benefit on innovation (#StayAtHome). More specifically contactless payments and delivery reduced the need for physical contact, reducing the risk of Covid-19 transmission. Risks that affect negatively to some organizations may improve health, open new job positions for others.

In general terms, it is not possible to think about a product or project that is isolated in a connected complex world like the one we live in today. This raises the need to think about this graph of connections that will introduce feedback to it. For instance, if we think about “early adopters”, they are the first consumers to introduce feedback (positive or negative), changing our product in one way or another, but they must be considered.

Planned innovation: enabling innovation

Top-down planned innovation to improve processes, quality and time to market, for example, showed us that may have some resistance to these changes at the beginning; leadership must be committed and supportive to make this change to work. This approach will let the organization go in one direction, but to get to the point of innovation bottom-up approaches must be accepted too. More specifically, take the example of Gmail; Google used to let their employees spend 20% of their time inside projects, which ended up in Gmail, here we can see Top-Down and Bottom-Up innovation.

The benefits of this innovation include: the organization sets the direction to become enabler and supportive, allowing innovation from trenches.

Market-driven innovation

This problem is all about how the market drives its needs. Think about innovative companies that did not adapt and now don’t exist anymore. More specifically, adaptability to market need changes has proven to be the key to success and data driven companies are becoming a must. Techniques like Design Thinking may let you empathize with your target segment and understand their needs.

The benefits of this innovation include: augmenting the vision of the company and letting managers set the right direction to align the organization.

Innovation in the Anthropocene

How will the problem you have selected play out in your organization over the next 10–50 years if no major changes are made?

AI (and BI) have become a partner when taking organizational decisions. What about AI to make our organizations Lean(er), as they constantly improve processes over our production stream, letting humans have time to be humans.

As you read this, many companies are investing in this kind of technology that will increase productivity. But how? By using machine learning that learns from previous projects/products and suggests paths that have proven to be a good choice and reducing bad choices.

Sometime ago I was able to create a process using S.T.A.T.I.K. that was totally culture driven and improved the way we worked at that company. What if this process becomes self aware and gets improved based on the people, organization and World needs?

Executive summary

Surviving software product development has become the rule, can we take advantage of this potential risk and create an opportunity by understanding its complexity?

Trying to simplify complex problems may not be the solution as innovation gets lost in the middle, having an ecosystem understanding mindset may lead to disruption and get to a new level: let’s think about the customer and not traditional project management.

Why should we change? “if ain’t broken don’t fix it”, because if your organization can’t adapt to changes, others will and rigid organizations tend to become part of use cases.

“Be water my friend” — Bruce Lee. Use technology to make better decisions and let your organization become liquid that adapts to every new context as needed. Just like nature adapts to new contexts and every actor in the ecosystem takes a new role.

Sources

--

--

Fabian Bozoglilanian

Ingeniero de Sistemas y Líder Agile | Experto en Innovación Disruptiva y Eficiencia Organizacional