ITS Agile offers custom Agile software development solutions that enable agencies to deploy high-quality solutions faster and more efficiently. These new techniques and methods require a different mindset and way of delivering mission value quickly. ITS Agile understands and delivers the following modern IT practices.
ITS Agile performs all development work following Agile and DevSecOps best practices. When starting any new development, we follow a cloud and security first approach to ensure that the best security, reliability, and scalability practices are used. This includes setting up a continuous integration and deployment pipeline to deliver quickly to a production environment. Each build is first tested through the automated test suite, created using behavior and test-driven development. Then the small changes that have been made are integrated into the master branch and deployed as quickly as possible. Using this pattern helps ITS Agile reduce the risk associated with delivering code that has bugs, as well as delivering software that does not meet mission needs.
All development is closely coordinated with business units that will be using the software. The use of feature toggles allows the decision for when to use new software as a business decision and decouple it from technical deployment. Additionally, using a DevSecOps approach shifts security left and makes it everyone’s responsibility. Developers are delivering more secure code and not waiting for security testing at the end of a long cycle to determine how secure it is. Because the team also supports operations, code is more robust and less likely to have issues in production.
Modernization of Legacy Apps
When modernizing legacy applications, there are some additional processes and practices that ITS Agile utilizes for delivery. We continue to follow a cloud first approach and look for ways to move the application to the cloud if it is not already there. One approach that we use is to develop the new functionality in the cloud and create an interface into the existing platform. This approach requires a test suite for the existing application that we create if necessary. Slowly, the old application is replaced by the new application in the cloud that is following more modern microservices architectures. This allows for modernization of an application without the big bang risk of an all-at-once turnover to the new application.
Agile Program Management
Through delivering across many organizations in an agile fashion, we have learned many lessons that we incorporate into our program management of modern applications. We use management practices to scale our agile delivery, such as scrum of scrums to keep multiple teams coordinated across one program. We also encourage a value delivery team and coordinate with the set of stakeholders that make it up. This ensures that the most valuable work is performed first for the program. Delivering mission value is important to ITS Agile and not just delivering requirements as written. Finally, the most important part of ITS Agile delivery is the retrospective. We strongly believe in learning as the program is in process and sharing those learnings across the company. In addition to the standard team retrospective, we also perform a retrospective with our clients and with the entire program.
Organizational Agility Transformation
While changing development practices can enhance the delivery of software solutions, the full benefits of Agile are only realized when organizational changes happen beyond just the development process. ITS Agile believes in helping the organization change through integration of the various components of information technology (development, testing, security, quality assurance, configuration control, independent testing, etc) with the mission-focused components of the agency. This combined force helps to keep everyone focused on the highest mission value delivery. The use of product owners, value teams, and user experience techniques throughout the delivery is important to ensure efficiency and effectiveness. In addition to the organizational change within the IT group, there are changes that ITS Agile can help make within business units. These changes help adjust to the new delivery speed and the speed of change. They also help empower product owners and value teams to make decisions to answer questions from the delivery team quickly. Finally, Agile practices can be adopted by business units themselves to increase transparency and improve mission value realization.