Great business ideas need to be implemented and validated as quickly as possible.
Product owners should decide the minimal feature set they can get away with and act before the competition launches a similar product/feature. Yes we are talking about a minimum product.
At Apex Labs we prefer to work with MMP that refers to a minimum marketable product. Basically MMP is everything as MVP and more. Unlike MVP, MMP is also focused on User Experience of the product and how to fulfill the expectations of the target customers at large.
The keyword here is ‘early’. As we have developed many successful products, MVPs and MMPs at Apex Labs, our experience taught us that not only do our customers expect the perfect software, they want it yesterday. Here we would like to share our secret formula to success and speed in software development: DRY code and zero technical debt.
Let us explain what these principles mean to us by starting with the basic definitions.
DRY (Don’t Repeat Yourself) is a well-known, fundamental software development principle that encourages developers to reduce repetition in code.
Technical debt on the other hand is a concept introduced to explain the implied cost of taking short-cuts during software development. It’s like anything else in life: If you don’t do it properly, it will cause headaches later. As you can see there is a natural link between the DRY principle and technical debt. If you don’t apply one, you end up with the other. Let’s explore these concepts in more detail.
At Apex Labs we remind ourselves every day we must develop DRY code. For us, it’s more than just simply being able to reduce the amount of repetition in our code. It is part of our culture. Why do we do it? After all, isn't the product we are working on just an MVP or MMP? It might never see the light of day after its first release. Well, we think differently:
That’s all well and good but how do we do it? These are the enablers of DRY for us:
Hopefully, you can see why such a simple principle can encompass a wide spectrum of software development concerns for us and lower the costs now and in the future. That brings us to our next important concept.
Nobody wants to get into debt, technical or otherwise. But why do we do it anyway? Why don’t we avoid it in the first place?
That is exactly what our motivation is: we avoid the technical debt by paying it forward because it is far cheaper and easier to eliminate the issues whilst you are working on it than a few days, even weeks or months later where you have spent time to remind yourself what you or someone else was working on at the time.
Simply put: do it when it’s fresh in your mind. Following the same pattern let explore some of the reasons why striving for zero technical debt might be a good idea:
The list goes on and while you might be convinced that it can lead to wonderful results, you might also be asking yourself ‘how is this different from old, inefficient waterfall software development where you design everything upfront?’. Well, it is and it isn’t. Let us explain:
As for the enabling factors of zero tech debt, they are almost identical to DRY as we mentioned before. We won’t repeat ourselves here, but summarise: We explained how we view and implement our two code development values, DRY and zero tech debt which allows us to deliver new products at lightning speeds, with solid features and functionality, in turn leading to cost-effective and future proof solutions provided to happy customers and product owners.
Ultimately, Apex Labs approach to the development is not a set of best practices. This is the company vision. It’s about striving to do work that we all can be proud of and make partners to achieve the best results, while genuinely caring about the people we’re working with.
Record time cross-platform development is an area in which we have strong expertise at Apex Labs. Get in touch with us if you’re looking for a team of specialists to help you build cutting edge tech for your business.