This spring, with Excella’s help, the Department of Homeland Security’s US Citizenship and Immigration Services (USCIS) released their first official mobile application. The Civics Test Study Tools app is available to both iOS and Android users.
The app, which expands on content from the innovative myUSCIS website, helps aspiring US citizens study for the civics test portion of the naturalization interview. Available in English and Spanish, users can take a practice test or try the Question Challenge game to see how many questions they can answer correctly in a row.
The app’s arrival is timely. According to a January 2017 Pew Research report, 77% of the US population now own a smartphone (up from 35% in 2011), and over one-in-ten use their phone exclusively to access the internet. In an increasingly mobile world, it has never been more critical to provide greater access to digital information.
USCIS engaged Excella through the NTIS Joint Venture Partnership program, leveraging their partner’s proven record of success on projects such as myUSCIS and USCIS’ Verification Systems modernization. Excella assembled a small but nimble scrum team to build a simple, user-friendly app that provides immediate value to customers seeking the security of an application provided directly by USCIS. As one App Store reviewer wrote, “It is a relief to finally have this app […] where we know the answers are correct because it is the official tool.”
So how did the team do it? According to the team’s lead developer, the project made “a strong case for Agile Development.” Below we highlight three Agile principles key to the team’s success:
1. Strong Team Dynamic
“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” – Agile Manifesto
The team created an environment built on trust and communication, which served as a robust foundation when inevitable challenges arose. Because of this environment, the development team – Developers, ScrumMaster, Business Analyst, UX and Visual Experience Designers and Product Owner from USCIS – earned the ability to self-organize, choosing to follow Agile and Scrum best practices. They adapted their processes and roles because they were empowered to build the app and their environment with autonomy.
One critical challenge for the team – inherent in building mobile applications – was ensuring functionality and a uniform user experience on different operating systems. Working with React Native, a cutting-edge framework, meant developers were able to leverage a more universal language, enabling them to share much of the app’s codebase between Android and iOS platforms and create native apps without having to factor in the extra cost and time of building two separately.
And yet, a relatively young tech stack has its limitations. “In many ways, the technology was our biggest challenge,” one developer recalled. The scrum team relied on the tight team dynamic to solve functionality issues and bugs, and continue to test and refine until all the unique features and navigation worked in both Android and iOS.
2. Engaged and Committed Product Owner
“Business people and developers must work together daily throughout the project.” – Agile Manifesto
Among the most important components of a successful Agile team is the partnership of a committed Product Owner. Although the Product Owner comes from the business side, they are a fully engaged member of the scrum team. The team served as a strong example of this best practice.
The USCIS Product Owner was co-located with the rest of the team and available every day to answer questions, act as a conduit to stakeholders, and prioritize requirements. When team members encountered technical difficulties, the product owner ensured they got the resources they needed to work.
Most importantly, the Product Owner and Program Manager – a federal IT manager not on the scrum team, but whose input and participation is integral to the team’s success – aggressively eliminated blockers, allowing the team to focus on the technical work of building a valuable app on time.
“Welcome changing requirements, even late in development. Agile processes harness change for
the customer’s competitive advantage.” – Agile Manifesto
Unlike a waterfall approach, Agile anticipates changing requirements. The team was well equipped to pivot around the challenges unique to developing a government mobile application and could make improvements and modifications even at the later stages of development – despite a fixed project timeline.
The team’s agility was fundamental to implementing Section 508 compliance requirements. Section 508, a federal law that requires government-produced technology is accessible for users of all abilities, poses unique challenges for mobile application development and design. Unlike mature browser-based web platforms, new mobile application platforms are still young and have not yet implemented accessibility features. Furthermore, unlike a commercial mobile application, a government-built app must be fully tested and successfully vetted to ensure all technical, functional and support requirements pass compliance.
A flexible approach allowed for 508 testing to reveal functionality bugs, while giving the team time to resolve them. Additionally, usability testing and research throughout the project gave the team a significant advantage to ensure a satisfying experience for users of all abilities.
Taking an Agile approach, the Excella team over-delivered and were rewarded in more ways than one. For one team member, the chance to positively affect people’s lives was itself rewarding.
“Making a difference was inspiring for us. This project wasn’t just about building an app, it was about helping people achieve their dreams.”