Icebergs are one of the natural wonders of the world, majestic in their beauty floating around in the high seas. We humans are awestruck by just the visible part of an iceberg, which in reality is just the tip, with more than 90% of the actual mass hidden beneath the surface. Similarly, many organizations have adopted the visible steps of agile methodology but many of them still have not understood the 90% hidden part of WHY they really need to follow the agile process . Our article elaborates further on this concept of “Doing Agile” versus “Being Agile”.
The Agile development model is iterative and incremental. Agile approach is customer centric and revolves around collaboration, transparency, flexibility and responsiveness to feedback throughout the software development lifecycle. It was developed to overcome the issues faced in traditional development models. This model took the world of software development by storm in the late 90’s. The organizations moved from traditional approach to Agile with some of them with clear understandings and goals, while some did it because it was fast becoming industry standard.
Agile model gained much popularity in a short period of time because of its iterative and incremental approach. This helped customers see and use a working application in a short period of time rather than waiting for months to see the end product. The clients could now receive, review and provide feedback the logical chunks developed during various sprints.
Agile Manifesto lists a total of 12 principles, which ideally should be followed to have a perfect environment for agile development. However, we can sum up those principles with these 4 manifestos:
Following these criteria, software development companies try to implement agile technology in their teams to speed up their development process and to be ahead in the race of changing technologies. But, does implementing only these without understanding the concept answer our basic question i.e. being agile or doing agile?
Let us take another example of real life to understand the difference between being agile and doing agile. People in ancient times used to throw coins in various water bodies like rivers, wells etc. signifying it as a mark of luck and this has continued till now. This is what “doing agile” is like. Following a set of instructions with no understanding as to why. People failed to understand the logic behind throwing coins in rivers. Earlier coins were made of copper which has anti-bacterial capabilities and since river water was the only source of water, it made the water worth consuming. But, now the coins are made with steel and thus has no medicinal benefits but since people saw it as a custom, they are still following it without understanding why we did that in the first place. This is what we call doing agile . You need to understand why you have to be agile rather than doing it just for the sake of it!
An example of doing agile vs being agile is an example of a daily scrum. It is mentioned in the agile methodology that there should be a daily scrum for 15 minutes where all the team members need to discuss the following parameters:
But, usually the scrum meeting does not end in the desired time frame and people start discussing some personal things, drift into intense design discussions dominated by one or two people and the essence of the scrum meeting is lost. The reason for a daily scrum is a quick check across the entire team on what has been achieved yesterday and what will be achieved today to ensure that the entire team is laser focused on the priorities. Nothing else is relevant or pertinent and should be ruthlessly suppressed by the scrum master and the team. Teams that are agile inherently understand this. Teams that are “doing” agile will drift into a daily hour or more long planning, discussion, design session and waste a lot of the teams time.
Similarly the concepts of Scrum, Scrum Master, Self Managing Teams, Product Owner, Backlog, Sprint can be taught very quickly to testers and developers. However understanding why these concepts are important and how to use them effectively to become an agile team requires both focus and maturity on the part of a team Here are few more differences which can be outlined between being agile and doing agile are:
Being Agile | Doing Agile | |
Outcome | Changed mindsets | Changing process |
Benefits | Process Improvement. Individual & Organizational improvement. | Process Improvement |
Long-term value | Breakthrough organization change | Additional overhead |
Company results | Tremendous value creation | No effective change |
In order to understand the “why” part of being agile, it requires consistency, intention and a clear mindset. Preparing to follow the agile methodology will not only have a positive impact on the team, but once practiced, will change the way an organization works. It will bring in a shift in the entire working culture where the employees will feel more motivated and will be all set to be trained regularly in order to welcome the pros of following agile model of development.
The agile process is also considered while testing and we call it as Agile Testing. With the agile testing, the testing team does not have to wait for the final product to be delivered by the end of the development module, but they can go parallel. In agile testing, testing starts from the very first phase of the requirement gathering where a tester has to prepare test cases based on the provided user stories and wireframes. This is how a tester is also involved in the development process. This leads to a test driven development, which is more accurate and quality driven, with no or very few minor bugs being introduced in the product in the early phase of development.
With this approach, we at Webomates are able to work along with your development team so that we can provide you with the list of bugs in parallel while the development is done. This way you can save a lot of cost and effort involved in fixing bugs in the initial phase of the development. We have various testing tools which can help you in doing regression testing, black box testing, and provide you with a detailed report which you can share with your development team and reduce your cost of development. In order to know more about our services, contact us today.
Test Smarter, Not Harder: Get Your Free Trial Today!
Start Free Trial
Leave a Reply