|
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 a
growing concern globally about the effective management and control of the offshore
projects, as well as relationships management we at Pollux have ensured simple steps
to allow our customer maximum clarity on the status of their projects.
Our offshore relationship models 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 Pollux is that we are 100% client
oriented company with custom tailored approach for all 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 Pollux
once a client has decided to execute their project(s) with Pollux. Some of the steps
many be deployed before the confirmation of the project.
Non Disclosure Agreement
Pollux understands that the information that is being shared by the client is strictly
confidential and very vital to the client’s business. Pollux ensures that all its
employees and its associates protect that information by signing a NDA with the
client where applicable. Sometimes NDA is executed even before processing an RFP.
Clients Business and Processes
Pollux believes in understanding the client’s process and business to provide them
with a custom tailored solution to match their exact requirement. Pollux 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 the 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 the timeline, it is important to identify
how client’s teams manage requirements, testing strategies, implementations and
reporting mechanisms etc. Keeping the client’s view in mind we tailor the reporting
terms, modes for managing changes to the project scope, communication channels between
the Client and Pollux Team, define configuration management and versioning systems
to be used and so on.
Definition of points of contact
It is important for both Pollux and the client to know whom to contact for which
queries. To make 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)
- Project Manager/ Leader
(email, Skype, MSN, Phone, Mobile)
- Delivery Manager (email, Skype, MSN, Phone,
Mobile)
- Escalation Manager (someone from company top management).
Pilot Phase & Process Identification & Adjustments
Pollux prides in the fact that more than 75% of our business comes from repeat clients.
To warrant a smooth process and project initiation for the first time clients with
Pollux for projects which are large and expensive, we recommend the client to engage
with Pollux in the execution of a Pilot Phase Project. This project will demonstrate
the comfort level and the speed, agility and the quality and ease of outsourcing
software development project to Pollux. 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,
level of services, terms of payments 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 costs for their project. However we are sure, that proposal of high
quality should contain much more information. In Pollux we perform comprehensive
analysis of client's input information and provide detailed feedback which includes
such points as identification of resources involved, project plan, costs and discounts,
execution methodology and quality control approach and so on.
Different clients provide different input information or RFP (Request for Proposal).
Of course, in terms of our efforts for RFP processing and in terms of accuracy of
estimation, the more details the RFP contains the better. However there is no problem
for us to start estimation just with some description of your needs, then in Q&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 analysis),
define unclear points for us and prepare a document with questions.
- Client answers the questions. We analyze answers, correct our preliminary estimations,
and maybe define new questions.
- Finally if almost everything is clear we prepare Proposal Package and deliver it
as our response to the client
Execution
The following Processes are usually implemented into Software Outsourcing project
execution process.
Kick-off meeting
At Pollux we make it a point to introduce key members of the project team at the
start of each project. We conduct internal Kick-Off meeting within the team and
clarify the roles, scope and communication & reporting mechanisms. The client is
also provided with the details of the key members of the team and their roles with
respect to the project.
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/Analysts are always in close
interaction with Client’s Team. While ideal suited sometimes it is impossible to
define all the nuances of the project during its first phase itself, so 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 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 Pollux we create different prototypes for such demonstrations and requirements
aligning. It can be technical prototypes with demonstration of some custom controls
or some technology usage, functional prototypes with demonstration of some scope
of functionality 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.
Build & Test the solution
At this stage the project requirements are transferred into a working system. The
best practice here is to deliver regular versions of product, so Client could see
the progress in real time, and also to continuously improve the product quality.
Implementation and QA (testing) go together and establish a development cycle until
the scope is ready and the quality is accepted.
At Pollux we believe in delivering ingenious solutions catered and customized to
clients needs. One of the strengths we live by is the quality of our work and solution
and testing is a very integral part in achieving the quality. A software development
solution must adhere to exemplary design and architecture practices as well as precise
testing practices. An application no matter how well architecture, coded and designed
is not a successful solution as long as its note well tested.
Unit Testing
Unit testing is used to test a particular module or class in an 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, servers and application 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 achieve. Unit testing is not the miracle formulae if you are looking to
test the functional requirement of the application. Unit testing covers only testing
of each and every module of the application. Also testing of scenarios such as asynchronous
services and functionality configured inside the application server.
Integration Testing
The first level of testing conducted during the software development life cycle,
the purpose of which is to test a module or class in isolation is Unit testing.
The next level of 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 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 include but would not be limited to
- Testing calls between Client and Service Layers of the application
- Testing
Remote Services
- Session Management
- Web Flow
- Transaction Management
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 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 conducting testing
is “Early & Often” in the Software Development Life Cycle
Acceptance testing
At Pollux we use comprehensive set of testing and quality control methodologies
to guarantee final product quality. Nevertheless, 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 Pollux.
As a rule of thumb the following criteria are defined from the onset of signing
the project between the client and Pollux
- 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 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
Pollux’s end.
- Defining responsibilities for developing and reviewing the Acceptance
Plan, Cases and Data.
- Defining working of Operations, bugs reporting methodologies,
bugs ratification progress monitoring.
User Acceptance Testing is a process which will be defined and produced by the Project
Manager at Team Pollux. Various Modes of undertaking UAT are as follows:
- Independent AUT at Client End
- In this scenario the product or application to be tested is delivered and uploaded
on the clients server or infrastructure as per the delivery plan mentioned in the
proposal.
- The client is responsible for reporting findings and faults as per
the Acceptance testing plan laid at the onset of the project.
- Combined Acceptance Testing
- The client as well as the Project Manager in charge of the project schedule the
testing activities which include planning, recording and monitoring bugs and reporting
mechanisms.
- The Project Manager and the Client develop the Testing Plan as per
the requirements defined in the Requirement Specification Document.
- Project
Manager and Client obtain the hardware and software required to recreate the customers
environment. The product is delivered to the Clients server before the testing process
is executed.
Upon completion of the acceptance criteria the Client would sign-off the project
using sign-off form as defined in the testing plan. Upon completion of the sign-off
formalities the Project Manager creates test summary report which highlights
- Client and Project Description
- Summary of Testing Reports
- Challenges
for the project
- Learning experiences during the project and policies to be recommended
for future improvements.
Support Phase & Bug Fixing Phase
After the project is completed we enter into the support phase. Its duration usually
is defined in the proposal document. Usually it means that during the Free Support
Phase all arising problems with respect to development undertaken by Pollux will
be fixed for free. Besides the bug fixing activity, Pollux also offers its clients
a lot of support by the means of value added services such as:
- SEO Campaigns
- Customer Support Centre
- Call Centre Back Office
-
Additional Development to the current Project as discounted Prices
- Onsite Deployment
of the Project at Clients Request
Planning & Risks management
Preliminary project plan and risks list should be created during project initiation
and planning phase. 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
running. These activities are rather continuous. At Pollux we make sure we send
Project Status Reports (PSR) weekly, semi-monthly, monthly depending on the project
to the client. Our team of qualified experts makes sure that during all the cycles
of the project, project health, changes to the scope, risks, timelines and team
planning is monitored and projected. The findings and results for the same are communicated
to the client in form of PSR. In project due course project manager regularly reviews
list of risks, defines new risks and sort out existing ones, updates project plan
with actual work, modifies list of tasks in accordance to made decisions and established
priorities, and so on.
Reporting
At Pollux 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
- Project Plan Report
- Known Bugs and
Remedies report
- Quality Testing and Test Cases Reports
As you can see, working with an offshore outsourcing company is just as easy as
working with a local consultant. Literally our front office will be your back office.
If you need any additional information, Please do not hesitate to Contact
us.
|