TDD: SAFE Agile Development

Scaled Agile Framework® (SAFe®) ProSphere adheres to SAFe processes for software development. SAFe is a proven, publicly available method for applying lean and agile practices at the enterprise scale.

Test-Driven Development (TDD) TDD is a software development process that relies on the repetition of a very short development cycle. ProSphere turns the requirements into very specific test cases, and then upgrades the software to pass the new tests.

What We Do:

ProSphere has extensive experience managing agile development in large, complex environments and can increase the success of SAFe implementation. We organize multiple dynamic Scrum teams that collaborate closely with architects and stakeholders, and manage them using SAFe team and program level activities including Scrum-of-Scrum processes. Our SAFe methodology bases routine development activities on a fast, synchronous cadence—a regular, predictive rhythm of important events—that helps manage the inherent variability in systems development. Each team backlog consists of items pulled from the Program backlog, and their Scrums are synchronized on the same Agile Release Train. Each Scrum team delivers Feature Set(s) per sprint from the related functionality established and is prioritized by the program leadership. We focus on creating efficiencies and increasing quality through integration with SAFe Scrum teams using TDD processes.

Our Scrum teams are designed with the capacity to execute against multiple concurrent targets:

Transparency   Through transparency, we try to ensure that all aspects impacting the outcome of the project are visible and known throughout the delivery process.

Inspection   Aspirations for inspecting the various aspects of the project frequently enough to identify unacceptable variances from the delivery process.

Adaptation   Adopting the principles of Agile development is one of the surest ways to keep pace with dynamic changes.

ProSphere’s vision for agile implementations, along with the ability to measure, manage, and define delivery criteria, has provided a unique success formula for our software development by the following key objectives.

  • Customer-centric attitude
  • Business-driven IT solutions
  • Risk management
  • Value-driven delivery lifecycle

Our Process and Methodology

As a part of our TDD methodology, our developers create unit tests to ensure code quality as well as capability coverage. These tests may be run independently, or as a suite of tests both manually and automatically. We utilize these tests as an automated regression testing capability to ensure older functionality isn’t broken with the addition or modification of new code.

One of the significant advantages of our TDD methodology is to make continuous progress by taking small steps. ProSphere structures our Scrum teams to be cross-functional, allowing each team to operate autonomously. All necessary roles are represented on a single team, from requirements to design to development to testing, including both technical, non-technical, and management leadership. This structure, paired with suitable levels of decision-making, allows each team to move forward independently and deliver high-quality software in an iterative manner.

With a focus on maintaining production-ready software at the end of each sprint, ProSphere keeps communication channels open by showing what had been accomplished during the sprint with the customer and the entire team at sprint reviews, and regularly incorporated feedback into the development process through retrospectives.

Where We Do It:

We have successfully used SAFe and TDD on our VistA, VBMS-R, and FileMan programs within the Department of Veterans Affairs.

Tools and Techniques:

We utilize JIRA and the Rational Tool Suite including Rational Team Concert (RTC), Rational Quality Manager (RQM), and Rational Requirements Composer (RRC) to manage our SAFe implementation. We use SONARQube to verify our unit tests are providing the appropriate code coverage, as well as ensuring there are no poor coding practices in use.

Success Stories:

Utilizing our approach and methodology, we successfully modified the defect management and resolution process within the VBMS-R program. We reduced the production defect backlog from over 250 high priority defects to 0 while delivering multitudes of new capabilities. What’s more, we provided over 80% code coverage to ensure quality and secure code was delivered for the program.