I have noticed time and time again that the business side of an organization are often the biggest hurdle and obstacle in a company when it comes to leverage the power of IT. Agile is viewed as the silver bullet or the hammer to all your problems. As there is a correct tool for every problem the same is true for software processes.
Waterfall is viewed by business as the incarnation of the devil himself slowing down delivery. Start coding. Dev quick, fail quick repeat.. Lets be Agile…To truly leverage the power of IT it takes upfront structure and planning to organize and arrange capabilities while business views this as a waterfall approach. Planning pfft…you are wasting time. This approach to be agile right from the start cuts of the hands of the knowledgeable IT people. They can’t help you succeed and you are stopping them from planning for success. You are paying for your experts, let them help you.
Agile has great promise but how it is truly implemented by companies is terrible. Agile has been used as a way to promise businesses quick, focused delivery and agility but they never mention it comes at the cost of castrating IT itself…When you build a house do you just get some bricklayers, electricians and plumbers and get going… there you go guys…. start and align by communication?
You need to spend time and plan, figure out what you want and how you going to go about building it, then you can be agile in your delivery… but not that is not how companies implement it.
When we build a house that we plan to live in, we have checks and balances because we would not want it to fall over on us but when we build software that costs millions more we say nah, we are Agile… so what if there is no foundation and the walls are a bit skew, you can sleep underneath it, there is business value here…ship it, sell it.
So where do we find ourselves now?… because of Agile… Where you could have departments of IT teams working towards a common goal, leveraging the power of IT you end up with;
- INDIVIDUAL TEAMS only looking after themselves and the business delivery expected from them via their PO’s and project mangers.
- There is no effort made to identify re-usable common components or infrastructure between the teams as there is no business value seen in doing that and what you find is that teams duplicate work that could have been shared.
- So where agile encourages communications there is very little in the organization on a IT level between the team as Agile only looks at business value.
- Products are released as soon as the business value is achieved, never mind that the solution is not sound. Congrats, you are in PROD with a half baked solution that no one can really use but hey! you have achieved a release in record time…congrats.
Most of the time these PO’s and project managers do no have any or very limited IT knowledge which makes it truly difficult to integrate and collaborate with other teams as each team only has their own business objective. The extended problem of this is that often the architect sits within this team structure…also drinking the cool aid, running the race with the other team members like a horse with his blinkers on not allowed to see what is going on outside his lane.
So although you have architects in every team there is no focused alignment or guidance through the organization and if there are then its simply because these individuals go the extra mile to stay aligned with each other while there is no Agile requirement or expectation from business on them to do this as planning is bad..its not Agile. Each architect sits in his team just looking after his little patch trying to keep the roof from caving in. Come guys deliver those products.. if these products can’t work together or can’t perform … don’t worry we will just fix it later.. we are agile, get it out, get it to prod so we can tell business we succeeded!
I am convinced that one day maybe 100 years from now, business will catch on and realized darn, we wasted Billions on this dope trip.
In the following video Steve Jobs discuss what happens when the people that deliver the products are not within the decision making space and within most companies your executives are from sales, marketing, operation and not from the IT ditches. IT teams are just the workers, the modern day factory workers.
I will end of this article by re-iterating what I have said many a time.
Until a company, its leaders and the business as a whole has bought in and accepted that agility is an act of engineering their only solution to agility will remain to compromise the integrity of the software system and thereby increase their risk.
No process will ever help a software company to have an agile software system.