Depending on the way you do business you may have your software development and QA outsourced. So how do you get the two together? While this presents a challenge it is definitely doable to have your products quality checked by an outsourced QA team. The trick to doing this is to not allow anything to interfere with your scrum schedule.
Test and QA
Testing is an essential piece to software development and doesn’t have to be done separately. You can include a tester in all scrum meetings. If you don’t have test in the same location you may have to take the risk of them not being involved in the scrum cycles until the projects are complete and ready for test. If possible, try to get the testers to write automated regression tests that can help the developers and encourage them to provide feedback. Just remember to include testing at every stage of development.
It is not recommended to outsource QA or to have those who perform QA to be separated from your developers. If you cannot change the fact that your QA is outsourced you will have to make sure there is constant communication with your scrum team and QA.
If you have outsourced both QA and software development the best way to manage this is to have your QA physically located with your developers. This will ensure your projects are still completed on time with peace of mind in knowing they were QA inspected. This way you can call on your scrum master to send out a team member to spend time with your QA and even include QA as part of the scrum cycle. Depending on the size of your projects you may need to have the scrum master double as a functional analyst or project manager to coordinate everything for you.
A wiki is a great tool you can use to encourage collaboration between teams. Another tool you can use with geographically displaced teams is virtual training. This is common among those who outsource and very effective. You can set up a SharePoint site for document sharing and use social networking tools specifically designed for team collaboration. Depending on personalities, culture, etc. your team members may eventually develop personal friendships amongst themselves which is always good in collaboration.
When you outsource your QA you should consider a few factors such as engagement, service level agreements, and the people involved. You can choose to outsource incrementally as your projects come under development which may help you find any problems along the way. If this is not feasible and you have decided to completely outsource QA you should have a small team that will work well with your developers and other team members within your organization. Service level agreements should include the details of their expectations which would include on time reports, effectiveness, and sensitivity metrics that center on lowering costs.
Outsourced QA may be difficult but it is necessary and manageable. Your teams will need to collaborate and communicate daily and ensure schedules are on point. Just because your teams are not physically present doesn’t mean they cannot communicate. Web conferences and online tools are useful in bringing people together.