The shift to ATDD: A big step towards Agile
December 11, 2018
Around 2009, a gradual shift had started where organizations started adopting agile methodologies. Now after a decade, more than 70% of the organizations across different platforms are using agile methodologies to complete their projects.
What is Agile?
Agile manifesto defines agile project management as, “Individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan”. Agile is a project management approach that is used to deliver a project in short iterations incrementally to ensure that development is inclined with changing business requirements.
Why this shift?
Agile has been proved as one of the best project management methodologies. According to the analysis by Ambysoft’s project success rates survey, the main factors that contribute to a project’s success or failure are as follows:
According to a survey conducted by HP, across 403 organizations have adopted agile methodologies to find out the key motivators of agile adoption. 54% of the respondents talked about the enhanced collaboration between the teams that don’t usually work together.
The CHAOS report from the Standish Group discovered that the agile method produces a higher success rate than the waterfall model:
Fine-Tuning the Agile Process
Agile methodology is all about the collaborative effort of self-organizing cross-functional teams and the client. Agile methodology demands to maintain this collaboration throughout the project and deliver customer satisfaction through continuous demonstrations of deliverables while accommodating the changing requirements throughout the development process by supporting and motivating one another as a team.
To ensure that this collaborative effort is being put into the agile process ATDD framework was introduced.
What is ATDD?
Acceptance Test Driven Development (ATDD) is a framework where the acceptance criteria and test cases are written with a goal to lay a foundation for development.
The Four Stages in ATDD
- User Stories: In ATDD it is very important to have small user stories for each feature which can be achieved perfectly using the Gherkin format that makes it easy for the developers and the testers to understand all the scenarios of a feature.
- Test Criteria: Having the user stories in place, the quality analyst will come into the picture to detail out all the positive and negative scenarios and how the system should respond in each of the scenarios.
- Development: Developer can start the development by keeping the test cases and acceptance criteria as a base and come up with a flawless functionality up and running.
- Test Case Execution: The developed feature will be retested by the QA manually or automatically by executing the test cases for all the scenarios.
However, for successful implementation of the above stages, the best and proven methods are:
1. The 3-Amigos meet
The 3 Amigos meet is an important aspect that decides the success/failure of the project delivery. The 3 Amigos here are – Developers, Testers, and Business Analysts/Product Owners. The Amigos should ensure that they participate in every stage of the project which includes sprint planning, sprint reviews, backlog grooming, story prioritization, etc. The key responsibilities of the role of 3 Amigos include:
- User Story and Test Cases Review: The Amigos should huddle up, discuss the stories and scenarios, and come together to conclude that the story is complete.
- Post Development: After the development of the requirement(s) they must gather around for testing and ensure that all the scenarios are being met.
- Client Signoff/sprint demos: The Amigos should also actively participate in the demos and feedback sessions to ensure the implementation of every story is complete.
2. Speak Gherkin
Gherkin is a Business Readable, Domain Specific Language created especially for behavior descriptions. Gherkin syntax connects the human concept of cause and effect to the software concept of input/process/output. The keywords in Gherkin language are ‘Feature’, ‘Background’, ‘Scenario’, ‘Given’, ‘When’, ‘Then’, and ‘And’.
- It is a professional approach where every step is systematically followed.
- The entire team will be involved at each stage of the process which keeps the team in sync and creates a sense of responsibility to every member of the team.
- Helps the programmers in better coding practices as the logics are predefined in the form of test scenarios.
- Every functionality is developed having all the scenarios listed out which reduces the number of issues and due to immediate testing, the issues are resolved as soon as they arise.
- In ATDD the client/product owner will also be an active participant in testing to reduce the rework and have the expectations set.
- ATDD may not be ideal for the projects with tight schedules.
- ATDD requires a lot of experience to have the perfect process in place.
- ATDD is challenging to learn, as it requires a lot of discipline, practice, and persistence. Every member of the team should be very careful to ensure that all the processes are moving in sync.
Adoption of a completely different project management approach might always have a risk factor, but once we are past the transition phase, the ATDD approach will empower the organizations and employees to go one more step towards agile with more perfection, professionalism, and commitment.
TA Digital has adopted and instituted ATDD in its agile DNA to continue its legacy of outside-in approach and proved its effectiveness in a few of the recent projects. The clients were extremely delighted with the implementation of the systematic methodology and overjoyed to experience an approach where they were actively engaged throughout the process.
Explore Additional Resources
Contact our industry experts for guidance in selecting the right CMS for your business and improve your customers’ Digital Experience.
Learn more about how TA Digital assists you in improving your marketing and Digital Strategy to boost your lead generation.
GET HELP FROM OUR EXPERTS
Over the past 19 years, we have completed thousands of digital projects globally. We have one of the largest and deepest multi-solutions digital consulting teams in the world. Our proprietary processes and years of Digital Experience expertise have earned us a 97% customer satisfaction rating with our clients ranging from Global Fortune 1000 to Mid-Market Enterprises, leading educational institutions, and Non-Profits.
About TA Digital
TA Digital is an innovative digital transformation agency, specializing in delivering digital experience, commerce, and marketing solutions. For nearly two decades, we have been helping traditional businesses transform and create dynamic digital cultures through disruptive strategies and agile deployment of innovative solutions. We are known as a global leader in the digital technology industry for helping marketing leaders achieve their revenue targets, create profitable, omni-channel customer and commerce experiences. TA Digital has high-level strategic partnerships with digital technology companies Adobe, Microsoft, Sitecore, Acquia, Marketo, SAP Hybris, Elastic Path, IBM Watson Marketing, Coveo and Episerver. The company was named on 2013, 2014, 2015 Inc. 5000 list as one of the fastest-growing technology companies in the United States.