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.
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).
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
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.
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.
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