• Benjamin Puzon

How to Avoid Expensive & Painful Software Rework and Scope Changes



So you’re undergoing digital transformation or building your own startup. There are a lot of problems or challenges that your solution can solve, and there are much more ways to go about it on a software level. And that’s great, we believe in the power of software to bring positive outcomes and uplift everyone’s lives. However, once you’ve established that big idea of yours (for the custom software that you want to build), you are faced with a big question: what do you do next?

Turning an idea into an actually working solution is a process in and of itself. And it’s a very critical process. Rushing into this – or even doing away with it – is a fatal mistake for many IT/innovation managers and founders. We’ve talked to so many potential clients who would come to us with a competing/alternative software and just tell us: “we want something like this.”

Whether it’s an internal tool to automate business processes or a customer-facing solution, or a solution to work better with suppliers/vendors, you need to flesh out the details to go from an idea to custom software that actually works for your intended users. This is where software design and our design-first approach come in. If you just want to copy another software and/or:

  1. you’re comfortable not having any semblance of differentiation from competitors

  2. you’re fine with endangering your solution’s adoption

  3. you have unlimited budget and time for scope changes and rework

then you can stop reading this article and go with how you think software should be built. Otherwise, read on! 😊

While software design has a lot of aspects to it (compatibility, modularity, extensibility, etc.) – these are mainly technical concerns that we won’t touch on in this article. Why? Simply because we believe that 90% of the time, end-users don’t care about these things. Or, at the very least, they expect these things to be a given in any software that they use. What they DO fuss over are usability and interface, and that’s where great UI/UX (User Interface/User Experience) comes in. Generally, UI/UX will dictate all the other things that come into software design, because they should all work together to arrive at the desired experience for the end user.

Great UI/UX stems from human-centered design. At the end of the day, the custom software that you want to build is going to be used by humans. So why not let the humans tell you how they want to use your software, instead of you imagine how they’d go about it (and much worse, you dictating how they’d go about it)?

Whether you’re building a custom web app, a mobile app, or both – the overall experience of your end users will determine whether they will use your solution or simply revert to the old (and not to mention, inefficient) ways of doing things.

You’ve probably heard by now the notion of customer empathy or end-user empathy. It’s not really rocket science, all it means to build this is really just being in tune with what your customers and/or end-users want. In practice, smart companies undergo rounds of persona mapping, customer journey mapping, and service blueprint design, arriving at a digital roadmap. The idea behind this initial phase is to ensure that you won’t fall into the trap of building a solution that is too complex for your end users to use that takes too long and too expensive to build – leading to the doom of your solution and your digital transformation as a whole. It also lets you come up with a Minimum Viable Product (MVP) or what others call Minimum Delightful Product in the fastest and cheapest way possible, so you can iterate on your solution instead of having a huge undertaking that has a high risk of failure. This is essentially what is applied to arrive at a solution or sets of solutions in a digital roadmap.

With a digital roadmap in place, it’s time to build your solution.

But hold on, it’s not yet about writing code (whether full-code, low-code, or no-code). You first need to create your software’s UI/UX design. The information from your persona, customer journey, and service blueprint should give you all the critical information you need to design the UI/UX of your custom software. At Xamun, we use Figma to create the design of the software, but we’re working towards being compatible with other app prototyping or design tools. All design decisions – big or small – will be easier once you’ve done your homework in the previous phase. But still, it’s best to see the app for yourself via a prototype because a lot of the nuances of great software will only be realized once you see it in front of you (somewhat working). No amount of email exchanges with designers can replace the power of a design prototype.

With prototyping, you can go to the end-user(s) and have them test it out or at least have them watch a demo. Then you can get priceless feedback that can make or break your app. If it can be demonstrated to ALL user types, better, but at the very least a representative of each category of user (customer, internal team, even supplier/vendor if you’re doing a B2B2C app or a multi-sided platform). It also makes it easier for you and the development team to have a single basis for review/feedback, rather than having so many emails and direct messages to refer to during the development phase.

We’re not saying that taking a design-first approach will eliminate all scope changes or rework in the development process. At best, it can remove major changes or overhauls, and keep changes to small ones. These are easier to address and will not make a huge dent in your development timeline or budget. Traditionally, having a prototype would involve continuous coordination among you, the client, the design team, and the development team. While this is a good starting point, we believe you can do better through development automation.


What we built in Xamun is a means to directly convert Figma prototypes into HTML/CSS code and data entities. Through our proprietary software development automation tools, we are effectively taking the grunt work out of the equation and reducing the development time by at least 60%. This leaves a lot of time for you and the development team to refine the software you’re building because the foundation of the software is already taken care of.

Remember that the primary goal of your digital transformation is to create custom software that is usable and unique at a given timeframe and budget. By taking a design-first approach, you will achieve usability and uniqueness that will make users LOVE your solution. By using development automation, you will get the cost-effectiveness and timeliness to be more COMPETITIVE to your custom software. Combine both and you ultimately make your digital transformation SUCCESSFUL.

We at Xamun can make all these things happen. If you’re interested to learn more about our design-first approach and how we can help you LAUNCH custom software IN WEEKS, feel free to book a demo at www.xamun.com