Software Aligned With Vision

Approach

Build Iteratively

 

Approach to Implementation

We believe there isn’t a one best approach to project implementation. Every project is different and thereby the implementation will differ. That said, we do believe that building a system iteratively and keeping the business users constantly involved throughout the process gives us the best chance of success. Our methodology combines the best practices of Agile and Waterfall into an end 2 end software development approach.

approach.png
 

Requirements Validation

Our experience has show that details defined prior to project start can differ from the actual requirements from the project. Here is when we plan to assess the current state and understand what is needed to accomplish the project goals. We do this using the following activities as a guide.

  • Review baseline requirements

  • Identify gaps between requirements and expected future state

  • Compile list of prioritized requirements in the form of user stories/backlog items

  • Plan sprints and define sprint completion criteria

Outputs Include: Project Charter. Project Management Plan, Gap Analysis Document, User Stories/Work Items, Sprint Planning Document


Configuration Setup

Setting up the environments is a key part of setting up the project for success. An enterprise project, whether deployed to the cloud or hosted on premise requires multiple environments each serving a specific purpose. Here is when we plan, work with the infrastructure teams and setup the environments needed. At a minimum, our activities will include:

  • Setup project management site

  • Setup project requirements management site

  • Setup development/test/UAT/staging/production environment

  • Setup project code/release management process​

Outputs Include: PMO Site, Team Foundation Server Site, Development Environment, Test Environment, UAT Environment, Staging Environment, Production Environment.


Development

This is the central phase of our methodology on any enterprise application development project. This is where we actualize the requirements into a working functioning system. We do this in iterative manner where we are constantly validating the coded functionality through a series of user demos. During development, our focus is around the following activities:

  • Select user stories/backlog items for sprint

  • Conduct daily standups to address requirements/clear bottlenecks

  • Design UI based on stories

  • Develop functionality based on stories

  • Test functionality based on acceptance criteria within the story

  • UAT functionality to ensure compliance with business objectives

  • Conduct sprint retrospective

Outputs Include: Sprint Backlog, Wireframes, Software Increment, Test Scenarios, Burn-down Chart


Data Migration/Conversion

We include this phase on projects where to need to phase out any existing systems and replace it with the new application. In such cases, we move data from the existing systems into the new through a series of mock conversions and migrations. We also follow an iterative method to achieve the data conversion/migration objectives. Each mock conversion is an iteration. The activities in this phase will include the following activities:

  • Define data conversion/migration scope

  • Develop conversion approach i.e. number of cycles, scope/cycle, users to verify converted data

  • Apply conversion logic

  • Verify converted data

  • Make changes to source data

  • Provide reconciliation information

  • Repeat conversion cycle

Outputs include: Final Data Model, Conversion Specifications, Verification Samples, Data Update Items, Reconciliation Document


Testing

With the testing phase, we will aim to get the system ready for rollout. We will do this through an alpha, beta and final release. With each release we will undertake activities to ensure system functions, performance and security accreditation aspects are completed as planned. The activities include:

  • Develop End 2 End test scenarios

  • Test with converted data

  • Complete security testing

  • Complete Performance testing

  • Implement Alpha followed by Beta releases

Outputs Include: End to End Test Scenarios, Test Results/Recommendations, Security Accreditation Document, Performance Metrics/Results


Deployment

Deployment is final phase of our methodology that includes activities to complete rollout of the proposed system. We will create an deployment checklist using a formal cutover process. The activities will include:

  • Implement cutover plan

  • Implement training plan

  • Finalize code/release notes

  • Go-Live

Outputs Include: Cutover Checklist, Training Plan, Implementation Plan, Support Plan