I just discovered the U.S. Patent and Trademark Office’s strategic IT plan, which should serve as a blueprint for all government agency technology efforts.
The plan emphasizes an iterative (agile, DevOps), modular, reusable, service-oriented approach to IT strategy and, of particular note and general relevance, are the vision and governance sections.
USPTO technology vision:
- Choose to reuse services and build services to be shared to refocus resources on mission needs and quickly provide better capabilities that can themselves be reused and take full advantage technology industry developments.
- Build services that are always available to support geographic expansion of customers worldwide and examination nationwide with 24x7x365 operations and zero customer impact to downtime.
- Make everything like a website to improve the accessibility and management of all information on all devices and in all locations.
- Provide searchable information to improve IP research by accepting and converting all information into searchable technology formats for USPTO and other systems to be built upon.
- Write code once and deploy wherever to improve portability, stability, and cost effectiveness of solutions by increasing the technology choices available with vendor neutrality.
- Take an Agile approach to everything to improve the customer value delivered by incorporating continual customer and industry feedback into solutions iteratively before it is too late.
- Provide Mobility and Collaboration to improve the individual user experience and leverage collaborative technology to better share knowledge and work together towards business results.
From USPTO Chief Information Officer John B. Owens II:
Customers expect to interact with the USPTO through digital channels such as websites, email, and mobile applications. By building better digital services that meet the needs of the customers that use our services, we can make the delivery of our products and services more effective. The USPTO follows an incremental, fast-paced style of software development to reduce the risk of failure by getting working software into users’ hands quickly, and by providing frequent opportunities for the delivery team members to adjust requirements and development plans based on watching people use prototypes and real software. A critical capability is being able to automatically test and deploy the software so that new features can be added often and easily put into production.