Approach And Methodology

Objective

Ampere studies the client requirements and formulated a complete roadmap detailing out the development considerations and methodology for moving the existing solution or developing a product from the scratch. We recommend clients to use cloud based solutions for more scalable and robust solutions.

The complete Objective "Ampere studies the client requirements and formulated a complete roadmap detailing out the development considerations and methodology for moving the existing solution or developing a product from the scratch. We recommend clients to use cloud based solutions for more scalable and robust solutions. We also recommend the Agile Software Development, is a set of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. The agile development methods break the tasks into small increments with minimal planning and do not directly involve long-term planning. Iterations are short time frames (timeboxes) that typically last from one to four weeks. Each iteration involves a cross-functional team working in all functions: planning, requirements analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is demonstrated to stakeholders. This minimizes overall risk and allows the project to adapt to changes quickly. An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration.

General Process Summary

Deliverables of an Assignment

Ampere follows these principles for any assignments

  • Agile SCRUM methodology for development
  • Wireframe and Final Technical Architecture Design
  • Creative assets
  • High level technical design document
  • High level project plan
  • Quality Assurance plan
  • Development technology selection
  • Post production deployment support and maintenance
  • Training

Methodology

Ampere follows Agile SCRUM methodology for software development. It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development. Scrum emphasizes empirical feedback, team self-management, and striving to build properly tested product increments within short iterations.


There are five meetings: Backlog Grooming, Sprint Planning, Daily Scrum a 15-minute standup, the Sprint Review Meeting, and the Sprint Retrospective Meeting. Every iterative delivery includes the following phases:

Approach to the Assignment

Requirement or the discovery phase

The key objective of this phase (Discovery Phase) is to ensure that a comprehensive set of functional and non-functional requirements have been documented. We also ensure that these requirements are understood by both our technical team and our client to guarantee that the requirements communicate completely without ambiguity. In an engagement, requirements are clear at high level and then we need to detail out the requirements. We propose that our resources should have discussions with project stakeholders at Client side or through Skype/Goto-meeting etc., if required, and detail out any missing or unclear requirements. During this interaction the following activities will be performed:

  • Our resources will acquire understanding of the business requirements and will document entire functionality in requirement document.

Design Phase

In conjunction with the requirements review, our resources will design the architecture. A modular approach to the detailed design will be taken in the design process to allow development tasks for those approved components to commence while design on the remaining components is completed. Besides architecture, solution design also includes creation and sharing of visual design prototypes for both web, windows and mobile app.

The key activities performed during this phase are:

Development phase

Our resources working on the application will be experience on our best practices in Coding, Version Control, Unit testing and bug fixes. Some of the salient features of our approach are mentioned below and actual artefacts are available if needed for reference.

Coding practice

Version Control

Bug Reporting and Resolution

Security Model

Backup

QA phase

This phase starts with the specification of the test plans. These plans are prepared as soon as the analysis phase is complete. After the completion of the development phase, the quality analyst determines if the software constructed meets the objectives.

This includes the business functionality, cross browser/platform testing and other technical requirements for performance. Our quality team is also equipped with development expertise to develop custom tools for automated testing. The output of this phase is a test plan document, executed test cases, quality certification document and a staged deployment of the application.

The following are the people involved in this process and their roles:

QA Manager QA Lead QA Engineer
  • Looks the overall process
  • Involved in release management
  • Involved in delivery process
  • Understanding the requirements
  • Define the scope
  • Creates the goals
  • Identify the Risks
  • Identify the test environment
  • Prepare the test plan
  • Archive test cases
  • Archive test artefacts
  • Maintains the RTM
  • Creates manual test cases
  • Collects test data
  • Review & Execute test cases
  • Analyze results
  • Log defects & Verify fixes
  • Update test cases
  • Prepare testing artefacts

Risk mitigation

After assessing the risk in a project we must control them. In order to control the risks you can use following options.

Backup and disaster recovery plan

The following is a backup and disaster recovery plan -

Training

Depending on the project requirement, Ampere does provide a training program to the client. Ampere recommends the following methods to make the training program effective: