The goal of scrum is to ensure that business users and IT stay on track with each other, ensuring that new applications meet the end goals of the business. Scrum collaboration also increases the likelihood that applications are easy to use because end users are continuously trying the applications out. The fact that scrum has worked so well in design and prototyping also begs the question: should it be used to address other areas of app development and deployment? I say yes.
Early in my IT career, we installed a new software release from a major vendor and the entire system crashed. The culprit was an embedded routine in the software that hadn't even been compiled, yet was included as part of a finished release!
This situation could have been avoided if we'd followed scrum processes all the way to installation.
Quality assurance (QA) is one area that could benefit from the scrum process. QA often gets short-changed during app development, especially when there are major time to market pressures on applications to get placed into production quickly -- for example, the federal government's healthcare database. When QA is done incompletely, or not at all, apps don't end up performing the way they were supposed to perform.
In severe cases, these applications might have to be pulled back from production altogether.
A pullback of an app from production can be embarrassing --and it can even be more embarrassing if it impacts customers. This is exactly what scrum at the beginning of the development process was designed to prevent--and also an excellent reason for application development managers to consider extending the reach of scrum beyond just app design and prototyping, and into the frequently neglected areas of app QA and checkout.
Keep collaboration going after prototyping
The scrum collaborations forged between end users and IT during app definition, design and prototyping would continue as the application proceeded through coding and into a unit test to make sure that it was working well on its own. Once this was determined, the application could then be put through a final dress rehearsal in a simulated production environment to ensure that it would work as planned once it went live.
At the unit testing level, the application is always tested by the individual programmer and an IT QA person for proper execution of functions and features. By extending scrum, an end user who was part of the original scrum team would also bang away at the app to make sure that it was doing everything that was intended and that there were no errors. This gives IT an extra set of eyes on the standalone test of the app--and it gives end users continued visibility of the app so that if problems do arise, the end user knows what those problems are and what it will take to remedy them.
The end user should also be engaged in the final "dress rehearsal" test of the app in a full production environment simulation. Here, testing should be done at two levels: a test of the app for functions and features to ensure that it properly exchanges information with other apps and system functions that it interacts with; and a final usability test to ensure that the navigation and other ergonomics of the app conform to the needs of the business.
Four ways to implement scrum in QA:
- End users should team with IT QA in pre-production testing of new applications right before they are deployed. The focus of end users in this part of the work would be on usability.
- End users should perform their own unit tests of each application before it's integrated with any other software. The goal is to ensure that the app has stayed true to the business requirements it was developed to meet.
- After final pre-production testing, end users and IT should team up in a training users of the new app.
- In post-production performance reviews, end users should provide report cards and specific commentary on new apps. The application development team that can incorporate this input into future app designs.
4 scrum best practices to keep your app development projects on track
3 ways to prevent your app developers from blowing off QA testing
How to apply Agile practices with your non-tech team or business