methodology

Deliver early, deliver often

At Tangent Solutions we believe very strongly in delivering value early and taking an iterative approach to software development. If we cannot target an initial deployment in four months after initiation we go back to the table and work through the scope until we can find the Minimum Viable Product.

We believe it is impossible to know the full scope and requirements of a solution during the analysis phase and many valuable lessons can be learnt by exposing the solution to the “wild” and learning how users truly want to use the system. This approach limits the risk for all parties and can help to reduce the capital expenditure required for the solution. It also limits the scope to requirements that are truly necessary and enables a potential early return on investment.

Transparency

We use established cloud project management platforms that give our clients full visibility of the project every step of the way.

Communication

We are people’s people and we take the time to build trust and relationships. Our projects are open to interrogation at any point during the process.

Process

We combine creative talent and software engineering excellence. Our methodology ensures that projects are delivered on time and on budget.

Quality

We have experienced leaders who direct high-performance teams of engineers. We focus on creating a high-quality user experience backed by high quality software and resilient and scalable architectures.

how we do it

DELIVER VALUE EARLY

The minimum viable product.

TECHNICAL EXCELLENCE

Using advanced development methodologies.

ITERATE AND COLLABORATE

Phased delivery that constantly involves our customers.

QUALITY DELIVERABLES

We get it right, on time and as per scope.

Tangent Methodology

Project delivery methodology

Tangent is a strong proponent of the agile project management methodology. Our projects make use of a unique hybrid process – N/WOW or New Ways of Working. N/WOW is based on the premise of keeping all stakeholders up to date all the time, without wasting time. This ensures that the developers are building exactly what you want, with everyone actively participating in the development process.

Our delivery methodology strives to encourage clean, high-quality code from day one - without sacrificing agility and delivery in the short term and with greater efficiencies in the medium to long term. We achieve this through rigorous adoption of industry best practices such as Test-Driven Development (TDD) and Continuous Integration and Continuous Delivery (CI/CD).

the process

Based on the business analyst and technical lead’s findings, the project manager adds stories to the Agile Scrum Board

These stories tell the developers what needs to be done in a bite-size story form that makes sense

An estimate is assigned to the story to gauge how much can be done in a sprint

Developers pick a story, assign it to themselves and start developing

At this point the project manager knows what work is being done and by whom

The developer does the work and checks into Source Control

Now the technical lead knows what was done, can check that it was done correctly and can comment on the code

Automated Builds and tests are run. If the tests pass, the changes are automatically deployed to a development environment where these changes can be signed off. Constant messaging and updates are posted to the development team collaboration platform informing analysts, testers, and the project managers that the changes are ready in the development environment

The managers and analysts can now test the work done and make sure it was done correctly and functions

This process also gives everyone the power to manage the project and not be managed by it

PROJECT
MANAGEMENT

Although we would prefer it if a project’s scope did not change from inception to delivery, we know that changes and problems do arise. To this end we use agile project management methodologies, processes, and rituals. All our project managers are certified in either scrum and/or Kanban. This approach allows us to collaborate and react quickly to changes as the effects of the conceptual requirements collide with the real-world. Developers can use it to check what work needs to be done in order of importance. Managers can use it to see project information such as what has been done, what is still outstanding, who is working on something and the estimated delivery time. Stakeholders can reorder tasks in order of importance and according to milestones.

CODE
MANAGEMENT

Git is an open source code management tool that allows developers to collaborate and work on the same solution. We create a repository where all the files for the project can be accessed. Using Git’s powerful version control we can always maintain a professional and working version of the project. This will be very important in the later stages of the project and for support thereafter.

DEPLOY
AND TEST

Jenkins is an application that helps build and test software projects continuously and automatically. We add rules to Jenkins to make sure tests are run and passed before a deployment can commence. Jenkins can be configured to automatically start the deployment process when a developer commits any changes to the project. These rules are dependent on the project’s requirements and can be set up accordingly. Jenkins can also be very helpful when wanting to generate reports or to get an overview of the project. By checking test results and deployments we can easily see the state of the code and the project.

DISCUSSION, CHAT, ALERTS
AND NOTIFICATIONS

Microsoft Teams and Slack is at the centre of all our delivery processes. These are instant messaging and collaboration services where teams can easily communicate and share files. 

Just by viewing the day’s history in a chat room we can see

What stories have been changed, started, or finished

The deployments that have been made during the day

The changes that are in the latest deployment

Any project assets that have been uploaded

Any team discussions that have occurred

OUR TECHNOLOGY STACK

@TangentSolutions


@TangentSolutions


@TangentSolutions


@TangentZA