The project is done and in terrific speed with accuracy. I thought of taking this opportunity to express my experience with Rapidsoft Technologies... read more
Following the proven universal approach to build software
Software Development Processes/Models
We at Rapidsoft are able to provide unparalleled services to our clients because of our foolproof Implementation methodology which is based on our extensive experience, technical expertise and industry's best practices.
We pursue the Project Management approach as summarized in the figure below showing following key components:
- Process Management
- Quality Management
- Project Monitoring
Each of these is the best of Rapidsoft's best practices and a result of years of experience across countless projects over the globe. All Rapidsoft teams have access to Rapidsoft's Knowledge Management Systems and Quality Management Systems where these are stored in the form of Templates, processes for compliance, procedures to be followed and learning from past experiences.
For project execution Rapidsoft has adopted both Waterfall and Agile methodologies and applies which ever is best suited as per requirement.
The brief description of waterfall model is as follows:-
The project manager, before the start of the project, would prepare a Project Management Plan (PMP), covering:
- Scope, receivables and deliverables.
- Project organization, roles and responsibilities.
- Managerial processes including risk management, assumptions, dependencies and constraints.
- Technical process using ETVX (Entry-Task-Validation-Exit) criteria, tools and techniques.
- Project monitoring and controlling mechanisms.
- Software Quality Assurance Plan.
- Quantitative Plan including Metrics and defect prevention plan.
- Software Configuration management including baselines and change request handling.
- Maintenance Plan
- Project Schedule including WBS (Work Breakdown Structure), critical dependencies and resource allocation using tools like MS-Project.
The description of agile methodology
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
Well-known agile software development methods include:
- Agile Modeling
- Agile Unified Process (AUP)
- Dynamic Systems Development Method (DSDM)
- Essential Unified Process (EssUP)
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- Open Unified Process (OpenUP)
- Velocity tracking
Project Governance Model
Rapidsoft has strong Project Governance structure which spans – Senior Management commitment, Project Management Office, Project Execution, Organization Structure, Relationship Management, Contract Management, Resource Management, Communication Management, Issues Management & Escalation Process, Change Management, Performance Management, Information Security & IP Security etc. These are enabled through tools, such as Project portals, excel macro enabled templates etc. OMS would be provided access to many of Rapidsoft tools and templates, during the course of project execution and transparency, would be ensured.
Change Management Approach
Rapidsoft follows a well-defined Change Management Process, in tune with Rapidsoft's Quality Standards to effectively deal with requests for change.
Change to the work, cost or time scales will be made with prior written agreement by Rapidsoft. Either party may propose a change, setting out the reasons for it and any anticipated impact. The cost and estimated timeline may be increased in any such circumstances arise.
The Change may be triggered by:
- Problem Report necessitating a change
- Review Report, which has been raised during the review or testing process necessitating change
- Suggestions/Ideas that are results of Reviews or brainstorming session
- Feedback/Suggestions/Requests from client
Broadly the steps followed in handling requests for change are
|Submit Change Request||Any stakeholder in the project can submit change Request. Change request will be submitted using the Change request form and put to review of Change Control Board (CCB)||Submitter|
|Evaluate Change Request||CCB comprising of Rapidsoft project manager and Configuration Controller will analyze the change for its affect on the schedule and effort. If the change is outside the scope of contract, then CCB will submit the effort estimate and impact analysis to the Project Manager for review. CCB will also evaluate if the change is duplicate and can be rejected at this point||CCB and the client's Project Manager|
|Assign Change Request||Once the change has been approved, RAPIDSOFT project manager will include it in schedule and assign the resource to work on the change||Rapidsoft Project Manager|
|Implement Change||The assigned team member will implement the change request, and make/update the unit test cases. The implementation will also include executing unit tests||Assigned Team Member|
|Verify Change||The system testing team will verify the changes in the test release of the system||Rapidsoft Team|
|Close Change Request||Rapidsoft Project Manager will mark the change request as closed||Rapidsoft Project Manager|
Issue Management Approach
Rapidsoft believes that effective management of problems and issues is a critical component of project control and management. Problems and issues may arise during any phase of a project. Typical issues that are encountered in projects are:
- Resource constraints
- Technical problems
- Clarity of requirements
- Functional questions
- Environmental problems
- Organizational problems
- Cost and schedule overrun due to change in scope
The issues are tracked and dealt with at the lowest possible levels, and escalated to the next higher level as per need and criticality. All unresolved issues are raised during project reviews and reported in the project status report along with the following:
- Actions needed to resolve issue and action to be taken by whom
- Impacts or deadlines to be met
- Time frames or completion dates
- Evaluation of outstanding issues
The Rapidsoft project manager takes ownership of issue management process and uses the process cycle of Identification-Documentation-Escalation-Resolution-Closure for effective management of the issues.
The basic steps are summarized below:
|Issues Management Techniques|
|Identification||Analyze the problem faced and find the root cause or issue|
Classify issue as
Document issue in issue status report
Report high impact issues to all concerned within 24 hours, as well as through status report
Report low impact issues directly as appropriate and also through Status Report
Mention actions for resolution along with timeframes
Reach agreement by discussion and document the agreement and action points
Keep management informed and escalate as appropriate
|Monitoring & Closure||
Monitor progress of resolution, recheck impact if progress is slow and escalate to next higher level
Implement and close resolved issues
Initiate change management process if required
Rapidsoft Project manager is the single point of contact for the client for reporting and follow-up on any problems. A bug tracker tool is used for maintaining and monitoring problems. Periodic reports are taken and analyzed for each project.
Risk Management Approach
The objectives of software risk management are to identify, address, and mitigate/eliminate software risk items before they become threats to success or major sources of rework. Risk involves the likelihood that an undesirable event will occur, and the severity of the consequences of the event, should it occur. Risk management in RAPIDSOFT aims to:
- Identify potential problems and deal with them when it is easier and cheaper to do so - before they are problems and before a crisis exists.
- Focus on the project's objective and consciously look for things that may affect quality throughout the production process.
- Allow the early identification of potential problems (the proactive approach) and provide input into management decisions regarding resource allocation.
- Involve personnel at all levels of the project; focus their attention on a shared product vision, and provide a mechanism for achieving it.
- Increase the chances of project success.
To institutionalize the risk management process in the organization, it is made a part of regularly scheduled periodic project monitoring and control activities. Risks are usually tracked in parallel while new risks are identified and analyzed, and the mitigation plan for one risk may yield another risk.
Each risk is indexed (assigned a number based on probability & impact). These indexed risks are monitored throughout and mitigation plans are worked out once it reaches a threshold.
|Delay in approval / sign off from the client on artifacts||Schedule and project cost would be highly impacted since this project is of short duration||High||Rapidsoft and the client team should work together during the inception and design phase.|
|Significant deviations from the plan due to changes in requirements||Schedule, cost, lack of understanding between the two parties.||High||
Close monitoring by Rapidsoft of schedule slippage, to identify the causes.
Joint reviews by both parties at regular intervals as per the decided plan.
|Unbalanced work load for the team||
Schedule, cost, lack of understanding between the two parties,
Termination of the agreement.
|Low||Joint reviews by both parties at regular intervals to consider additional work, which can be done by the Offshore team.|
|More than the required time taken by the client to get sign off on Change Request or freezing User Requirements||Schedule of Deliverables, Increased Cost||Medium||
Sign Off on Change Request Note shall be done within a week of the receipt of Change Request
Initiating the User Participation for User Requirement Specification well in advance
|Infrastructure Problems at onsite||Schedule of deliverables||High||The Secretary will ensure and provide adequate and reliable infrastructure requirements of the Rapidsoft team on-site|
|Non-availability of required documentation / information||Schedule of deliverables||High||Single Point of Contact to take corrective actions on priority.|
Project Communication Approach
Email, Fax, Telephone and/or Video conferencing would be used as the communication media. Project status would be communicated (through email) to the client on a weekly basis using the Project status report template. Project status would also be discussed during weekly project review call.
Weekly Status Reports
Weekly project meetings will be carried out within the teams and customer Status Reports will be submitted as per the communication plan. Need for additional communication channels and escalation methods will be identified during the project-planning stage.
A weekly status report would be sent to the client on every Monday (or first working day of the week, in case of any holidays).
The Weekly Status report would reflect:
- Current stage of the project
- Critical Issues, if any
- Status of all Planned activities
- Unplanned activities, if any
Following that a conference call/meeting could be organized to discuss on the status report sent.
|Project Status Report||Weekly||
The following will be reported:
|Project Review Meeting||Fortnightly||The client Program Manager and the Rapidsoft Project Manager will attend the meeting. Other Rapidsoft representative will be attending based on the need of the project.|
|Special Review meeting||As and when required||The Special Review meeting would be held whenever there are issues that have some direct impact on project schedule and are required for immediate escalation without waiting for the normal review cycle.|
Configuration Management Approach
This process includes the planning and execution of Configuration Management related activities including version control, Change Management and release management. This process is followed in all phases of the project life cycle. Objective of this process is to identify items for configuration, to manage baseline, to control changes and library of configuration items, to monitor status, to perform reviews, audits and release processing of the configurable items throughout the life cycle of the project.
This process applies to all configuration baseline software items, documents software and hardware. A configuration controller is appointed for the Configuration Management activities and members of the Configuration Control Board are identified. SVN is used and is periodically backed up by the IT infrastructure teams.
Following activities are to be performed:
- Identify the project configuration item
- Identify the library structure, its contents, dependency between the configurable items and access control mechanism.
- Identify the criteria for base lining and revision to base lining.
- Identify the naming convention and labelling mechanism.
Prepare plan for configuration management activities. Configuration management plan is documented as part of the project management plan.