Capping IT Off

Capping IT Off

Opinions expressed on this blog reflect the writer’s views and not the position of the Capgemini Group

Testing in Agile Development and State of Agile Adoption

(1) Why Use Agile Development? 

Organizations are increasingly struggling to match the right level of quality versus speed. Some key issues with traditional development and testing include the following:

  • Excessively long time-to-market for products and applications
  • Inadequate customer orientation and regular interaction
  • Over-engineered products—most of the features on a product or application may not be used.
  • High project failure rate 
  • ROI below expectation
  • Inability to respond quickly to change
  • Inadequate software quality 

To address this, QA and Testing should be blended with agile development. Agile engagements should take a business-centric approach to select the right test focus areas such as BDD (Behavior Driven Development) to define acceptance criteria. This requires skills not only in testing but also in business and software development. The 2016-2017 World Quality Report reveals an increase in the adoption of agile testing methodologies, which helps expedite time-to-market for products and services.

The need for agile development (and testing) is primarily driven by digital transformation. Let’s take a look at the major trends in Digital transformation:

  • More continual integration fueled by Digital Transformation
  • Complex integration using multi-channel, omnipresent commerce, making it necessary to integrate multiple channels, devices, and wearable technology.

Unlike yesterday’s nomenclature when Agile meant co-location, today’s advanced tele-presence infrastructure makes it possible to work in distributed agile models and has removed co-location dependency. Agile is not just a concept. It is a manner of working, enabled with multiple tools to enable development and testing in agile environment.

 

(2) What do Agile Projects Promise Compared to Traditional Waterfall? 

The diagram below summarizes the value an agile approach offers compared to traditional waterfall.

  • Waterfall engagements are characterized as plan-driven. One should know the software requirements and estimate the time and effort needed to accomplish the task at hand.
  • In the case of agile engagements, one knows the time and resources available and needs to estimate the features that can go into a release.

 

(3) Flavors of Agile

There are various flavors of agile including the following:

  • Scrum: prioritizes the highest value features and incremental delivery once every two to four weeks
  • Kanban: pinpoints bottlenecks to avoid hold-ups.
  • Lean: eliminates waste and unnecessary documentation, and provides future flexibility.
  • XP: reconfigures and ensures the simplest design to deliver iteration features.

Scrum

  • Reacts quickly in volatile markets.
  • Focuses on customer benefits and avoids both unnecessary outlays and time investments.
  • Utilizes organized development teams within a structured framework in order to coordinate activities and work together for quick decision-making.
  • InvoIves customers directly in the development process.

Kanban 

  • Works with existing roles and processes and may be introduced either step-by-step or by establishing pioneer teams. 

Scrum and Kanban complement one another. While Scrum ensures adaptability and agile, Kanban improves efficiency and throughput. Both techniques increase overall transparency.

 

(4) How is Testing Done in Agile Sprints?

I have often heard that agile projects do not require testers. Is this true? Would you compromise on quality in the name of agile?

Like any other development lifecycle, agile also needs quality and testing. Agile engagements involve testers from the start of the sprint, that is to say from the requirement analysis stage, in a process known as “user story grooming.”

In sprint planning, the team selects the story points depending on various factors, including availability of resources and user story complexity. All the members of the sprint team (cross-functional teams) are involved in this process (developers, business analysts, testers, configuration teams, build teams, the scrum master, and the production owner).

Once the user stories destined for the sprint are finalized, they are analyzed. Then, developers work on the design while testers write the test cases and share these with business analysts for review. At the end of each sprint, the team discloses the user stories selected during the sprint to the product owner and gets a go or no go ruling. Once the demo is complete, the team gathers for the retrospective.

The benefits of this approach include:

  • Productive, collaborative, and high-performing teams
  • Predictability and project control featuring transparency and flexibility
  • Superior prioritization and risk management for business success
  • High-value revenue with low upfront and ongoing costs
  • High-quality products delivered with minimum time-to-market
  • Increased possibility of stakeholder engagement and high customer satisfaction

 

(5) Agile in Distributed Environment

Often people assume agile means co-location. Today's technology infrastructure and maturity of distributed teams have enabled agile to be practiced in a distributed mode. As per the World Quality Report 2016-2017, more than 42% of the organizations that adopt an agile delivery model use distributed agile. Distributed agile allows the organizations to achieve higher cost savings with the global delivery model.

 

Key Challenges in Distributed Agile model include:

  • Communication challenges across the distributed team
  • Increasing product backlogs
  • An ever-growing regression pack
  • Poor knowledge management and handover for new people due to less documentation and high level placeholder tests
  • Little time overlap with isolated regional developers for distributed teams

These challenges can be addressed through:

  • Communication—live meetings, video conference calls, and common chat rooms
  • Product Backlogs—better prioritization within the iteration scope
  • Regression Scope—better impact analysis and targeted regression only
  • Knowledge Management—efficient tools and processes along with audio and video recordings of important tests, virtual scrum boards, and the latest communication and tracking tools
  • Distributed Teams—optimal overlap timings through working shifts (40–50 %)

 

(6) State of Agile Adoption: Findings from the World Quality Report 2016-2017

As per the latest World Quality Report, there are various challenges in applying testing to agile environments. Co-location and a lack of required skills are the two biggest challenges that are considered major risks associated with agile adoption. That said, organizations have been able to find solutions to these challenges.

 

Challenges in Applying Agile Methodology 

Source- Capgemini HPE Sogeti World Quality Report 2016

 

Approaches to Testing in Agile Development Environments

Organizations use different ways to speed up cycle times and utilize agile. Some of these tactics include predictive analytics, BDD/TDD, continuous monitoring, automated test data generation, and test environment virtualization, to name a few. The figure below provides a snapshot of the practices used to convert to agile.

Source- Capgemini HPE Sogeti World Quality Report 2016

 

Skills Needed from QA and Testing Professions for Agile

The graph below from #WQR2016 depicts the state of skills relating to agile testing as organizations strive to adopt  agile methodologies.

Source- Capgemini HPE Sogeti World Quality Report 2016

 

(7) Conclusion:

An ideal agile engagement needs a test ecosystem that is flexible and supports both continual testing and quality monitoring. Given the complexity in agile engagements, there would be value from automated decision making to achieve both speed and quality.

Agile development has attained critical mass and is now being widely adopted; the initial hesitation no longer prevails. The QA function is a key enabler in this journey. The co-existence of traditional IT along with agile delivery principles is giving rise to a new methodology based on bi-modal development.

Authors

Main Author – Renu Rajani, Vice president, Capgemini, Testing Global Service Line, renu.rajani@capgemini.com

Supporting Author – Sripriya Cp, Solution Consultant, Capgemini, Testing Global Service Line, sripriya.cp@capgemini.com

For an in-depth look at the key trends in Testing and QA, download the World Quality Report 2016 http://ow.ly/S9NF304DKfD

 

 

About the author

Renu Rajani

Leave a comment

Your email address will not be published. Required fields are marked *.