With over 20 years of software development experience, we have learned that the best approach is to adopt a collaborative methodology which involves the client in every step of the project. The following is our software development process.

Proposal

The proposal phase culminates in the client receiving a Proposal or Statement of Work (SOW). The SOW outlines the functional requirements, project plan, cost, risks and assumptions, and the rules of engagement for the client and Konverge. An Account Executive leads this phase and organises the sales team and the other resources required to produce the proposal. The Requirements Outline itemises the requirements of the Solution Concept and is appended as a schedule to future documents. Requirements are typically organised into feature sets (groups of services), or areas of functionality. Upon acceptance of the proposal by the client, the project moves into the planning phase.

Planning

The objective of the Planning Phase is to assign the Project Manager and set up the management system for the project. A stakeholder analysis is then conducted to define the roles and responsibilities of each member of the project team. The Planning Stage ends with the creation of the Project Plan showing for each resource, tasks/activities, timeframes, dependencies, and overall resource usage statistics to enable resource risk analysis. The Project kickoff meeting is then held to review the project plan with the client and introduce the Hicaliber team.

Analysis

When the Project Sponsor accepts the Statement of Work (SOW), the project moves into the Analysis phase. This phase expands on the project sponsor’s requirements and produces a Systems Requirements Specification (SRS). The analysis phase consists of the following steps:

1. System Analysis Team Formed 

2. System Requirements Specification is produced showing: 

a. Vision/Scope. 

b. Use Cases 

c. Wire Frames 

d. Solution Architecture 

3. A detailed Test Plan. 

The SRS is reviewed by the entire project team. Feedback is incorporated into the document until everyone signs off, signifying that they believe it is a precise definition of the intended Software Solution. The project then moves into the Design Stage.

Design 

The Design Phase determines the architecture and physical design of the software components needed to fulfil the solution concept’s requirements. This phase is led by the System’s Analyst and orchestrated by the Project Manager. The phase consists of the following stages: 

1. Design Team Setup 

2. Requirements Presentation Handoff 

3. System Design Document Development, including: 

a. Design Guidelines 

b. Domain Models 

c. Component Inventory 

d. Class Diagrams 

e. Design Review 

When all the design artefacts are completed the Systems Analyst submits the work to Hicalibers Software Development Manager (SDM) for review. The SDM provides feedback on areas of the design that may need further elaboration or planning before engaging the development team. The areas of the project design scrutinised are:

  • Mission-critical components to determine whether they have been designed with sufficient detail for a development team to work on.
  • Whether the design guidelines and prescribed patterns conform with Konverge’s software design guidelines. 
  • Whether or not all technical risks have been identified and communicated in the Technical Risk Management document.

This process of developing the design documents, and redesigning them, continues until they are formally accepted. The acceptance of the design documents by the SDM results in the “Core Requirements Complete” milestone.

Development 

The Development Phase creates the physical software components to satisfy the design requirements. It consists of the following stages: 

1. Development Team Formed 

2. Development Environment Network Diagram 

3. Development Environment Setup Complete 

4. Development Plan 

5. Requirements Review 

6. Technical Risk Assessment 

7. Component Development 

a. Persistence Tier Development (data repository and the code) 

b. Application Tier Development (the component’s application logic) 

8. Unit Testing 

9. Code Review

10. Component Optimization which includes: 

a. Performance Testing 

b. Peer Review 

c. Component Complete Milestone 

12. Update Project Documentation- test cases and the Development Plan 

13. Staging- deploy into the final testing environment.

QA

The QA team Passes or Fails features based on conformance to the SRS and determines if they meet the success criteria. The QA team tests to ensure that the application runs on the browsers and platforms that have been established in the Statement of Work. 

During this time the QA team and the Developers are involved in a circular process of testing the application, recording bugs, fixing the bugs and then retesting. At the end of this cycle the application is deployed to your environment or remains on the mirror environment (depending on the terms of your SOW), and User Acceptance Testing can begin. 

User Acceptance Testing validates issues specific to your business and your workflows. No matter how well we captured your requirements, the true test of the application comes when its end users test it. Sometimes a situation occurs in these tests that was not anticipated by the Project team. In these cases the issues are addressed before the testing continues or is restarted. 

On completion of this phase the milestone “Development Complete” is reached and the project moves to the Stabilisation phase.

Stabilisation

The Stabilisation phase validates components against the requirements, identifies defects and reports them to the development team. 

The Stabilisation phase typically progresses through the following stages: 

1. Designing the Quality Control Environment 

2. Executing the Test Cases for each component 

3. Resolution of all issues arising from the tests 

4. “Declaring components “Stable” 

5. The performance, reliability and load capacity of the system as a whole is then tested

6. The results of the Performance/Load test are reviewed 

7. If satisfactory, the system is declared Stable and is pronounced ready for release to the client.

Deployment 

The Release Phase deploys the software into the production environment and ensures a smooth transition into the hands of the end-users. During this phase the following takes place: 

1. The Release Team is formed 

2. A Delta Analysis is conducted to measure differences between this release and its predecessor. 

3. Release Notes are Developed 

4. The Deployment Package is finalised 

5. The Deployment Package is installed Once the system is declared operational it moves into Maintenance mode. 

Maintenance

During Maintenance, the system: 

1. Any defects are corrected in a timely and comprehensive manner. 

2. New features and enhancements are discussed and implemented as needed, according to the wishes of the client.

Lessons Learned 

On acceptance of the completed project, the team revisits the project from the beginning. The Project Manager compiles a list of all the successes and issues that occurred during the life of the project. This is an open discussion designed to improve the process and benefit the clients

Category Software

About Hicaliber

We are passionate about creating digital platforms for our clients that turn prospects into profits. We develop products that seamlessly connect websites and software systems together with the aim to improve the flow and management of data in any business. Interested?

Related Articles

In today’s rapidly evolving marketing landscape, the importance of rich data cannot be overstated. Brands must not only capture customer…

In the fast-paced world of business, staying competitive and delivering exceptional customer experiences is paramount. To achieve these goals, many…

In a down market, it’s natural to want to cut costs and wait for the market to shift before investing…