: AMIRIT TECHNOLOGIES INC. :
You Are Here TECHNOLOGY SERVICES Software Development Process

Technology Services
Software Development Methodology
arrow Software Development Process
Programming
Hardware
Databases
Security
Networks & Networking
Operations and Administration

Software Development Processs

Project Kick-off

After the signoff of the contract with the client Identified individuals forms a team for a project. This team formation initiates the team building activities. We consider the investment in the team building activities helps team-members understand skills and strengths of other team members, which helps them coordinate amongst themselves with a greater effect.
The Project team identifies different roles to be performed for the development of the software along with the responsibilities of each and every team member. All the team member are provided with the latest version of the clients requirement.
Along with the client and project’s information, following documents are generally provided to start the project:

Functionality Matrix Document
Effort Estimation Document
Project Understanding and Solution Approach

Software Requirements Analysis and Management

We do a thorough analysis of customer requirements to determine needs (elicitation), address needs (triage) and document the desired external behavior of the systems (specification). If these specifications are provided by client, then the team understands these requirements and analyses the requirements for its completeness.

Different documents that are created or referred by team are:

Software Requirement Specifications
Functional Requirements Specifications
Non-functional Requirement Specifications
Requirement Clarification Documents
Project Vocabulary
Requirement Change Impact Document

Software Project Planning

Planning is one of the critical phases of the project management. It encompasses different activities like creating and reviewing the software project management plan containing high-level architecture, delivery and deployment schedules for software development, information and capacity architecture, and third-party integration activities.

While planning, especially in the software development outsourcing environment we realize the communication (or lack of it) has the biggest impact on the outcome and smooth execution of the project. To highlight and streamline the communication process Amirit prepares the communication plan which is to be approved by client at the commencement of the project. The communication plan outlines the periodicity, channel and responsibility of the communication. It also details about the overlap time (overlap of the working hours) for the real-time discussions along with the preferred timings of availability of the identified project team members and coordinators from the Amirit and client’s side.

One of the key aspects of Amirit's planning process is the risk identification and preparing plans for risks' mitigation, monitoring and management. It is the systematic process of identifying, analyzing, and responding to project risk. Amirit has developed the risk-aware (not risk-averse) culture that requires a proactive approach to the management of risks in all aspects of the organization.

Software Project Management Plan
Software Development Plan
Risk Mitigation, Monitoring and Management Plan (RMMM Plan)
Communication Plan
Project Team Structure
Project Schedule
Project Review Plans
Software Planning Data
Software Engineering Facilities and Support Tools Plan

Software Project Tracking and management

The design and execution of the project is carried out as per the decided software process model. Amirit ensures the execution of the project is as per the laid down plan and the status of the project is being communicated to the client on the regular basis. The project is monitored for the risks and anticipatory actions are taken by project coordinators under the guidance of Amirit leadership.

Amirit emphasizes on the review of the each and every activity that is being carried out. This includes reviewing the document up to code review. Different review mechanisms we generally followed are:
Peer reviews
Code Walk-through
Formal Reviews of Selected Milestones
Amirit critically looks into the requirement change control procedure. We understand and respect the real world's business fact that the requirements that were considered at the start of the project can change being the dynamic business scenario with the need to keep pace with competitors. For the requirement changes, Amirit confirms the requirement changes from client, analyses and validates the changes in requirements. Understanding the business needs, appropriate solutions are suggested. Amirit prepares the Requirement Change Impact Document to analyze the impact of the change on the different aspects of Project execution including but not limited to system architecture, design, schedule, deliverables, testing and commercials.

To facilitate the better and transparent communication on the status, monitoring and management of the project, Amirit has customized the Project management solution to fit the needs of Amirit’s client. This Project management tool is online and project coordinators and team update the current status of the project which can be viewed by client anytime from anywhere. Documents that are being generated and used by project team are:

Project Status Reports
Meeting-Minutes, Communication Log
Revisions of Software Development Plan
Requirement Change Impact Document
Project Coding Standards and Code Repository
Project Tracking and Recording Procedures
Amirit Project manager

Software Quality Assurance

Organization wide, Amirit has implemented the project management and development follows the best industry practices. We have compiled the best practices from SEI-CMM level 5 and Six Sigma Methodology and constantly work towards optimizing our processes and reducing defects.

The Quality Management System (QMS) is based on the ANAAR philosophy, which focuses on the customer satisfaction, results through processes and the involvement of each of the team member. While a project is being executed at Amirit, Amirit follows a set of documentation, project development methodology and testing techniques, some of those are as follows:

Software Quality Assurance Plan
Policy for Implementation of SQA
Deviations in Software Activities and Software Work Products Procedure
SQA Participation Procedure
SQA Reports
SQA Reviews Procedure

Software Configuration Management

We understand software development as a process where bugs are inevitably injected in the application, under development, when software is modified. Under such incremental change scenario of code development, version controlling becomes one of the important aspects of software development process. Same is true for documents and reports that are prepared in project development and testing phase of the project and are frequently updated and referred.

The configuration management of the project specific documentation and code is planned and executed by an identified responsible project team member. Documentes created and used by team members other than the configuration management tools are:

SCM Activities Plan
SCM Policy
Changes to Baselines Procedure
Software Baseline Library Product Creation and Release Control Procedure
Configuration Items/Units Status Review Procedure
Standard Software Configuration Management Reports

Testing

After the various components are developed, they are integrated and rigorously tested as a complete solution. Application behavior is compared with the initial specifications and any deviations are identified and corrected.

The testing team also validates the bugs received from client, if any, at the trial implementation phase of the project. A thorough regression testing is done to ensure all the test-cases are being passed and the testing approach and schedule is as per the Test plan.

Functionality Testing
Integration Testing
Usability Testing
Performance Testing

Release

After the project is completed, it is deployed across an enterprise by working closely with its internal IT team and training is imparted to the end-users of the system.

While delivering the application in the production environment (final release) Amirit provides the delivery-kit which includes the set of all the latest documents designs and the code as per contractual arrangements.

Enterprise-wide Deployment
End-user Training
System/Helpdesk Training
Documentation Handover
Known Issues

Maintenance

Our maintenance phase covers steady-state system health maintenance including database, application and network maintenance. Application feature enhancements whenever requested by client are planned and are developed and executed as with the consideration of the existing system and its existing data.

System Health Maintenance
Feature/Application Enhancements