Genova Technologies Agile Teams Working with Commercial Clients

Genova Technologies, Inc. (Genova) provides Scrum-based Agile software development engineering services for software design, software development, test, and documentation. This work is completed under Genova Engineering Services Agreements with the clients across the US, and virtually worldwide.

Our work entails providing software engineering services across eight Scrum teams, spanning multiple product lines. Each team consists of developers (7 Developers, plus or minus 2 including a Scrum Master), and a Product Owner. Sprints are two weeks in duration, with groupings of four consecutive sprints referred to as a “product release.”

Planning is performed at the product release level, with the Scrum teams receiving feedback from management on the desired features and prioritization for the release. Features to be added are divided amongst the Scrum teams within a product line, at which point the individual teams break out to plan within which sprint of the release each user story will be addressed and determine if the amount of work requested can be achieved, given the complexity of the work and the current team velocity. Toward the conclusion of each Sprint, each team revisits their release plan for the upcoming sprint and reevaluates the work to be performed based on any additional feedback from stakeholders and progress so far during the release. In addition, a retrospective meeting is held to perform documentation of lessons learned.

The Product Owner (PO) is the interface between Client management, production, customers, Agile product council, Scrum of Scrums, and the System and Subsystem engineers. The PO develops, prioritizes and serves as the point of acceptance for the user stories. The backlog and present sprint is handled through the Rally tool. The Scrum Master (SM) is typically one of the software developers on the team. The SM possesses in-depth product knowledge and spends much time with the PO and the development team. The SM is a mentor and guide for the rest of the team. The SM typically leads the daily standup, where the team reports its status on user stories, identifies whether we are on task and schedule, outlines our plan for the next day, and notes anything that might be blocking our work. In the event that something is blocking the team, the SM is the facilitator to remove those blockades.

Genova’s work in the development teams has been that of developers who work on user stories within each sprint. This has consisted of performing time-boxed investigations in Spikes, writing reports on our findings, performing code design and development as new features are added, testing features that have been added or modified, and conducting peer reviews for new or modified code. We participate in daily team standup meetings to discuss status, issues, and progress. We also participate in backlog grooming sessions to ensure future user stories contain sufficient detail for feature requirements and acceptance criteria, and cross-team knowledge sharing sessions to share expertise and best practices. We have been assigned leadership roles in the roll-out of activities to promote continuous improvement, such as using Test Driven Development (TDD) and automated Software In the Loop (SIL) testing on the programs, developing white papers and providing mentoring for other engineers on the practices, as well as performing the work itself. Additionally, we have supported Continuous Integration efforts to establish automated software builds on an enterprise build server, automate SIL testing on the server builds, and automate creation of the deployment packages for software builds. We have interfaced with the client’s stakeholders, other contractors, and other teams outside of our own in our course of work. This has involved frequent communication with Scrum team members on status, issues, and progress, as well as with the PO (and supporting Subject Matter Experts) to clarify requirements, validate feature implementation, and demonstrate features for user story acceptance. Communication with other teams supporting the product line has been essential to ensure features are developed and deployed in a coordinated fashion.

To further support the Client’s needs, Genova has created a dedicated Scrum environment to better facilitate interaction between team members. We also have dedicated conference rooms equipped with the necessary technologies to facilitate collaboration between remote teammates.