Civic responsibility! The most common and basic duty that is required of each and every citizen. With the growing influence of Smart Phones and Technology in general My Thana app initiative provides a highly unique collaborative platform connecting common citizens with law enforcement agencies around them, thus helping in building a harmonious, crime free environment.
As an initiative taken by MP police, this app will help the citizens of Indore (and other regional cities in due course) by connecting them with law enforcement in any instance of crime or emergency.
In conformance with MP Police guidelines, the first step we at Digiprima took was to ensure seamless user experience. We achieved this by ensure simple and easy user on-boarding process. We started with first understanding end user needs. Our team in lieu with actual law enforcement personnel conducted comprehensive workshops and ground surveys to fully grasp the needs of our end users. Our aim was to figure out the main pain points of the end users. Armed with these quantifiable findings, allowed us to prepare:
Once we identified “HOW”, we explored “WHAT ELSE”. The biggest challenge we faced was to check on the credibility of information being passed on to the application by end users.
When dealing with something this sensitive, we had to make sure to provide a way to assign accountability for end-users as well. In order to do so, we simply integrated the existing National Population Register (UIDAI DB) within the application.
This integration allowed us to verify all end-users (User KYC) instantaneously while also ensuring their DATA and identify is kept safe and secure
The overall application was broken down into various modules or services it offered. Along with our agency (Law Enforcement) partners, we identified the following features that the app would offer to its end users:
Apart from its main responsibilities, this app also comes equipped with various other features and functionalities. These features include the likes of:
Keeping with Agile methodology, we started this undertaking by aligning 2 separate yet equally important teams to work in tandem.
The first team along with our UI/UX specialists started with working on visual representation of the project. Detailed and functioning wireframes were delivered to showcase our suggested layouts and application flow. Our focus was on delivering an innovative, user friendly and simple design layout.
The second core development team along with our PM worked on finalizing the overall application architecture with focus on ensuring app is secure, stable and scalable. We looked at real world behaviour to learn/analyse how existing services are used. We let data drive our decision-making when it comes to preparing app architecture.
Before we implemented anything, we planed the entire UAT. We started with defining and prioritizing business requirements (both functional and non-functional). Prioritizing is important as not all tests can be implemented given certain projects time constraints.
As a next step, we crafted our UAT acceptance criteria (UAC), which is a focused description of each test case. This allowed us to derive a decision table to outline the acceptance criteria.
DESCRIPTION | |
---|---|
GIVEN | (i)Input (ii) Preconditions |
WHEN | (i) Triggers (ii) Actions |
THEN | (i) Output (ii) Post conditions |
According to our experience, UAC is one of the most important parts of the entire UAT process. Following are some questions we looked to address when setting up the UAC:
After planning, we built the user testing process as well as the status reports. We prepared multiple test cases with scripts. With these test cases, we then prepared a status report to be filled out after the user testing was done. Following is an example script for a web application’s login test case that we deployed:
Purpose | User able to log in with ID and password |
Preconditions | User has signed up. User has NOT logged in |
Input | Correct ID and Correct Password |
Process (Action and Triggers) | (i) Enter ID (ii) Enter Password (iii) Click “Login” button |
Output | User logs in and sees the dashboard |
Once the processes were set, it was the time to test. There are numerous ways of user testing, with each test depending on the type of software that is to be tested and the data that we intended to derive. The leanest and most cost saving format is remote user testing. This allowed for real users (test group) to test the system with video and feedback to boot.
After the tests were done, we compiled the data collected and prepared relevant status reports and evaluated the test results. This process helped in determining:
Given the complex nature of software development and human behaviour, we provided tailor-made UAT processes that were customized to our client’s specific needs.