To project hardened seniors reading this, what would resonate in the manner to get you chills.
You know the feeling, when things really click. Your peer colleague succeeds in difficult project or the architecture comes together.
To us, who have experienced dozens of projects and clients, we tend to know the direction for the chills for success.
Meaning, we have created models from the past experiences. These models are formal structures explaining the world around.
The models
If we master and understand the models, it improves our communication, enables us to explain difficult scenarios, reason and cooperate with our teammates, predict the outcome from a solution and furthermore explore different options.
When our thinking is logical, consistent and based on past experiences, we are more likely to make wise choices. No matter if we speak about development team trying to implement difficult business case or just us cooking for our family.
The same is true, when a salesperson tries to find out what a customer truly needs or when we are implementing the next cloud-enabled solution for the customer.
Building value
It is all about building value. Is the food you prepare the value or is it merely a tool for you to have energy to play with your children?
Nevertheless I’m sure each and everyone of us have made up models, how to build value and get the chills in different situations.
Good architecture and implementation is crucial, but we should not forget to put the customer to the spotlight.
Do we have a solid business case and most important where is the value? We should not ask what the customer wants, but what the customer needs.
Try 3 whys the next time you’re thinking of making a big decision:
- “Why we are building the infrastructure to the cloud?”
- “We need to grow our capacity and we need to be highly available and resilient”
- “Why it is important to improve scalability and resilience?”
- “The old infrastructure can not handle the increased traffic”
- “Why the old infrastructure is not enough anymore?”
- “We have analysed the platform usage. If we get more capacity on the rush hours, we can serve more customers.”
Productise
All right! We are convinced the customer needs the cloud migration and start working with the implementation.
Solita has productised the whole cloud journey, so we can quickly get into speed.
Ready made instructions, battle proven implementations and peer-support from earlier projects will help you up to speed.
Technical solutions follow a model, meaning there are few ways to provision a database, few ways to do networking in the cloud, few ways to optimize expenditure.
When we do not plan and develop everything from scratch, we build value.
Re-use
According to study published in the book Accelerate: The Science of Lean Software and DevOps, to be productive, everything should be in version control.
For sure the application code is already in the version control, but also system configuration, application configuration and scripts for automated build, test and delivery should be in version control.
The study revealed, keeping configurations and scripts in the version control correlated more to the software delivery performance than keeping the application code in the version control.
When building for cloud, the infrastructure must be defined in code. And the code should reside.. in version control!
This enables us to move faster without trade offs. We can recognise modules, implement them once, create automated tests and then re-use the codebase in customer repositories.
Every time we are able to do this, we build value.
Automate
Humans are erroneous. This is an experience based model. When computers handle the repetitive work, it enables people to solve problems.
We know from experience, automation requires investments and should be implemented from day one. Investments done here will result smaller development lead time, easier deployments and more quality code.
In cloud, we describe our infrastructure as code. This goes hand in hand with automation. Based on this model, we choose to automate recurring tasks such as building code, testing and making the deployments.
As a result we speed up the feedback loops, have repeatable results each time and enable developers make quality code and automated tests. We test our infrastructure in the pipeline and once again build value.
Deliver
Deliver continuously in small chunks is an experience based model.
You most surely want to have your piece of code tested and delivered to production before you forget, what you were doing.
Short lived branches or Trunk-Based Development predict performance. Failures in small changes are far easier to fix.
Also test automation is key part of continuous delivery. Reliable automated tests predict performance and improves quality. Diagram below is from the book Accelerate.