Typically a development programme will involve a number of core processes, each project goes through the same process but adjusted to suite the project, client, working environment and budgets. We can follow an adaptive process that may include Software Development Lifecycle(SDLC) or apply an Agile Software Development process depending on the following factors:
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
Before proceeding with any project, we will outline our expectation and the customer's expectations. We will also define the pricing model and ensure the customer understands the process.
Before any development work begins, our experienced business and systems analysts work closely with clients to clearly understand what the required outcomes and deliverables should be.
This is an important step to ensure our team fully understands our clients’ business and what needs to be achieved across a range of different requirements:
In systems design the design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems.
The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts.
Design elements describe the desired system features in detail, and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo-code, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the system in sufficient detail, such that skilled developers and engineers may develop and deliver the system with minimal additional input design.
On receiving system design documents, the work is divided in modules/units and actual coding is started. Since, in this phase the code is produced so it is the main focus for the developer. This is the longest phase of the software development life cycle.
After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. During this phase unit testing, integration testing, system testing, acceptance testing are done.
Once the test phase of each project has been completed, full training is provided for the client and once launched; we are always on hand for those more complex projects that need ongoing technical support or further developments at any point in the future.
Once when the customers starts using the developed system then the actual problems comes up and needs to be solved from time to time. This process where the care is taken for the developed product is known as maintenance.