Small Steps Forward: How We Make Small Continuous Improvements to Build Better Software Posted on Mar 03, 2022 | Kate Washut Building good software takes time. Building great software takes continuous improvements.As an agile software development company, we rely on small steps to get us to big gains: software that’s getting better and better every day.One of the questions we get asked frequently is “Does software development ever end?” The answer is slightly uncomfortable: not really.Building custom software is an ongoing process. As long as that software is in use, you should ideally keep building in more value and improving on it.This is not because there’s something wrong with it. Quite the contrary. It’s because your organization changes, the industry changes, and technology evolves. And you need your software to reflect all these changes. In fact, this is a major advantage of custom software—the opportunity to keep tweaking and improving to reflect your ever-changing needs and challenges.With this in mind, it’s important to use a software development framework that relies on incremental changes from the very beginning. The agile/scrum methodology we use at Far Reach does exactly that.Let’s take a quick look at how we use small steps forward to spark continuous improvement for better software.Using Sprints for Continuous ImprovementsThe scrum methodology relies on sprints—defined periods of time for each scrum cycle. A sprint typically lasts between one and four weeks, but we work in two-week sprints. Each sprint, we develop a defined amount of functionality that is deemed the highest priority at that time.Breaking down each major part of a software project into smaller bits (in scrum, these small bits are called user stories) helps us (and our clients) retain control over the project. When needs and priorities change, as they often do, we can pivot quickly. We are, as the framework says, agile. This helps us save time, reduce rework, and, ultimately, build better software. Moreover, this agile approach helps a lot with team morale. Completing a major milestone in a project (like launching an MVP) will take many sprints. During that time, the team and our clients need to see work moving forward to instill a sense of progress and momentum. The sprint-based approach shines a big light on each small step. It helps the entire team see every little step forward, allowing them to celebrate the little–as well as the big–wins.Growing through ChangeOne of our core values is embracing change. We know that growth only happens if we are open to giving up old habits and processes when they’re not working for us, and embracing new ones that will serve us better. Agility and fast adaptation to change are impossible without relying on small steps. We’re running a marathon, not a sprint (ironically, since we rely on sprints so much).So we take small steps to learn and grow, and that growth is reflected in our overall development process and each individual system.In addition to sprints, another major source of growth for us are retrospectives, in which the entire team sits down at the end of a sprint to discuss what went well, what can be improved, and what’s standing in the way of progress. After years of using agile/scrum, we have come to learn that no step is too small and that innovation and improvement can come from surprising places. These are some of the things that have helped us get better and better (some of them quite unexpectedly):Trying a new view, chart, or setting in TargetProcess, our project management tool, to get a different perspectiveReading and discussing a book Capturing a new metricLooking at an existing metric in a new wayTrying a new tool (even if we don’t end up using it for the long run, we learn via the process)Taking courses and attending conferencesTying it All TogetherThrough our continuously evolving processes, we gain perspective on projects in the short and long term. This approach helps us foster:Team buy-in because everybody participates and shares insightsWays to identify problems early and try solutions with lower riskContinuous, scalable improvement, with a goal of always doing even better next timeWant to chat more about small steps for big changes? Reach out. Related posts What Is an MVP and Why Is it Crucial for Agile Software Development? Our Secret Weapon: Agile Scrum What is Continuous Improvement?