Having a strong repeatable process is a critical element to any successful engagement. Whether we are working with our clients to establish a BPO team, setting up a dedicated offshore development team or running a full end-to-end project, we introduce early and revisit as needed a methodology that will work best for the type of work, the client and the overall needs of the intiative. With an eye towards methodology, we are also able to quickly adapted and fully participate to our clients' environments who already have an established methodology.
Outsource Transition Process
One of our core competencies is working with our clients on outsourcing engagements. Extending work efforts through outsourcing can be a challenging process if it is not started in the right direction at the onset of the engagement. One of the keys to our success in this area is having a strong process for assuring the critical nature of our clients' work continues uninterupted and the benefits of outsourcings are clearly gained. We have established an Outsourcing Transition Process taking industry best practices and our years of experience to assure an outsourced engagement is set-up for success.
We are typically able to divide an outsourced initiatives into 2 general phases: Ramp-up Phase and Running Phase. We understand that each client and initiative may be unique. However, elements of the Ramp-up Phase are going to be consistent in every engagement. The Running Phase is the actual production work being completed. The Ramp-up Phase is the critical element of an outsourced engagement that drives the Running Phase and the overall success of the initiative.
Software Development Methodologies
There are a few schools of thought on Software Development Methodology from a traditional Waterfall approach to a more faced paced Agile Development approach. We have practical experience in both areas and for clients in need of a development methodology, we are equiped to assess, recommend and implemented the best Methodology for the client's needs.
- Flexible Waterfall - The most straight forward methodology we implement is a flexible waterfall approach we break up into 3 key phases of Define, Develop and Deploy. The basic premise of this methodology is to fully define a project from functional requirements, technical requirements and infrastructure needs as well as rolls and responsibilities of the actors in the initiative. The assumption is all key deliverables will allow for the software development team to successfully produce the product. The Deploy phase focuses on the deployment of the product to a customer facing audience, the channels and tasks taken to assure proper visibility of the product such as proper web analytics implementation, and the model in which the product will be supported post-production. This methodology relies upon detailed documentation and a management tier to assure all gating criteria from one phase to the next is successfully met. The flexibility of the model is adjusting the deliverables out of the define phase in accordance with the client and project. Often the flex comes in as a scale down on documentation due to resource contraints. This level of flexibility is guided by clear assumptions managed throuh an agreed upon governance structure.
- Agile Development - Many of the clients we work with deal with web based products requiring a constant state of improvement to appeal to new customers or keep current customers away from competitors. An Agile Development Methodology often works best in this type of fast paced environment. We work with and have implemented the Agile Development Methodology known as Scrum. The core focus of Scrum Development Methodology is focus on being iterative and collaborative. The iterative component of Scrum are 'Sprints' which are short bursts of software development inclusive of the product being designed, coded and tested during the sprint. The collaborative element of Scrum includes daily meetings and participation by all project members in these daily meetings.