UAT, otherwise known as User Acceptance Testing, is how we determine development to be completed here at Aptera. This type of testing tells us if the software component was built to handle real-life scenarios, per the initial project specifications laid out between the client and a business analyst. If user testing falls behind, it can cause a delay in the timeline, so it’s important that everyone gets on board when it comes to completing this final step of development.
For the team to stay on top of user testing and keep the overall project on track, we have implemented a few processes and roles into our development teams to ensure a smoother timeline and increase the quality of the software. To know how a team works, it’s important to understand who the individuals are that make up the team.
A development team at Aptera includes:
- A business analyst who lays out project specifications for developers
- A project manager who oversees the timeline and stays in communication with the client or project owner.
- A graphic designer who lays out the branding and intended user functions by design (user experience, or UX)
- A team of developers who complete the project development per the specifications
- A quality assurance (QA) analyst who tests each item after development to report defects, known as “bugs,” or approves an item for UAT testing
- The user (sometimes the client or a beta testing group set up by the client) who determines that all functions are as intended by completing UAT testing
After reaching the final team member, UAT is then completed and each item is then added to the live site through a series of development builds, or deployments. Since our clients have the final word from UAT, it’s extremely important to the project timeline for the client to stay on top of testing on their end. If UAT gets behind, it can sometimes create a bottleneck and puts the project in jeopardy of not making a deadline. Depending on the stage of development, a bottleneck can also prohibit future development from occurring. To keep things manageable for our clients, the development work is chunked into small increments, or sprints, that are more easily manageable for testing. This also lets us focus more on the individual components of the software vs. the overall system, which will be tested closer to the end of the project.
Client satisfaction is our top priority, so we’ve continuously improved our project teams and processes to meet their expectations.
Here are some of the processes that help your project complete on time:
- A business analysts begins creating a backlog, or a list of items, along with acceptance criteria that the project needs for development.
- A timeline is estimated by the development team based on the backlog. Each PBI, or product backlog item, is given an estimate for the length of time it should take to complete development and testing before going to UAT, or user acceptance testing. Development time is based on, but not limited to, the size of the team, the difficulty in development, and experience of a developer.
- Chunks of development, or sprints, are then established by the team based on estimated development tasks, or PBIs and the size and availability of the team.
- Along with the client, the team determines priority of these backlog items and then decides how much development will fit into each sprint. A project completion date can then be estimated based on the number of sprints figured into completing the project.
- A discussion channel is set up by the project manager, using an online project management tool. Here, communication happens between the team and the client. Development and project documents are stored in the channel, questions can be quickly answered as they arise by both the team and the client, and UAT items are assigned for testing and approval.
- As each sprint passes and QA testing is completed, the project manager creates a user testing checklist in the client’s project management tool channel.
- Before any development is deemed complete, all UAT items must be approved. A soft deadline may be set forth by the project manager to keep everyone on track. If UAT testing is behind, the project manager will then communicate a harder deadline with the client so that the project timeline isn’t in danger.
- UAT marks each item as completed, or tested, within the channel to let the project manager know a deployment should be scheduled.
- Deployment happens and regression testing occurs to make sure everything works as it should in the live environment. During this time, it is especially important for UAT to occur so that the client can catch anything not working properly on the site that the user is more likely to consider, not just a developer.
Of course, we cannot predict the future of a software project at Aptera, but by putting an organized system into place, projects are less likely to go over the deadline and have better performance. Incremented development makes user testing more manageable for our busy clients and can be done in a minimal amount of time. If everyone on the team stays on top of testing, it can make a positive effect on the overall project deadline. If user testing falls behind, it can negatively affect the timeline and cause a delay.