USPTO moved beyond waterfall based requirement cycles and increased continuous improvement.
Scroll to read the whole story or download the free report.
Long, Waterfall-based Predictive Requirements Cycles
As with most large organizations, the norm for initiating projects, features and releases were to estimate and plan far upstream in the project process. By the time execution and delivery occurred, so much time had passed that often requirements or underpinning technologies had grown stale or misaligned with the needs of their organization. There was often no accurate way to know what was needed until work was well underway and estimates could be refined. By this time, funding needs were solidified and rarely aligned with actual project needs. In addition, the number of open projects in their portfolio was huge – hundreds of discrete projects were underway at any given time.
Competition Between Technology Teams and Product Ownership
In many cases, duplicate teams were doing the same type of work, but for different offices and groups. This duplication caused institutional waste, as well as taxing the teams doing the work as competing priorities vied for their capability. In addition, there were tooling and platform challenges. Different teams were using different toolsets at different places in the company, and management didn’t always know who was using what tool within the organization. This condition made it difficult to design efficient processes and build IT infrastructure blueprints that could be shared by different projects and teams.
Lack of Orchestration
Like many large organizations, the USPTO suffered from a lack of orchestration across their technology infrastructure and IT service capabilities, as well as many legacy services and hardware components which were difficult to refactor. Over time many of their systems had grown overly complicated. Most IT work revolved around individual projects, with no one entity in the agency having overall ownership of the enterprise architecture or the IT service portfolio. Furthermore, when a project was “done” there was no longer any funding available for the maintenance and support of artifacts created by that project. So over time, downstream infrastructure teams had grown heavily burdened with repairs and unplanned work around resolving problems.
Friction Between Contracted Development Teams and the Processes to enable Agile Continuous Improvement
At the USPTO, even after project work was scoped and initiated, it was very difficult for project teams to say no to a business customer or product owner. If the business put down a new requirement in the middle of a project, it had to get built. Exacerbating this challenge was the fact that the USPTO’s large project portfolio involved thousands of software developers – almost all contractors. They didn’t always get the best contractors because other government offices shared the contracting companies and were all bidding for their services. Contractors were also rarely held accountable for key areas of work, which are typically very important to a mature Agile practice, creating a significant impediment to large-scale agility.
Coach and Train the Teams on Agile Practices
Over an eight-month period in 2016, we were engaged by the United States Patent and Trademark Office (USPTO) to coach and train a wide variety of technology and development teams on Agile practices and next-generation toolchains and methodologies to help mature their Agile engineering capabilities and promote their newly instituted enterprise CI/CD practice.
Coaching was conducted as a series of seven onsite engagements and working sessions, during which we evaluated, collaborated and assisted with a number of issues and projects. Across this eight-month timeframe, our team worked with managers, branch chiefs, and teams, while simultaneously training their teams on Agile and DevOps practices.
Implement Better Tools for Managing Requirements
To help remedy the issue of waterfall-based predictive requirements cycles, our coaches worked with the USPTO’s teams to implement processes which were more accommodating of emergent requirements and oriented less around assumption. The trained engineers and branch chiefs on the implementation of Agile practices in application development projects, but also downstream of the application teams, specifically: DBA teams, infrastructure teams, and information security managers. Coaching services included guidance on the causes and ramifications of institutional work in progress (WIP) and tools for better managing it; including, Kanban techniques, a better understanding of queuing theory and functional batching, and coaching and training teams on lean process fundamentals. In many cases, we revealed opportunities to either save money or spend in a more incremental way.
Our coaches also evaluated and helped facilitate value stream mapping exercises for branch chiefs, project and program managers, and project teams. Once facilitation began, the USPTO staff was able to develop better visibility and prioritization across their portfolio of projects.
Managers and functional leads were taught how to conduct their own value stream mapping workshops in order to scale these visibility and prioritization practices deeper within the organization.
Decrease Waste and Increase Visibility into Systems through DevOps
Our coaches instituted awareness of newer DevOps-associated processes and tools to promote the adoption of a more loosely coupled platform-based IT architecture. We drove awareness of practices which focused on specific service-level, outcomes rather than functionally batched efficiency within siloed IT departments; for example, introducing use cases for microservices, internal service APIs, and cross-functional teams. Once again, the main focus was on enabling the agency to map and visualize where system-wide inefficiencies were occurring, such as duplicate work from competing parties and tightly coupled technology dependencies that no longer mapped to the current business needs of the agency.
USPTO worked with us to change contracting language and contractor requirements to better align with Agile styles of development, delivery, and support. These recommendations were designed to create the ability for contractors and projects to work within the confines of compliance and regulatory requirements while also increasing the maturity of the Agile practice. The coaching engagement also resulted in recommendation and guidance on using existing project scoping and funding protocols to institute process improvement projects. These projects were dedicated to discovering and implementing internal solutions which helped resolve many of the challenges the USPTO’s technology teams faced.
After receiving coaching, consulting, and training services, the USPTO gained multiple benefits like:
- Moved beyond waterfall-based predictive requirements cycles
- Broke down siloed development and technology teams
- Decreased product ownership competition
- Increased orchestration and coordination of their technology portfolio
- Improved various processes necessary to enable agile continuous improvement