Our Process

We use agile software development and cross-functional teams to accelerate your digital products to market. We align with the principles of adaptive planning, early delivery, and continuous improvement, maintaining flexibility in our response to changing requirements throughout the development process. As communication is key to any project’s success, our business analysts, designers, project managers, and developers work closely with the client’s team from start to finish.

86753421

Step 1. Discovery

We get to know your business and your project in order to understand your development needs.
We'll work with you to develop a proposal that fits your time and budget.

Step 2. Planning

Our project managers and team leaders carefully examine the project requirements, functional
description and fine tune the development process details to ensure that all your needs are met.

Step 3. Design

Depending on its size, the software project is divided into versions and sprints, the intermediate
and final product releases are scheduled and the appropriate employees are assigned.

Step 4. Development

This is the phase where engineers get to work on writing the code for the project, carefully following
the project's requirements and adhering to schedule.

Step 5. QA & Test

Every piece of code is tested before the release. Our QA experts use manual and automatic testing to
detect and fix bugs, so your software product will be defect free for release.

Step 6. QA & Feedback

We conduct meetings with our clients to ensure the entire process is moving smoothly. Based on your
feedback we continue the development process for further changes or we move it into the deployment stage.

Step 7.Launch & Deployment

We set-up everything for the launch of your software product to market. We ensure that the software is functional,
discoverable and easy to use by your customers.

Step 8.Maintenance & Support

We offer continuous technical support for your software projects to ensure that it remains beneficial to your customers.

Below is a process-flow that outlines our typical approach to a project:

Requirements Gathering

Working physically or virtually with our clients, we discuss the initial requirements for your project. Most of our clients have pre-formulated requirements in mind before they meet with us. We’re happy to use your notes, mindmaps, sketches, and ideas to help us understand the big picture and your end goals. Once all problems are identified, we’ll establish the most suitable technology to provide you with the best results

Business Requirements Document (BRD)

Following our requirements meetings, we create a Business Requirements Document (BRD). This document outlines the deliverables necessary to complete the project and provide value and success. Our stakeholders provide concise guidelines for the BRD.

Specifications Documentation

Alongside the BSD, we collaborate with our clients to create a Functional Specifications Document (FSD) and a Non-Functional Specifications Document (NFSD. Typically, the FSD defines the behavior and/or functions, while the NSFD defines how the systems that we build should work.

Minimal Viable Product Definition

A Minimal Viable Product (MVP) is the minimal feature set required to get your project in front of your customers. This is essential as, once established, your product can receive feedback from your target market, allowing further improvements before it’s officially launched. This definition alludes to the ‘Build-Measure-Learn’ feedback loop.

This process is defined in the Lean Startup book by Eric Ries (we highly recommend this book for anyone starting a new app project).

Wireframing

During this step, our User Interface (UI) designers sketch out the important user interface elements of each of the screens of your application or customized software. This is similar to how an architect would roughly sketch a house before moving on to full design. Wireframing allows us to see how a user will interact with the system and also correct any potential barriers to their use of the system. Working with an experienced UI designer is very critical, as it saves lots of time and money later down the line.

Agile Development

At Cenango we strongly adhere to the Agile Development methodology. Why Agile? Well, Agile development is an alternative to traditional project management where emphasis is placed on empowering people to collaborate and make team decisions in addition to continuous planning, continuous testing and continuous integration. We split a project down into small parts and teams then set daily goals to accomplish those parts. Daily Scrum meetings are held to help team members report on their progress and correct any problems they are encountering. We encourage our clients to get involved by reviewing completed sections of the project and providing feedback as the project is being developed. Code is hosted on a Beta server for review and testing.

Testing and User Acceptance Testing (UAT)

To keep bugs and errors to a very minimum, we firmly believe that application testing goes hand in hand with programming and development. For almost every line of code we write, we also write a line of test code that will test the code using automation tools (automation testing). These tests are set to run automatically, and they trial various use scenarios, this way, our test engineers can catch bugs early on and eliminate them before they are released to the customer. Our testers carry out both automation testing and manual user testing. Our code is also inspected at various development stages for security vulnerabilities.

Launch & Release

Once our clients sign off on the UAT process, we then prepare the production server/s, or in most cases, we work on hybrid cloud and dedicated server environments. We take care of the setup, server optimization, and SSL certification while setting up database users and databases, and everything essential to ensure your app gets launched without unnecessary delay.