Software developers by nature are smart and curious individuals, who tend to be excited and eager to experiment with the latest technologies and languages.
The pace of change in the world - particularly the digital world - is relentless, and we are constantly inundated with new software, ideas and procedures. The love of programming and technology and the love for change go hand-in-hand, but it can be hard to keep up. Developers can become distracted or overwhelmed by all the shiny new things that emerge, which is problematic for maintaining focus and productivity.
As curious and experimentative individuals ourselves, we understand that software development is a cycle of continuous learning. Thus, we ensure we allocate time for exploration of the shiny and the new, to maintain better control over productivity. Deliberately making time for exploratory activities helps us stay relevant so we continue to provide the best possible solutions for our customers.
In this article, we explore the ongoing demand for new skills and features in technical fields, and how Codebots uses tech spikes to maintain focus and keep projects on track.
Continuous modernisation of skills: running as fast as you can to stay in the same place.
Progress is part of the tech industry, and it is easy to get swept up in the latest gimmicks. There are always new things coming along, so you shouldn’t let the pursuit of newness consume you. If you are selective in your pursuit of new skills and features, you may find yourself a better developer for it. Attempting to immerse yourself in the newest technologies is merely running as fast as you can to stay in the same place.
Developers have been likened to magpies in their fascination with the shiniest new tool on the market, and training this instinct can be a challenge. The eagerness is often grounded in a practical need, to solve problems better or to upskill, but if you chase every new idea, it is easy to lose track of what is best for the business and the customer.
The key is to ensure you keep the user in the front of your mind. Who cares what technology you are using if the user is unhappy? Continuously modernising your skills is important though, and sometimes there are far better methods of doing things.
That’s why Codebots uses a tech spike allocation factor. It enables teams to have allocated time to explore better methods and ideas, without impacting the progress of a project’s scope.
Codebots uses tech spikes for research and development that keeps us relevant.
It is rare to work on a software development project that doesn’t need to do anything that you have never done before, especially when you are in the earlier stages of your career. This means there is almost always a learning curve on each project. Codebots accounts for a tech spike allowance in our allocation factor to create a bank of time the development team can draw on specifically for these instances.
The tech spike allocation is used as a chance for the team to take time to research or test concepts before they estimate properly on something. Similar to the trim the tail factor, tech spike allowances can be drawn on at any time throughout software development as required.
If the development team indicates a need for it, all tasks with a risk rating higher than eight must be de-risked prior to estimations, which is almost always reduced through the completion of a tech spike.
Tech spikes are included in the development process in two ways:
- If the issue being estimated has high priority and can’t be moved to another iteration, a tech spike can slot in before the next iteration as a chance to research before estimating.
- If the issue can be moved into a later iteration, a tech spike can be put into the next iteration in its place, to avoid interrupting the development flow.
Currently, the tech spike allocation is calculated at 10% of the modifier^ on estimation, including risk allocation and trim the tail factors.
By using tech spikes for research and development of risks or new features, Codebots ensures we stay current with the latest trends, policies and procedures.