DELIVER EARLY, DELIVER OFTEN
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.
We use established cloud project management platforms that give our clients full visibility of the project every step of the way.
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.
We combine creative talent and software engineering excellence. Our methodology ensures that projects are delivered on time and on budget.
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
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).
THIS PROCESS ALSO GIVES EVERYONE THE POWER TO MANAGE THE PROJECT AND NOT BE MANAGED BY IT
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.
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.