It was in the late 60s when it all began. Yes, around 1965-70 the humans started developing software. It was the era of evolution of the then niche skill called ‘Software Engineering’. That is the flagship of developing a software for the end users and now we have reached a point where we dont need software any longer, instead, we need solutions!
The world right now is moving in a direction of providing solutions to all types of complex systems.While there are many ways the world has embraced this evolution, one of the more versatile ways is known as Agile.
Agile, as the Oxford dictionary describes it, is the ability to move quickly and easily. The software development fraternity has gracefully used this term to suit the current method of developing solutions.
As Agile gains visibility across the world, the word Agile has been largely misinterpreted. Agile has evolved through its journey and now has grown multiple folds to the extent of even defeating its own purpose and objective.
Agile is primarily being able to deliver maximum value in shortest possible time. It finds itself sitting on three strong pillars. They are:
Agile is based on twelve principles and four manifestos. A manifesto is a statement published by a person or group of people, in which they aim to achieve a goal. They are:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
These four manifestos were put together by 17 software professionals in 2001. While they also mentioned there is value in the items on the right, we value the items on the left more.
Principles are just the basis of a system, they are not rules. However, they lay the foundation stone to the whole system. The writers of the manifestos agreed to the following twelve principles. They are:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity–the art of maximising the amount of work not done–is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
If we know this is the way to develop our solutions, we have manifestos and principles laid out, then what is the issue? Where is the blind alley?
What’s right and what’s wrong?
There is a reason why Agile is accepted by many organizations today. The Agile way of working has the ability to develop and deliver viable solutions to the customers, and of course the frequent feedback loops attribute to its success.
There is also a reason why Agile projects have failed in many organizations today. One big reason is the command and control. Organisations want to embrace Agile but not let go off their command and control. These organizations have to be reminded time and again that if you cannot let go, you do not stand to gain. The more the control, the less the freedom to work efficiently and creatively.
Agile is best suited in a place where the hierarchical structures are flattened, there is less or hopefully no bureaucracy and of course the right attitude to embrace the change. Isn’t this easier said than done?
I have coached many people, have trained people on Agile for a long time now. I tell them that a mindset change is very important and once that is done, you are ahead of the game. However, no one has asked me how do you change the mindset. I am glad no one has asked me that question yet :)
Because, that’s one of the toughest questions to answer.
How can you change a mindset? What if people dont want to change? What if the horse doesn’t want to the drink water, even if you are ready to take it to the pond?
One of the other important reasons for the failure of Agile projects is a misalignment or an unsuccessful hand shake with the senior leadership. Team has a vision to achieve the agreed goals and the leadership has a different road to take.
This is where you hit the blind alley. This is where the Agile sneaks out of the door. This is when your organization should pull its socks up to remain at the competitive edge.
How do you turn your face to the sun, so that your shadow falls behind you?
First of all, every member in the organization right from the front line engineers to the CEO of the company should work towards meeting the customer’s requirement in their respective capacities.
Secondly, the team should be empowered. The teams run the show in Agile. They are the assets (and not resources) of the company, after all.
You do not have to do a big bang transformation to begin with. Agile talks about failing fast, that doesn’t mean to say fall flat on your face as an organization but do a sample size transformation in small pockets, show success and expand your efforts.
Start focusing on individuals than tools. Refrain from calling humans as ‘resources’. That’s one big mistake the management makes all the time. Resources are usually the keyboards, mouse devices, servers, rooms, projectors, tables, PCs etc. Humans are humans. They form the organization. They do the work for you. They build solutions to those complex systems. They ensure your organization is at the top all the time.
If there are existing processes that need some revision to align with those twelve Agile principles, and very clearly laid out Agile manifestos, go ahead and refine them.
Be ready to invest on good infrastructure to support Agile way of working, setting up automation tools, servers to support a tool chain later in your transformation journey.
With this perfect mix of change in the existing process, change in the way of thinking, accepting the change and empowering individuals in the organization, Agile is here to stay for a long time.
There are some big players in the market, who have gone through all those phases that are mentioned above and are successful today with their Agile transformation and are providing great value for money with millions of satisfied customers.
Fact: As we speak or technically as you read, Amazon is delivering value every second into production. Now that’s very Agile!
More to come!