Tuesday, January 17, 2012

Individuals and interactions over processes and tools


Agile manifesto says, “Individuals and Interactions over Process and Tools”, what does it really mean?
It talks about people! It means culture, organization, behavior, practices, environment, personalities, chemistry, synergy and friendship matters more than process and tools.
To understand this better, let us take a real life example. Suppose you and your friends were playing football. Suddenly one of your friends collapsed. What would you do?
Couple of you will suddenly carry him out of the ground, someone else will bring water, someone else will call doctor, someone else will get their car ready to take him to the hospital, someone else will find out the best hospital nearby, someone else will try to figure out, his medical history etc.
If you step out and observe, what would you notice? You will see the real team work. Each one of the team knows the end goal, which is to save the life of his friend. He is motivated to do anything and everything for achieving the end result. Everyone is taking initiatives; the natural leader in them is active now!
Do we see such behavior in our office premises? Do we see such motivation in our daily work environment? Time to think, better late than never!
We should understand that software teams consist of knowledge workers. We need to consider the people and how they work together more than the traditional process definitions because if we don’t get the former right, the best process in the world also is of no use. Processes and tools are important but it is not as important as the people involved and how they work together and how effectively they interact. The process and tools are there to support and enhance the effectiveness of their work and to enable them to achieve results faster.
What is do you think about the success behind facebook and Google . They leveraged the human tendency to socialize! As human beings we are by nature social animals. We live in clusters, we build relations, we do enjoy meeting people, we like to spend time with family, etc.
What if , we simulate the such environment in our work place ? If we have all our close friends sitting together, around a table, you are by nature motivated to head to the office no matter what! You will never hesitate to share your new ideas and thoughts about what you do. You won’t think twice to help your friend who is struggling to solve a problem.
Now, we have a situation where we have all our friends together around a table doing similar things helping each other etc. Now I am not seeing individuals with labels like: Developer, Tester, Architect, Writer or Manager! All are my friends working together to achieve a common goal. We don’t have managers we have only “Leaders”. I am Empowered and not controlled. I am encouraged to do any work to meet the end goal, I am Cross-functional! There is no blame game or politics, I now Trust everyone! I feel more Freedom and more Courage! You will start enjoying your workplace and eventually your work will get done more efficiently and effectively! We know that we will do our best when we really enjoy doing it.
My friends, I hope now the Idea is clear to you: Individuals and Interactions are more important than Process and Tools, Process and Tools are the Enablers and we do take help of adequate Process and Tools with due respect.
Remember: A fool with a tool is still a fool.

Wednesday, June 8, 2011

Agile Manifesto and Principles !

From the earlier blogs, we have understood what is Lean Princilples and the difference between the waste factor and values. Now, let us understand the motivations/principle behind Agile method.

Let us start with Agile Manifesto : (http://agilemanifesto.org/)

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
 
That is, while there is value in the items on
the right, we value the items on the left more.


 The principles behind Agile manifesto  are : ( http://agilemanifesto.org/principles.html )


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 maximizing 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 behavior accordingly.





Value Vs Waste



How can we identify Value and eliminate Vaste?

Survey results of used features of a product is given below,


It is evident that 64% of the features and rarely or never used, but we still spend equal effort in developing those 64% features. Do you think that those efforts are wasted?
How does this work in an ideal world?
A company invest only in value adds. If we wouldn't have spend time and effort, on the 64% waste or not used features, we would have released the product in the market much earlier. Our revenue would have gone up, happy customers and share holders.

This is exactly what Agile methodology trying to achieve.Focus on Value to the end customer and Eliminate Waste.

Identifying waste is not a very tedious tasks. Applying commonsense is the most important tool to indentify the waste in a production house.

Waste of Production Vs Software equivalents are :



If you are familiar with any of the 7 wastes above, you have got lot of opportunity for improvement.