Applying Courage in Software Development

Job is not a place for feats. But sometimes you have to be brave to make things happen. Even if it is considered "impossible"

Jan 23, 2019 2 minutes read

Job is not a place for feats. But sometimes you have to be brave to overcome and complete that others considered impossible.

Unpaid technical debt is a typical example of the situation. It manifests poor management and/or lack of competences in the past. The original management issues, of course, have to be resolved first. Because «the fish rots from the head».

People may whine that it’s impossible to work with that legacy code and it will take a lot of time to refactor or re-implement everything properly. But you may start moving towards making things better. Step by step. One tiny step, than another one, than one more, etc.

Just starting fixing things, little by little, is itself a cure for analysis paralysis. When too much time is spent on rituals and nothing gets done — then just shut up and and start doing anything. It’s the situation SCRUM will not help you and even hurts: planning will be inaccurate, two weeks cycle is too long. Go something lightweight, like Kanban! Cancel useless meetings and start acting!

Analysis and intuition are required to identify task on a critical path, which is small enough to be completed quickly. It might be not the smallest and easiest task, but it should unblock other improvements. And when you complete it, other things will become easier. And first success will motivate your team to wake up and start other improvements.

When it’s not clear where to start with – my personal recipe is to improve repeatability. If too much hassle is required for routine steps – automate these steps. E.g. automating CI/CD makes possible to release product fast and frequently. If you’re uncertain about the software quality – automate testing.

Make one small change, then release it. Again and again. Decreasing possible release cycle from weeks to hours.

This strategy had perfectly worked out in several of my previous projects.

See Also

How Does New Oracle JVM Licensing Encourage Agility

What happened? Oracle has changed release and licensing policy for JDK: The JDK still remains completely free for use. The thing that is changing is the availability of updates to specific versions of the JDK. The only free for use in production JDK binary available from Oracle (as of JDK 11) will be the OpenJDK binaries. These will only have public security patch and bug fix updates for six months, until the release of the next version.

The Typical Mistake in Web-Service Design

Working on different projects I often see the same problems with application design.

UI-First Development

One of the challenge for start-up or any new project is to reduce amount of work yet to deliver full-featured product. Agile methodologies address this challenge on project management level. Let’s discuss one more approach to address it on architecture level: UI-first development.

logo   Never miss a story, subscribe to our newsletter