Foundations are everything in a startup. Just as the foundation of a new company's culture have to be strong so as to avoid toxicity down the line, the same applies for an organisations technology stack to avoid costly, restrictive and time-consuming issues like performance issues and dreaded technical debt. Start as you mean to go on is the mantra and with technology it is so critical.
Luckily, the cloud can now provide smaller companies with the same capabilities as the enterprise have had in the past. You can architect a solution that only uses just what it needs in the now, while making itself open to expansion and change as time passes. What you see then is an increase in technological capability and its associated cost that is in line with the functions and requirements of your business. Harmony, predictability and adaptability will follow.
The best way to get a great start is to know what you want in the first place. We have covered how that is achieved in a previous post called Decide What You Want From Your Technology Before You Start Building. When you know what you need, you can be very surgical about how you implement it. Surgical implementation means lower cost, faster time lines and more predictable development, testing and deployment phases. All good things from a companies technology perspective.
We've have always championed the idea of building simple technology to solve succinct real-world problem domains only. This ensures that your technology stack only grows in complexity as it needs to. Complexity is a silent killer for your software and technology stack. Don't let your brightest engineers over-engineer your solution to scratch an itch. Keep them humble, keep their feet on the ground and the businesses core use cases in their mind. They are not inventors, they are feature developers and features cost money to build, so they should be returning income as a result.
If you manage to keep your software and technology stack as simple as you can, you will empower your business in a number of ways. One way is that you will be free to try out new technologies at any time as you'll have a stable base to work from, with no fires raging that consume your time. Another is that you will be able to automate your software and technology stack in a way where you can add features, deploy new code, test and therefore adapt in a rapid way to anything that the business may face on a technical level. Simplicity is the key to empowerment. While you might have the urge to build from the bleeding edge, boring and stable software 1-2 years behind the curve is where the sweet spot is.
Continuous improvement is simply a way of saying that you keep an active eye on your software and technology so that you can adapt it and grow it according to the needs of your changing business. It does not mean reading and following technology trends and implementing solutions you don't need. Your technology and software needs to be robust and stable for your business. You need to be able to rely on it and have confidence in it. You need to have no fear of change in terms of your software and technology, as it will need to grow and adapt with you. If you have followed the process of knowing what you want before you build it and applied your discipline in deploying your software and technology, this will most certainly be the case. Predictability and dare we say it, boring, is the way to go. Don't chase fads, you will not need the vast majority of them. The software industry just likes to re-invent the wheel over time and new solutions are not always better the the ones that preceded them. In terms of security and stability, the bleeding edge is not the place to be. Let other early adopters test the waters and then follow in behind when things settle and are secure and tested.
The most prudent way to manage your change then is to schedule regular reviews of how youe software and technology is serving your business. If it works, and works well, do not change a thing. If you can tweak existing software to squeeze more efficiency and performance, then great, go do that. The only thing to watch is that you don't introduce unnecessary complexity before it is actually needed. Do not succumb to the planning ahead mentality of trying to build for future requirements. That is a road to technical debt. Just in time and only enough is what you are after.
As mentioned already, nothing stays the same, in life or work or business and as such adaptability and an ability to pivot and change at any time needs to be built into your software and technology processes. If you foster a culture of inquisitiveness and openness and empowerment, you will allow all sections of your business to have an input into your software and technology stack. Different areas have different needs, and their needs might need to be met with updates to software or processes. Do not shy away from this. Do not hide your technology from those that you think do not have the domain knowledge to offer quality advice on how it runs within your organisation. Software and technology in your business or organisation is there to serve, not to be pandered to. Therefore, constantly question and analyse and remain disconnected emotionally from anything software and technology related. All too often an organisation gets too attached to some technology or software and it becomes sacred and grows old, fat, slow and ends up being the primary risk point in your stack. Change often, tweak, remain at arms length and hold no loyalty to something that is not serving your organisation 100 percent.
To create a software and technology platform that serves you best, you need to grow it. It needs to integrate more and more into your daily processes. This growth can allow you to achieve something else surprising. You can shrink the unwanted parts of your business. Examples of this shrinkage can be seen in specific pain points in your process and daily activities as the software replaces manual operations and processes with some clean and simple automation. Human processes can also be affected by interpersonal issues like games and politics. By removing the control of certain processes from humans, you can shrink inefficiencies and your overall operation costs. The more you repeat this, the stronger your software and technology will become and the more you can focus on building the really important things like culture and methodologies for how you work as a collective.
We keep circling around to the same core tenets with regard to software and technology implementations and deployments in businesses and organisations. You need to have a solid foundation and you need to constantly re-evaluate what you have, so that you can adapt and change it at will, depending on what you need from it. This also means cutting parts of the stack that are not working - being disconnected emotional from it can help here as no loyalty makes cutting it out easier - and this will improve your ability and confidence to implement change and also to keep your software and technology lean and as cost effective as possible
We’re ready when you are. Simple schedule some time below and let's discuss your business.