Project Execution Approach

Delivering success out of any Offshore outsourcing requires a long-term strategy to ensure delivering of higher value to all stakeholders. While there has been growing concern globally about the effective management and control of the offshore projects, as well as the relationships management we at Gatistavam have ensured simple steps to allow our customer maximum clarity on the status of their projects.

Our offshore relationship model are customized for End Clients, Independent Software Vendors (ISVs), Software Product Company & web development companies to start and build an outsourcing partnership.

Initiation

The main advantages that a client derives with Gatistavam is that we are 100% client oriented company with custom tailored approach for all the clients. So each project is executed in accordance to the needs of the clients or else our consultants will propose a fitting model of its execution. Following are the steps we follow at Gatistavam once a client has decided to execute their project(s) with Gatistavam. Some of the steps many be deployed before the confirmation of the project.

Non Disclosure Agreement

Gatistavam understands that the information that is being shared by the client is strictly confidential and very vital to the client’s business. Gatistavam ensures that all its employees and its associates protect that information by signing a NDA with the client where applicable. Sometimes the NDA is executed even before processing an RFP

Clients Business and Processes

Gatistavam believes in understanding the client’s process and business to provide them with a custom tailored solution to match their exact requirement. Gatistavam understands that it is imperative for many clients to have similar processes when working with an Offshore development company/ Offshore Dedicated Centre compared to their own team. During information collection phase our qualified team of Business and Technical Consultants makes sure that they have covered all the steps to ensure the process and implementation cycles are defined in accordance with client’s requirement.

For a Project plan to succeed and achieve a timeline, it is important to identify how client’s teams manage testing strategies, requirements, reporting mechanisms and implementations etc. Keeping the client’s view in mind we tailor the reporting terms, modes for the managing changes to the project scope, communication channel between the Client and Gatistavam Team, define configuration management and versioning systems to be used and so on.

Definition of points of contact

It is important for both Gatistavam and the client to know whom to contact for which queries. To make a sure communication channels are efficient and effective we provide our clients with following contacts during the execution of the project:

Account Manager (email, Skype, MSN, Phone, Mobile)
Delivery Manager (email, Skype, MSN, Phone, Mobile)
Project Manager/ Leader (email, Skype, MSN, Phone, Mobile)
Escalation Manager (someone from company top management).

Pilot Phase and Process Identification and Adjustments

Gatistavam prides in the fact that more than 75% of our business comes from repeat the clients. To warrant a smooth process and project initiation for the first time clients with Gatistavam for projects which are large and an expensive, we recommend the client to engage with Gatistavam in the execution of a Pilot Phase Projects. This project will be demonstrate the comfort level and speed, agility and quality and ease of outsourcing software development project to Gatistavam. Pilot Phase will also provide confidence to both sides for progressing onto more larger and expansive and complex projects.

Service Level Agreement

Service Level Agreement is a formal document which defines all aspects of interaction, terms of payments, level of services, etc. Standard templates are used for this purpose with required changes to suit the specific needs of a project.

Estimation

One of main questions which interests potential clients is what will be workload, timeframe and the costs for their projects. However we are sure, that proposal of high quality should contain much more information. In Gatistavam we perform comprehensive analysis of client’s input information and provide detailed feedback which includes such points as identification of resources involved, project plan, discounts and costs, execution methodology and quality control approach and so on.

Different clients provide different input information or RFP (Request for a Proposal). Of course, in terms of our efforts for RFP processing and in terms of accuracy of an estimation, the more details the RFP contains the better. However there are no problem for us to start estimation just with some description of your needs, then in Q and A sessions we will define other required points.

Generally, the RFP processing process follows the next steps

We analyze information provided by potential client (RFP/Business needs an analysis), define unclear points for us and prepare a document with questions.
Client answers the questions. We correct our preliminary estimations, analyze answers and maybe define new questions.
Finally if almost everything is a clear we prepare Proposal Package and deliver it as our response to the client

Kick-off meeting

At Gatistavam we make it a point to introduce key members of the project team at the start of each project. We conduct the internal Kick-Off meeting within the team and clarify the roles, scope, reporting & communication mechanisms. The client is also provided with the details of the key members of the team and their roles with respect to the project.

Execution

The following Processes are a usually implemented into Software Outsourcing project execution process.

Project requirements clarification

You can be sure that project is already 50% successful if an offshore team understands your requirements correctly. That’s why our Manager or Analysts are always in close interaction with Client’s Team. While ideal suited and sometimes it is impossible to define all the nuances of the project during its first phase itself, so that the process of requirements detailing is built iteratively.

Clients provide us with business needs or ideas and our Consultants/Managers/Analyst transform them into formal Software Development Requirements Specifications and Use Cases. Also, it is important to create the GUI prototype (Non Functional Prototype) usually referred to as NFP to be able to see what the system will look like – thus helping make requirements clearer.

Functional prototyping / Architectural design

It is always essential to see how the system you’ve planned will look like. Usually at Gatistavam we create different prototypes for such demonstrations and requirements are aligning. It can be technical prototypes with demonstration of some custom controls or some technology usage, functional prototypes with the demonstration of some scope of functionalities and so on. In majority of cases we also create Software Architectural Document (SAD) which describes general solution structure and describes used approaches and technical decisions.

Unit Testing

Unit testing is used to test a particular module or class in application. The purpose of conducting Unit tests is to be able to analyze functionality of new code or modifications to existing code without hassles of overheads and additional time utilized in setting up tasks such as services, application and servers deployment.Over the years experience in Software Development Industry has taught us that unit testing conducted and exercised at initial stages of the software development life cycle makes it easier and cheaper to find and fix bugs rather than at later stages of the cycle.

As great as it may sound there are a few limitations as to what unit testing will help you to achieve. Unit testing is not the miracle formulae if you are looking to test the functional requirement of the application. Unit testing covers only the testing of each and every module of the application. Also testing of a scenarios such as asynchronous services and functionality configured inside the application server

Build & Test the solution

At this stage the project requirements are transferred into a running system. The best practice here is to deliver regular versions of product, so Client could see the progress in a real time and also to continuously improve the product quality. Implementation and Q & A (testing) go together and establish a development cycle until the scope is ready and the quality is accepted.

At Gatistavam we believe in delivering ingenious solutions catered and customized to clients needs. One of the strengths is we live by the quality of our work and solution and testing is a very integral part in achieving the quality. A software development solutions must adhere to exemplary design and architecture practices as well as precise testing practices. Application no matter how well architecture, designed and coded is not a successful solution as long as its note well tested.

Integration Testing

The first level of testing conducted during the software development life cycle, the purpose of which is to test the module or class in isolation is Unit testing. The next level of the testing would be integration testing which enables the development team to test the application and analyze how each and every module works together when compiled in the integrated environment.

The main purpose of this exercise is to make sure that all the modules that passed the unit testing function properly when integrated with other modules of the application. This method of the testing is very reliable and necessary especially for projects executed under agile development environment where you find various software engineers working on various modules at the same time and they would be required to merge the coding on a regular basis.

Normally integration testing would be include but would not be limited to

Testing calls between Service and Client Layers of the application
Session Management
Transaction Management
Testing Remote Services
Web Flow

Our Team of engineers realize that Integration Testing while being an integral part of Quality Practices is not a substitute for other testing procedures. We encourage our engineers to develop a sufficient test cases and scenarios to gain maximum code coverage at the root level.

It is a proven fact that the best solutions address quality issues right from the early stages of the development life cycle. The best mode of the conducting testing is “Early & Often” the Software Development Life Cycle

Acceptance testing

At Gatistavam we use comprehensive set of testing and quality control methodologies to guarantee final product quality. Never the less, client’s acceptance of provided results is a crucial point in the project.User Acceptance testing (UAT) is an integral component for ensuring that the application or software being developed passes the general criteria as defined and agreed by the client and Gatistavam.

As a rule of the thumb following criteria are defined from the onset of signing the project between the client and Gatistavam

Defining User Acceptance Testing (UAT) scenario.
UAT criteria. Usually this document is well defined in either the proposal for the project or a separate Quality Assurance Planning Document.
Planning for a Client Infrastructure requirement such as Development Server, Production servers, Using Reporting Tools, Hosting servers etc.
Planning of resources and responsibilities both at the client as well as Gatistavam’s end..
Defining responsibilities for developing and reviewing the Acceptance Plan, Data and Cases..
Defining working of Operations, bugs ratification progress monitoring, bugs reporting methodologies..

Support Phase & Bug Fixing Phase

After the project is completed we enter into the support phase. Its duration is usually defined in the proposal documents. Usually it means that during the Free Support Phase all arising problems with respect to development undertaken by Gatistavam will be fixed for free. Besides the bug fixing activity, Gatistavam also offers its clients a lot of support by the means of value added services such as:

SEO Campaigns
Call Centre Back Office
Onsite Deployment of the Projects at Clients Request
Customer Support Centre
Additional Development to current Project as discounted Prices

Planning & Risks management

Preliminary project plan and risks list should be created during project initiation and planning phases. However it is impossible to foresee all possible risks as well as it is quite difficult to create a well-detailed plan before project is up and the running. These activities are rather continuous. At Gatistavam we make sure we send Project Status Reports (PSR) weekly, semi-monthly and monthly depending on the project to the clients. Our team of qualified experts makes sure that during all the cycles of the project, project health, risks, changes to the scope, timelines and team planning is monitored and the projected. The findings and results for the same are communicated to the client in form of the PSR. In project due course project manager regularly reviews list of risks, defines new risks and the sort out existing ones, updates project plan with the actual work, modifies list of tasks in accordance to made decisions and established priorities and so on.

Reporting

At Gatistavam we have standard set of reports we usually use to update client about project progress, problems that need resolution, available defects etc. By default, the following reports are used:

Weekly project status report
Known Bugs and Remedies report
Project Plan Report
Test Cases Reports and Quality Testing

As you can see, working with an offshore outsourcing company is just as easy as working with a local consultant. Literally our front office is will be your back office.