Agile Software Architects logo

Our Process

An overview of our process

demonstrating how we use frameworks, best practices and iterative development to keep software efficient and on a strict release schedule.

Frameworks

We use the Agile Scrum Framework and the Lean Framework in combination
  • Scrum Framework
    We follow a strict schedule based on the Agile Scrum Framework. Scrum gives us a set of rules to follow over a two week period (called a sprint) which results in a ready to distribute version of whichever software we are working on.
  • Lean Framework
    We use the Lean Framework in combination with the Agile Scrum Framework to ensure we are producing a releasable version per two week sprint. The Lean Framework describes an iterative approach to implementing features, which results in an always evolving software, constantly being improved for user experience and return on investment.

Best Practices

We use best practices across the stack to ensure quick and efficient development
  • SOLID principles
    With SOLID development practices we keep the code clean, functional and easy to use. SOLID describes a set of best practices for code implementation. It produces abstracted code which results in reusability. With reusable code we increase the development speed and efficiency. It also makes it easier for new developers to join the team as the developer can follow the patterns over having to understand the software in its entirety.
  • Continuous Integration
    CI/CD is the backbone of the two week development cycle. It is the process of automating the building, server setup and release of software. This saves a lot of time and allows us to focus on the implementation of the software. It also means there are always updating versions of the software ready for testing.
  • Test Driven Development
    With Test Driven Development we create tests alongside our implementations across the full stack. A lot of development time is spent in debugging, with tests the debugging is done for us, they pinpoint the problem and allow us to quickly fix the issue and get back to the important stuff. They are essential to keeping to our two week release cycle.

Iterative Development

A short release cycle keeps the software fresh with features and clean of bugs
  • Two Week Release Cycle
    By following the process described above, we can keep to a two week release cycle. With this quick release process the software is always being updated and improved for the users. It allows us to analyze the usage and determine what the users want and what they don’t, giving us the tools we need to plan the future releases.
  • Analytics
    Analytics are an essential part of the Lean Framework process. There is no need to guess on what features the user might want, we instead monitor the usage of the software and use that information to determine the next feature to implement. This improves ROI as there is no time spent in developing unused features. With enough data it’s possible to implement machine learning (AI) for finding usage patterns and predicting user behavior.
  • Scalability
    Scalability comes down to the efficiency of the software. By following the techniques described above, a clean and efficient piece of software is produced. It becomes really fast to implement new features, modify current features and get new developers caught up. The software becomes plug and play. With CI/CD in place, an easy to distribute application is generated, which gives a DevOps engineer time to focus on scaling cloud services over getting an application to work.