Agile is a tried and true discipline used by software development teams worldwide with great success. In my previous article, I listed mistakes I've made in the past so you don't have to make them yourself.
My teams and I have used agile since I started in tech. It hasn't always been easy, and there's been a lot of learning along the way. Ideally, you never really stop learning, so here are five more agile mistakes you can learn from right now.
1. Mistake: It's up to employees to improve skills on their own time
Many IT companies do not pay attention to training employees. Many trainers say that they have worked hard to train employees only to have employees get poached by competitors. Should this happen, a company should reflect: Why can't I keep excellent talent?
On the surface, employees are a company's greatest asset, but enterprises regard them as components that can be replaced at any time. Software development is a design process that faces uncertainty, variability, and is not like moving bricks. Developers are not producers, but designers. The replacement cost is relatively high for the designer.
Solution: Invest as much time training talent as you invest in software development. Keeping your workforce trained achieves high morale, less turnover, and might prevent poaching.
2. Mistake: Agile is just a tool
Some companies simply define agile transformation as the use of platforms. Using Kanban and holding stand-up meetings is agile, using CI/CD tools is DevOps, buying an automated testing platform is automated testing.
For me, the most important part of agile is individuals and interactions over processes and tools. Processes and tools help you get things done faster and produce better results, but individuals and interactions are paramount. Claiming to be agile just by buying a bunch of tools is doing nothing.
Solution: Incorporate agile into individual interactions. Keep using the tools and processes, but keep the individual involved.
3. Mistake: Misusing code modules saves you from having to write more code
When a company grows to a certain size and has multiple product lines and business lines, it naturally finds that some businesses seem to be similar.
Sometimes, it appears that a problem with one product has already been solved in another, so it seems natural to "steal" code from one and retro-fit it into the other.
This sounds appealing at first. But sometimes, each product is too nuanced for a one-size-fits-all code dump.
Trying to force code to fix two different problems, and to grow along with each product as development continues, can be problematic.
Solution: To ensure that you can successfully repurpose code, write modular code designed for flexibility.
4. Mistake: Maintain strict division of functions within your team
A team is divided into several functions: development, testing, back-end development, database, operation and maintenance, architecture design, security, and so on. The result is that there are multiple handovers in the process from requirements to delivery. As you may know, a handover leads to waiting. And waiting is a kind of waste.
To maintain team agility, you must reduce handovers. In addition, a strict division of functions leads to a serious imbalance in workload, which leads to bottlenecks.
Solution: Teams should have overlapping abilities to reduce time spent waiting on another group in the pipeline.
5. Mistake: If an employee doesn't look busy, they aren't producing results
Personnel in software development are often structured in a matrix or cartesian grid configuration. The horizontal axis is the product or project, and the vertical axis is the functional team.
Many people are shared across different products and projects, which often means that an employee becomes over-saturated with work. It's hard to spot, because the employee is used in multiple products, so they have multiple to-do lists. Each list has priorities that are invisible to the other lists.
As a result, they must constantly balance priorities, leading to a loss of efficiency. And because they have multiple projects to deal with, their lack of focused effort causes delays for other people. Therefore, personnel re-use is actually the exchange of reduced business response for personnel cost efficiency.
Solution: If you want a streamlined polished product, do not stretch your workforce too thin.
Be agile
I've given you five tips on some mistakes to avoid. Don't worry, though, there are still plenty of mistakes to make! Take agile to your organization and don't be afraid of enduring a few mistakes for the benefit of making your teams better.
Comments are closed.