Agency projects & Outsourcing – Suggested solution based on experience

By Thomaskutty Sebastian on August 18, 2015

1.   Structure – Process- Tools – Delivery

Structure:

Ideal structure is as follows:

Structure

  • This structure is far more efficient, though it is not cheapest. The reason why we call this as successful because
    • Our local team knows clients’ requirements and their work culture
    • Our local team knows our development team in India as they get extensive training during their induction into the company and thereby knowing team members in person
    • Requirement gathering with client is done face to face so they can clarify even minute details
    • Prototypes are done by local team and explained in local language and get it signed off before passing that to the Indian team
    • Clients feel secure in working with such a structure as they feel there is local accountable people behind their projects

*For other models, visit http://www.pitsolutions.ch/global-delivery/

  • Process:
  • Ideal Process is as follows:
  • Face to face requirement gathering
  • Design is done either by client or us or through our partner companies
  • Functional prototypes done at our local office or by client
  • Modifications and finalization
  • Approval followed by estimation
  • Offer & Acceptance and then
  • Project Planning
  • Sending of Plan & Approval
  • Preparing test cases
  • Agile approach, showing deliverables periodically
  • Issues of intermediate releases tracked by us and fixed on the go
  • Final release and demo together with local office

Go-live and sign support SLA.

Tools:

Our preferred tools are as follows:

  • Balsamiq for mock-ups
  • SVN or TFS for source code management
  • Activecollab for Project Management
  • JIRA for bug tracking

*We aren’t biased to any tools. Above ones are mostly used by us due to many reasons including client’s preference.

  • Delivery:

The process in 5 steps are as follows

  • Design 

Suggesting 3 ways – either clients provide the design or we provide designs through our local partners or with our own team. Although expensive, we suggest the first two options as our strong belief is that design has to be local especially since we work mostly for local small or medium sized companies in every country we operate. For price sensitive clients, we offer design when clients are clear on the kind of design they would like to have in PCs, tablet and mobile. Once design is approved with pixel measurements, we will get it signed off from the client.

  • Front end

This wasn’t a big topic in the past. But with responsive design, this is a topic of its own. As mobile and tab users are increasing everyday its vital that the design works perfectly without any breakage in various devices and browsers. In the past many companies including us used either designers or developers to do the front end tasks.

Now, because of mobile revolutions and responsiveness the task is so heavy that we have created a front-end team over a year back under the leadership of a local UI expert. He went to our development center and created a team.

Their focus is not only doing the front-end work with high quality but also learn new things as this segment in IT world which is evolving so fast. During the project, once front-end is finalized, our local team does a quality check. Once it’s approved, developers can implement it.

  • Functional

Our development team works with the aim that the project works as per defined in prototypes adhering to the design. After all units are completed by developers, they also have to perform a unit testing before passing it to the QA team. In this way developers must be in a position to challenge testers.

After completion of development and integration, development team passes the project to QA team for integration testing.

  • Go-Live

3 types of testing are conducted by our QA team. Initially our team tests the front end files and make sure that it is of high quality, so that developers can work on it. Then after the project is completed by the development team, they test the front end again to make sure the design is intact after implementation. Then functional testing is done based on test cases prepared. This testing is done either manually or automatically or even semi-automatically based on the project.

If all the necessary quality criteria are satisfied (typically after a couple of rounds of testing and bug fixing), the project is sent to the local team. The local team does a quick testing and if it’s all well, the release goes to the client for user acceptance testing (UAT).

Clients can report bugs (if any) through a tracking system. This is treated with high priority without delay since the project is already live. Bugs during the warranty period is treated based on priority as per outlined in the contract. After the warranty period, bugs and changes are treated as per outlined in SLA. After UAT phase by the client and fixing UAT bugs, we go for live.

  • Conclusion:

From my experience, with right structure on both sides & strategies aligned, outsourcing (whether its offshoring or nearshoring) can be of great benefit to agency clients. The huge advantage is that agencies need not have to build so much technical know-how which isn’t their core competency. Building a technical team in-house needs time, energy and money. With right partner they can meet their needs at a better price, in less time with even the possibility to upscale and downscale in short notice.

 

Leave a Reply

SCROLL TO TOP