Innovations

Our solutions driven team operates mainly in the agile environment, the changes in our environment post COVID19 have forced our organisation to embrace the agile system development methodologies and to rely on existing wisdom to simplify the development of any solution. Our highly skilled developers who have a collective experience of 20 years in system development. Had to unlearn, relearn and learn to adapt as we go. We have done the following to ensure such:

1. We have set up the development environment – Our Agile team understand that we required productivity from the first hour we engage on a project. We use SPRINT 0 to document every little thing that a developer needs to do in order to start writing code and integrating with the rest of the team’s work.
2. Automated builds – We chose to fail early and to fail forward. We have learned that manual builds are liable to be both fragile and specific to a single machine, and time lost to making those builds work is time lost to development and testing. On anything but the smallest projects, having an automated build process is essential. We realized that, even if you have to take time out to create an automated build environment, it's time you'll get back later. It also makes it simpler to ensure that we have a standardized build that everyone on a project can share.
3. Continuous integration is key - our past experience has taught us that waiting for weeks on end before we integrate code from different team members is a recipe for disaster. If you've got an automated build in place, the next thing is to go for continuous integration. A key lesson learned is, the sooner that you identify integration errors the sooner you can fix them
4. Unit testing – why not? In a highly fluid environment with multiple developers, shifting requirements and changing priorities it's essential to ensure that what worked yesterday works today. We also had challenges with integration errors. A practice (which we learned the hard way) is to use unit tests so that code changes do not break existing functionality. We also started writing unit test cases before coding.
5. Refactoring – no one person owns the code - In a traditional environment, normally an individual protects their codebase until integration, but in agile we practice code ownership - in this view all code belongs to all developers, who are free to improve the code when they feel it's necessary. Refactoring essentially boils down to code changes which improve the structure and clarity of the code without necessarily changing the functionality. A key lesson learned was to have unit tests as a safety net before refactoring the cod All of this is done with the assistance of our Business Analysts main roles is to do the following:
 Understanding managements goals and objectives
 Understanding business needs by thoroughly engaging with the client and interpreting their needs in a simple story board
 Analysing the potential impact of changes to the organisation
 Working with the ICT department to understand the potential infrastructural ramifications of process changes, training needs and maintenance needs.
 Representing customers to the Agile team
 Collaborating with Agile team members to meet the required need
You need to experience our team in order to understand our full capabilities. Our team has produced the following: