Challenges in Offshore Web Development Outsourcing
If you’ve outsourced web application development, or worked as a programmer or project leader of development team, you’ve definitely experienced the difficult strive towards meeting a deadline. Time always seems to be a constraint. The client may bring up changes which he or she feels should have been understood by the development team (sometimes rightfully and other times not) which further puts pressure on the team to deliver faster than what they may be able to. At least without proper planning that is.
Focus on Core Functionality
I’ve been a stakeholder in two projects lately where after a considerable amount of hours being put into development the testing of the web application has been initiated and the person testing (either a client or quality assurance staff) had found essential core functionality not working properly. How and why does this happen? The development team had in both cases been working hard and sincerely but unfortunately had a too broad focus. They had been too busy completing all functionality and had failed to keep a constant focus on the core processes and purpose of the system developed.
That something like this happens is not always the fault of one side, like the development team or the client. There are actions that both sides can take to speed up delivery time and improve the quality of the final web application. Even though the client’s time is always dear it’s a fact that the web projects where clients are engaged are the most successful ones.
The Power of Test Cases in Web Application Development
So what can you do as a client to ensure successful delivery? As a client you can help define use cases/test cases of the core functionality. A test case can be a simple description of how to test a process and what the desired outcome should be. For example:
- User logs in
- User picks a product from the listings page
- User pays for the product
- Users gets a PDF invoice
The power of these test cases is that you can just hand them over to the development team and they will carry out the testing for you. Writing down how you plan to test will save you time!
Even in quite large projects the core test cases don’t have to become a huge list, and you can always ask to review the team’s test cases first before adding your own. It will save you time and give you inspiration on how to write your own.
What the Offshore Development Team
The responsibilities of the development team at the outsourcing company are of course greater. The project leader must ensure that:
Proper test cases are written from the start and shared with the client
Focus is put on essential functionality early on – the faster the core application features can be tested the better
Present core functionality, perhaps through a recorded screencast, early on to give the client time to review
Clearly communicate any delays that extra functionality requested by the client may result in
The Conclusions
The commitment on end user value and smart planning by the development team, the client’s engagement in the project and communication between development team and client are three of the most important aspects in delivering a web application project successfully when outsourcing.