January 5, 2017
What is Agile?
– Agile is a philosophy, which paves a methodology to enable people to collaborate & work towards a common goal.
– It encourages getting feedback from clients & responding to change quickly.
– Agile states certain values within a framework containing various frameworks.
What needs to be changed?
With software companies showing more inclination moving towards an agile environment, the need for cooperation between developers and QA is becoming much more apparent. Although the development & testing process is so different as well as intertwined, the agile methodology demands developers & QA to work together to make things more flexible. We at techJini have taken a note of this aspect and working towards improvement.
Many organisations mistakenly treat agile methodology as mini waterfall model thus dividing the project into small segments. In order to really be agile, in a true sense of the word, an organisation needs to respond to change rapidly, and for that, they need to have their QA and development teams working together each iteration. Instead of developers completing coding and throwing it over the wall to be tested in the next iteration, a truly Agile team will have a developer and QA team members work together during the current sprint to both develop and test a feature. This is what we always ensure as part of all projects in TechJini. QA members are an integral part of the Scrum team from day 1 and participate hand-in-glove in achieving every sprint’s goal.
The Correct Approach:
A team should not look at a feature as an atomic element and should rather break them up into smaller pebbles, which can be developed and tested independently of the whole. In TechJini, usually the ScrumMaster (PM) works closely with the technical lead and the QA engineer to ensure the user stories and the backlog is correctly prepared and entered in the Scrum tool. We use Assembla for this.
Agile requires developers to have an understanding of the testing process and QA to know more about the development process. We at TechJini use either a burndown chart or a wallboard with different lanes to show the progress of times being worked on and to let the team know what the priority of work is. Sometimes this is part of the tool, for certain modules, we occupy a physical space.
Having a central location where team members are able to see priorities and the progress of the work being done during that iteration, helps the team to have a unified goal and to visualise how work will progress during the iteration. Adaptability is the key, as features and requirements can change significantly from sprint to sprint. Exploratory testing should be used to accelerate the time from code delivery to testing completion. Agile testing demands that a complete testing toolkit is available and testers keep up with the current trends in space.
We at techJini strictly adhere to our task.
The X Factor:
A critical thing to make agile successful is test automation. A robust automation framework makes things maintainable and costs effective for Techjini. Coordination is required between development and QA team members to design and create an automation framework that will support the creation of automated tests by non- developers. Most of the success for Techjini comes when test automation strategies involve developers creating and maintaining the test automation framework, while QA analysts develop and maintain the bulk of automated tests.
How to put Agile into action:
1.Start by co-locating teams.
2.Get rid of any performance metrics related to bug tracking.
3.Try swapping roles for an iteration.
4.Put an extra emphasis on fixing bugs, not reporting them.
– Agile helps in uncovering better ways of developing software effectively by valuing.
– “Individuals & Interactions” instead of “Process & Tools”.
– “Working Product” instead of “Comprehensive Docs”.
– “Client Collaboration” instead of “Multi-tier Communication”.
– “Responding to change” instead of “ Fixed Plan”.
Today’s Pain tomorrow’s Gain:
Using agile methodology we at TechJini are able to deliver a higher quality product in less time because they could avoid the staggered approach of split iterations that force both developers and QA to revisit old work and constantly switch context.
Agile helps in cross-functional learning of team members by swapping roles regularly. There is an extra emphasis on fixing bugs rather than reporting them as the entire team works with the common goal of delivering a quality software. In addition, over and above all, it teaches team members collaboration and effective communication.
What is next for Agile Testing?
The role of the tester is changing. Testers are not just focusing on test case creation & execution anymore. They are being tasked with providing holistic testing strategies, understanding automation, and building a broader knowledge base around both development & product usage. Testers must adapt and become quality champions with a broader skill set and field of vision.
Things to consider during Agile Transition:
1.Evaluate your skill sets.
2.Never overlook the agile mindset.
3.Nothing will happen overnight.
4.Going Agile is a lifestyle change.
5.Agility must be a top down & bottom up decision.
6.One should be ready to let their old investment go.
7.Keep tracking your results.
8.Lean on & contribute to the agile ecosystem.
9.Always be willing to make mistakes.
10.There is no fixed definition of agile.