Here at Excella we are fortunate to have the opportunity to do great work with some of DC’s leading organizations. Our clients are dedicated to using pioneering tech to make an impact for their customers, employees, and communities. We are particularly honored to work on myUSCIS, an innovative web application that is changing the way […]
Here at Excella we are fortunate to have the opportunity to do great work with some of DC’s leading organizations. Our clients are dedicated to using pioneering tech to make an impact for their customers, employees, and communities. We are particularly honored to work on myUSCIS, an innovative web application that is changing the way people access immigration services and is revolutionizing how the US government manages and deploys digital services to people around the world.
The US Citizenship and Immigration Services (USCIS) had the vision to create a more user-friendly digital experience for the millions of people annually that request info on immigration status and services. In addition, USCIS wanted to harness the power of modern best practices like Agile, DevOps, and the cloud to deliver value to the public quickly and efficiently. Excella’s Agile software development experts have been on the ground since day one building myUSCIS, and working side-by-side with USCIS, NTIS and the US Department of Commerce, the US Digital Service, 18F, and other partners, such as Stelligent, to turn this goal into a reality.
Thanks to the innovative drive of this team, the first iteration of myUSCIS was up and running in less than 6 months and has been adding new features for the public every couple weeks since then. Wondering how it is done? Read on for 4 key things that have made myUSCIS so successful.
Our goal as a development team is to provide value and show continuous progress to USCIS and public users every two weeks. In addition, we conduct extensive up-front usability testing to better inform design decisions and ensure we do not go too far down a particular path that’s not providing real value to users. A Scrum approach mixed with elements of Kanban helps to keep everyone on the same page while enabling continuous progress. This approach enabled features like “Explore My Options” and “Civics Practice Test” to be completed in short timeframes, whereas with older waterfall approaches it would have taken much longer.
Excella’s myUSCIS team combines many diverse skillsets – web developers and test engineers, ScrumMasters, business analysts, designers, usability experts, Continuous Delivery engineers, and USCIS Product Owners; who are all working together on the same team. We are co-located for the most part, and Product Owners sit with the team several times a week to review progress in-sprint. To further facilitate team communications, we rely heavily on tools like GitHub, Jira, Confluence, and Slack to enable the rapid build-out of new features. This set up allows for quick communications and provides total transparency, keeping the team energized to work quickly and solve problems faster.
The second element that is critical to success on myUSCIS is an informed and empowered federal Product Owner who represents the needs of the business and USCIS customers, and an empowered federal Program Manager that represents the IT organization and enables the team to deliver value quickly. These roles may seem like a given on every Agile project, but the importance of decision-making power and understanding in these roles can truly make or break projects. The myUSCIS Product Owner and Program Manager have the following in their corner:
An empowered Product Owner and Program Manager help our myUSCIS team work with internal USCIS organizational structure, make key connections and come to resolutions on key issues quickly and efficiently. Without this support, many of the traditional perils of IT projects – Agile or otherwise – would significantly slow down our team’s progress.
We’re proud to say that our myUSCIS tech stack is completely open-source, from the operating system on up to the web servers, and the applications and frameworks deployed on them. We leverage modern tools to make delivery smooth, efficient and scalable. Some of these include:
Delivering myUSCIS features the public wants is just part of the process – we also need to be sure we deploy those features into Production quickly and easily, where they can be used, tested and tweaked frequently. To achieve this, we employ Continuous Integration with standard tools such as Jenkins and Git, and build Continuous Delivery pipelines that we use to deliver new features into Production. Using Continuous Delivery, we can react more quickly to our customers and deliver new features on a consistent basis at the push of a button.
We automate as much of the myUSCIS build and deployment process as possible, including tests, infrastructure provisioning, and code deployment. By eliminating manual steps, there are fewer opportunities for something to go wrong. The Continuous Delivery process Excella has built on myUSCIS makes releasing new features to the public a decision the business teams at USCIS can make whenever they’re ready.
Have questions or want to know more? Drop us a line in comments or get in touch here!
Getting Agile requirements right can be a challenge but it’s essential as they can make...
Scaling, like Agile itself, can become a target objective rather than the means to an...