When our acquisition team helps an agency develop a product, we form a joint team between the Technology Transformation Services (TTS) acquisition staff, the federal agency we’re partnering with, and a private vendor. From our experience with the Agile Blanket Purchase Agreement (BPA), we’ve found that in order to build effective cross-functional teams and successful IT projects, we need alignment on several principles:
- Open software development
- User-centered design
- Modern development techniques
- Agile development
When each component of our joint team is on the same page about these principles, we can effectively collaborate and build the trust necessary to successfully complete our work. Below, I’ll outline each of these concepts as they apply to cross-functional teams in the post-award IT services environment.
Open software development
TTS builds software in the open to streamline communication, build public trust, and encourage good coding and documentation practices. We recommend that vendors demonstrate their experience with open source contributions and show they have a security posture that aligns with open source development by separating configuration and code. We ask to see existing open source repositories of projects in our evaluation to better understand a vendor’s past experience with open source software development.
User-centered design
The satisfaction of citizens and other end-users is our primary measure of success. We work best with vendors who make it a practice to talk directly to users about their business processes and tools. Successful vendors can help agencies learn more about user needs through interviews and usability tests. In selecting our vendors, we look for demonstrated skills in planning, conducting and, most importantly, using research to drive design decisions.
Building modern software
Our vendors work with the same or similar tools as TTS and 18F developers, so that we can build secure and user-centered software quickly. We work with and use cloud.gov hosting. To foster collaboration between the TTS and the vendor team, our vendors ship frequently using source version control and use open, continuous integration and deployment and automated testing to ensure security and stability. Great vendor partners make it easy for TTS developers to perform code reviews by bootstrapping projects for local development with package managers, task runners, and README installation instructions.
Agile development
TTS is always looking for ways to align our work with business outcomes and user satisfaction instead of report deliverables. Vendors who have worked on true agile projects and have fought hard against the tendency for agile-fall compromises are better prepared for aligning to these values. We look for vendors who are comfortable running agile ceremonies and have developed their own preferences for how to run them. They’re open to giving and receiving feedback to and from us and our agency partners, and continuously improving their process and development based on that feedback. And we’ll do the same.
We are consistently working to improve how TTS can work with other federal agencies and private vendors to develop better government digital services. So far, vendors with expertise and experience in the above areas have been the most successful at developing the trust and working relationship that lead to successful projects.
If you’re a vendor, you can see our upcoming procurements on the Office of Small Business Utilization Forecast Tool. If you’re a government agency looking to use these methods in your own procurements, you can contact our acquisition team at inquiries18F@gsa.gov.