There is something we all wonder when facing a challenge: Where do I start? The process of digital transformation isn’t immune to this doubt that may sound trivial at first but which only by simply being raised can help us to think about the direction we should go in and can spare us future problems.
Einstein: “Madness is doing the same thing and expecting different results”
The straight forward answer is: we must start by reinventing the factory which means changing the way things are done in our company.
“Great leaders don’t innovate the product, they reinvent the factory” – Under New Management: The Unexpected Truths About Leading Great Organizations by David Burkus
This change in the way things are done has two objectives: to improve TTM (Time To Market) and to increase customer orientation. In order to reach these objectives and to start the digital transformation process on the right foot we recommend to take into account:
Based on our experience, the starting point for this change in the factory must be a pilot in which we go into second gear by using agile methodologies and by, in terms of technology, implementing two concepts: PaaS and Continuous Delivery.
The aim of this pilot is to obtain useful results fast, which can also help us in showing the utility of this new way of doing things, therefore getting the rest of the organization to understand how useful change is so that they start implementing it in other projects.
Martin Fowler: “Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time”.
Improving TTM (Time To Market) is one of the main objectives when changing the way of doing things. To achieve a substantial improvement in TTM it is vital to automate all the digital solution production processes through integrated equipment and automation tools which basically means to do Continuous Delivery.
To be more specific Continuous Delivery means:
- Complete automation: tests, deployments, etc.
- Cloud development in PaaS.
- Integration of systems and development (DevOps).
- Use of best practices (Git workflows…).
- Integrated quality from the start.
- Elastic and auto-escalating environments.
- Use of opensource technologies.
- “Put into production”.
In order for it to work, continuous deliveries of small functional increments must be done.
It’s also important to remember focusing on all those things that add value with low effort.
PaaS (+ Continuous Delivery)
The goal of PaaS (Platform as a Service) is for you to be able to focus on adding value to the business while reducing costs.
A PaaS allows you to think on the piece of software your clients can see and which adds value to their business (your app) “forgetting” about what’s below it (life cycle, app server, data base, operating system, servers, storage, etc.) you “only” have to worry about coding as the PaaS facilitates the construction and deployment of changes you make to later upload them to production.
To summarize, if you identify with any of the following situations you should consider starting your digital transformation process as soon as possible:
- You are not developing with PaaS, neither in private or public Cloud.
- You are still deploying manually.
- You deploy once a month,
- You are not doing quality control integrated in the development life cycle
- You fix a bug in an hour but you have to wait 2 weeks to go into production.
So all in all, would you go to war using this weapon today?
If, as Amazon, you want to be able to: deploy every 11.6 seconds, do +1.000 deployments in an hour and do it in 10.000 servers at the same time… You must reinvent the factory!