Why your 'simple' software change takes 8 hours instead of 30 minutes
Small software changes often take longer than expected. This post breaks down the hidden complexity behind simple requests in custom internal tools.
Businesses continually seek to leverage the latest tools to create products and services that meet unique requirements. One of the most exciting developments in this space is the emergence of no-code platforms like Bubble, allowing developers to create software applications without requiring extensive coding knowledge.
At our Bubble agency, we have developed a robust process for developing software applications using Bubble.
In this article, we’ll walk you through our approach to development, from the initial discovery call to the final stages of testing.
Finding the right Bubble agency is challenging. Knowing which questions to ask during the discovery process can be confusing, and – most importantly what to expect once the project begins.
And if you already have some experience, you want to ensure that your business is getting the best out of its work with an agency (i.e., you don’t want any hidden costs or nasty surprises).
While many Bubble agencies are raving about their portfolio, case studies, budget and timeline, none will explain their development process. It is a black box.
In this article, we aim to be transparent about the different phases of the development process and give you a breakdown of what goes into each step. So you know how we achieve results for our clients!
Related: What is a Bubble Agency
A discovery call is a brief and preliminary meeting. It is a chance for you and us to introduce yourselves, share your goals, needs, and expectations, and see how Bubble can help you achieve them.
A discovery call usually involves you (the client) and us (development team and possibly a project manager). We can do the call over Zoom, Google Meet, or any other video conferencing tool.
The goal of a discovery call is to:
A discovery call results in a general understanding of how you want to help your audience. You’ll also receive an email from us summarising the discussion’s key points and proposing the next steps.
The following steps after a discovery call may vary depending on your project’s complexity and requirements. Some possible next steps are:
This call sets the stage for the rest of the development process.
A scoping call is a detailed and in-depth meeting. It is a session where we dive deeper into your goals, needs, and expectations and map out how Bubble can help you achieve them.
A scoping call typically involves you (the client) and us (or the development team and possibly a project manager). We can do the call over Zoom, Skype, Google Meet, or any other video conferencing tool. If needed, there may be multiple scoping calls.
The objective of a scoping call is to:
The outcome of a scoping call is a clear and mutual agreement on what you want to build with Bubble and how you want to build it.
The next steps are:
A scoping call is an important part of any successful Bubble development process. It helps you align the scope and expectations of your project.
The next step is user stories.
User stories are short and simple descriptions of what a user wants to do or achieve with your product. They are written from the user’s perspective and focus on the value or benefit of using your product. They help us prioritise and plan the development based on what matters most to your users.
To write a good user story, we follow some guidelines:
Here are some examples of user stories for a blog platform:
User stories differ from product features because they focus on the user’s problem or need rather than the solution or functionality. Product features describe what the product does or how it works, while user stories describe why the product exists or who it serves.
User stories help us break down complex projects into manageable chunks that we can deliver incrementally. By writing clear and valuable user stories, we can ensure that we build products that solve real problems for real people.
We use a technique called user story mapping to organise our user stories better.
User story mapping is a visualisation of a customer’s journey with our product from beginning to end. It includes all the tasks they’d typically complete during that journey.
User story mapping helps us identify how users experience our product and what efforts will lead to the best outcomes for them. It also helps us decide what is most important, organise work into releases (delivering a new customer experience), and de-prioritise work with less user value.
To create a user story map, we follow these steps:
Here is an example of a partial user story map for a platform to host and organise events.
User story mapping helps us create a usable module by ensuring that each release delivers a complete customer experience rather than isolated features or tasks. It also helps us only allocate tasks to frontend or backend teams if we consider how they fit into the overall customer journey.
A wireframe is a visual representation of your app design. It shows the layout, structure, and hierarchy of the elements on each page of your app. It also indicates the navigation and functionality and visualises the user journey.
We use Balsamiq or Miro for creating the wireframes.
A wireframe should be:
Some best practices for creating wireframes are:
Once we have the User Stories and the Wireframes mapped out, we know the project in detail. We can now share a binding proposal with you with everything mapped out — timeline, budget, milestones and scope of work.
High-fidelity designs are detailed and realistic representations of how your product will look and feel when finished. They include colours, fonts, icons, images and interactions.
We use Figma as our design tool because it’s easy to use, collaborative, and powerful. We can also share our designs with your team and stakeholders for feedback and approval.
To create high-fidelity designs in Figma, we follow these steps:
Since we are building an MVP (minimum viable product), we focus more on function over form. This means we prioritise designing features that deliver value to our users over features that are nice to have but optional. This does not mean that our UI looks like it is from the 2000s. It will be an aesthetically pleasing design, but it won’t win any awards.
After we have finalised the user stories, wireframes, and high-fidelity designs, we are ready to start the actual development of the MVP. This is where we turn your vision into a functional web app using Bubble, a no-code platform that lets us build apps without writing code.
We use Trello to track each feature’s user stories and acceptance criteria. Trello is a tool that allows us to create boards with lists and cards that represent different tasks and stages of the development process. We can also attach files, comments, checklists, and estimates to each card.
We break down the whole project into multiple sprints (usually one or two weeks), focusing on delivering features that add value to the app. The sprints are made up of a mixture of epics combined together — so it’s not that we’ll complete design, then workflow, no.
Each sprint tackles a specific app module, so we can keep our focus sharp and drive results faster. For example, we might devote a sprint to the landing page, sign-up process, and user profile page.
Each sprint’s user stories and acceptance criteria are added to the Trello board. As the development progresses, we update the Trello board — so clients have visibility.
No successful software development can occur in radio silence. For all communication, we use Slack to discuss doubts and other questions. It is much better than communicating via email or video calls.
Once an epic is completed, we move to the next step for Testing.
Testing is a process that checks for defects and errors in the software product or application. Testing is not the same as QA, which is broader and focuses on improving the processes and practices throughout the software development lifecycle.
Testing is a reactive and corrective approach that focuses on finding and fixing the bugs and issues in the software.
One of the critical aspects of testing is using the acceptance criteria for each user story. The acceptance criteria must be met for the user story to be considered done and ready for delivery. They help to clarify the expectations and requirements, as well as to guide us in our work.
The testing team uses the acceptance criteria to perform different tests on each user story. Some of the common types of tests are:
If a user story passes all the tests, it is marked as done and moved to the next step. If a user story fails any test, it is returned to the developer for fixing.
Once a sprint is completed, we ask you to verify the epics (large features of multiple user stories) for acceptance. You can either accept or reject an epic based on their satisfaction. If an epic is accepted, it is considered part of the MVP (minimum viable product). If an epic is rejected, it is sent back to the development team for improvement.
The testing process ensures that the MVP is delivered with minimum defects and errors and meets your needs and expectations. It also helps improve the software’s quality, reliability, and performance.
Once all the epics and user stories have been tested, the MVP is marked as completed. It can now be handed over. During the handover, there are 4 things to do:
Maintenance is the last stage of our development process.
Maintenance ensures that the software product or application continues functioning correctly and efficiently after being handed over and deployed to the end users. Maintenance also involves updating and improving the software product or application to meet the changing needs and expectations.
We offer maintenance services in two ways: on-demand or retainer.
On-demand maintenance means providing maintenance services whenever you request or require them. We charge a fixed hourly rate for on-demand maintenance services.
Retainer maintenance means we provide maintenance services regularly, such as monthly, quarterly, or yearly. We charge a fixed monthly fee for retainer maintenance services. You can choose the type and level of maintenance services that suit your needs and budget.
Scope changes are inevitable in any project. They can arise for various reasons and can impact the project’s timeline, budget, quality, and deliverables.
We understand that scope changes are sometimes necessary and unavoidable. However, we also try to minimise them with the user story and wireframing step as much as possible.
We review the user stories and wireframes with you and get your feedback and approval before moving on to the development stage. We also document the scope of work clearly and explicitly in a contract or agreement that outlines the new deliverables, timelines, costs, and responsibilities. It ensures we are on the same page regarding the project’s scope.
However, we also acknowledge that some scope change is expected and unavoidable during the development process. We follow these steps to manage scope changes:
Related: How to collaborate with a Bubble agency
The level of involvement is high till the wireframe stage. Until then, we need your input to understand what we need to build and if we’re on the right path.
Most software development projects fail not because of budget, timeline or technical challenges but because of missed expectations.
It is not easy to translate what you have in mind to paper. More difficult when you have to explain it to someone else. With the user stories and wireframes, we attempt to understand the vision you have in mind.
Once we understand, you can step back, and we can start developing the product.
Work with us
Your last agency skipped the discovery phase. Here's what that costs.
See exactly how we scope and build before you sign anything.
Walk through our processContinue reading
Small software changes often take longer than expected. This post breaks down the hidden complexity behind simple requests in custom internal tools.
Learn how to write effective user stories in Bubble with this guide. Discover why user stories are important and accelerate product development.
Here's a quick guide to understanding how long your Bubble app will take to launch. Learn about the cost & time advantages compared to traditional coding.