The world is changing very fast. Big will not beat small anymore. It will be the fast beating the slow.
Nowadays, we find ourselves in a vibrant tech moment, where startup and emerging companies are growing exponentially: Disruptive ideas, new solutions to existing (or new) problems... Challengers of the status quo that are taking your revenues one bit at a time.
And you, been either a big, mid or small company wonder: Why? How? How they can create new solutions and put them in the market so fast, while I might find myself in a situation where there is:
- A poor user experience
- A slow time to market
- High/growing costs
- Vulnerability and risk
- Poor predictability
- ... (you name it, the list is big)
There are several reasons. First and most important of all: We are creatures of habits.
We (usually) don't like new things; we are okay in our comfort zone. Change is hard. And the changes we need to introduce to deliver at business speed starts and ends in us, humans beings. We are the ones defining business needs, the ones picking them and transform them into production code that then is deployed and operated to satisfy that market need that makes us remain ahead of our competitors.
In consequence, the first problem the process to deliver at a speed of business is, in the end, how we design an engaging, motivating and effective change management process?
The second problem is that, given that we tend to follow a fail-fast approach to minimise any possible failure/lose, we only start by adopting 1 or 2 subjects in an isolated POC, instead of trying a more holistic (yet controlled) approach because only the combination of a comprehensive set of ideas makes the real deal.
Finally, document, evangelise and convince others to follow the lead and adopt the same way of working is really challenging. There are internal frictions, conflicts of interest and other (not obvious) things that are not at your hand. Yet is important because internal shared knowledge, feedback and embrace of new ways of working is capital to ensure an effective and efficient company.
And this is not an easy one neither. There may be strict indications on how to do things, committees that have to approve even the smallest changes, and dozens of "teams" that cut across all the areas you need to challenge. So the first change should come from a company itself: Don't punish those that are challenging the internal status quo, unless you want to deal with those that are challenging you from the outside.
To overcome some of these challenges, we identify four actionable dimensions anyone should take into consideration when designing a moving-forward plan to increase your business value delivery speed effectively:
As I stated before, People is one of the core elements. And is the first thing you have to keep in mind: Wisely identify and choose those who are more keen on learning new things. Otherwise, you won't be able to successfully deliver a project following the way you have in mind. And organise your teams in multidisciplinary teams: Is not an option. If you define an infrastructure that doesn't fit the architecture needs, the development is not aligned with the infrastructure or your brand new UX wireframes are too promising (but technically barely achievable), you're done.
People need a methodology framework to transform those business requirements into productive code. Agile methods are the most common approach nowadays, providing you with an effective fail-fast. Scrum, Kanban or XP, all they have their pros/cons. But you won't be wrong.
We have people and a way of working. Now your team needs means to do their job. You have a wide range of options available in the market from different vendors and adapted to your team preferences: Java, .NET, Node, Go... Identify them and don't hesitate to provide them with the right tools. The better integrated, the better. User Experience (from the product design and implementation point of view) is vital to ensure a smooth collaboration between your teams.
Finally, you have people, with a way of doing and the tools to produce "business value" you need.
But, don't underestimate the amount of time that people will spend in: Requirements gathering, Development, Documentation, Unit Testing, Integrated Testing, Artifact generation, Deployment. One of your core values when designing this new software delivery process should be automation. Put it as a must from the very beginning. And choose those products and technologies that automate the most.
Here, in the end, is where the speed (and time/costs savings) will come from: People focused in doing tasks that cannot be automated, rather than been snowed under repetitive, tedious tasks. Which, in the end, drives people (back) to their comfort zone.
We will discover how in the next part of this post series :)
There are several problems stopping your company to be more effective in IT project delivery, mainly related to how we support people to embrace the changes this challenge requires.
People, Methodology, Tools and Automation are the four dimensions you should act on to ensure you can deliver at business speed.
Fail-fast approaches are fine, but you need to make some "small" yet coordinated changes to ensure success.
When success is achieved, is essential you spread the word within your company for others to work in the same way you do. Also, their feedback is capital for you to improve. The more aligned people are, the more efficient a company is.
Finally, you can choose whose challenge you want to face: Internal or external.