Few days back I was doing basic knowledge sharing on Agile to a group of team members. Many team members of the group were using the agile practices from quite a long time. They were very excited to know about principles and practices while I was not able to see that much excitement on few team members. After my sessions I was thinking on this topic and also discussing with people about their feelings and expectations. I could analyze few things:
– People who were already done or doing projects on agile methodologies were very excited and keen to learn as they have seen the practices and were able to relate
– For some people who were not much aware about the concept were having the opinion that concept are looks good in theory but not sure about the results in real time environment
During analysis of various discussions with team members, I was thinking that some team members may have thought that why understanding of agile concepts required for a developer and tester. A normal thinking process of a developer or tester is
– It is just another project management approach, why do we need to bother about the same. Our core task is writing code or test the software.
– I would rather like to invest my time in learning new core concept which will help me in my routine work
– It is the responsibility of project manager to take care whether project is going right or not.
Here are some thoughts on this question. Let’s think why we are there in an organization? We are there to write code, test cases, test scripts, manage projects, and manage teams. But is it really correct? My answer would be partially correct. Why partially? Let me explain this with the analogy of sports. In any team of sports, responsibilities of individuals are defined but when they are in the field they are there to win the match not to just perform their roles. It is correct that to win the match we have to perform our roles but we need to adopt environmental conditions. As per the situation, player has to formulate various tactics and follow them. For example, in an ODI match of cricket, if a batsman comes at second down in 5th over and team is chasing a target of 350 then he has to play differently. While in the same match, if the batsman is coming at second down in 40th over then has to play differently. That batsman role is to do batting and score as many run as possible with good strike rate but approach of batting will change as per the situation. Sometimes, scoring just 30 odd runs is much useful than scoring 100 as it helps in winning the match and are scored in a pressure situation.
We also need to understand that agile is just not another project management approach. It’s an approach where collaboration (working as one team) is core focus area. So all the team members have to understand the rules of the game and play their role accordingly. Team work can be best related with the sports. Even, name of one of the agile methodology (Scrum) comes from a sport. That’s why I also took the example from a sport to relate the need of understanding agile.
One more important point to understand is that when we are talking about need of understanding agile to all team members is – difference between adoption and transformation. Oops… it seems that I touch a big topic. Ok to keep it short here. Adoption only changes what you do while transformation changes what you are. Transformation implies change from one way of being to another way of being – Like a caterpillar changing to a butterfly. Transformation represents a fundamental shift in behaviors. It involves change in mindset and culture. To change the culture and mindset we need to change our thinking process. Agile manifesto and principles talks about are mindset and culture. This is the reason originators of agile just not create some practices and process. They created manifesto and principles which talks about mindset and culture. To understand and apply agile practices in better way we need to first understand manifesto and principles. In short we need not to just adopt but to transform.
An effective way to create an impact on a team member could be to first start adopt some small practices e.g. Daily Stand up, retrospectives, short iterations. This will help the team to identify benefits of agile practices. After this, team will be able to relate manifesto and principles in much better way. By this way, we are also demonstrating agile not only talking about it. So this approach is also closure to agile manifest point – ‘Working Software over comprehensive documentation’.
So let’s continue understanding the principles and transform ourselves accordingly to utilize our potential in more useful way.