sudolabs logo

18. 12. 2023

12 min read

How we deliver results within budget

We've had the privilege of working with a diverse range of clients, from ambitious startups just beginning their journey to established SMEs and large corporations with substantial budgets at their disposal. Regardless of their financial capacities, one thing remains constant: the need to align expectations with resources. This is where prioritizing becomes crucial, leading us to success in our teamwork. Today, we will share a real-world example from one of our recent projects to illustrate prioritization's pivotal role in achieving our goals.

Tomáš Kačírek

Product Manager

Features product prioritization helps deliver results within tight budget

Features product prioritization

Step 1: Kick-off meeting

A client approached us with a vision to create the very first version of their projecta Proof of Concept (PoC) designed to fit within a very tight budget. The underlying product idea was quite simple - Enable users to book tickets to visit both well-known & hidden gems of British Heritage, such as castles and other sites.

With this objective in mind, we engaged in a collaborative dialogue with our client, focusing on defining a high-level scope of features. On top of that, together with the client, we created a high-level product strategy outlining our goals: to build the first version of our product, get first user traction, demonstrate usability & collect feedback. All this is to secure additional capital from investors for future development.

Step 2: Internal alignment

Establishing internal alignment stands as the initial step in determining our approach to any project. Before delving into the transformation of a client's high-level concept into tangible designs, user stories, or the development phase itself, the foremost task was aligning the team set to embark on this project.

Our consensus revolved around adopting the guiding principle of "Setting boundaries" to ensure our discussions surrounding the final proposed solution were productive, always prioritizing features that foster agreed goals rather than raw ideas.

In this instance, we drew inspiration from the Shape Up method, crafted by the Basecamp team, and tailored it to suit the nuances of this particular project:

  • Fixed time, variable scope | A deadline forces decisions, putting tension between time, quality, and scope. As the team takes over, the fixed time box compels decisions on what is integral to the project and what falls on the periphery.

  • Good is relative | Defining the "best" solution is inherently subjective. It's contingent on constraints. Without a time limit, there's always room for improvement. Assessing what qualifies as a "good" solution depends on the timeframe we're willing to invest in and the feature’s level of importance.

  • Responding to raw ideas | By default, our response to any raw idea from our team or client is a soft “Maybe someday." This allows us to keep options open without immediately committing. Moreover, if it’s a new idea, it tends to mean that this idea goes beyond the prioritized scope, which wouldn’t help us fulfill the product goals outlined within our strategy.

  • Watch out for grab bags | Unclear ideas, especially vague "redesigns" or other changes can be problematic, lacking a focused problem or use case.

The above-mentioned cherry-picked methods helped us to set boundaries for collaboration to prioritize the final feature set, which would help us satisfy users & reach the goals we set together with our client. We committed to adhering to them internally, so we can check each other when “violating” our methods, and also when communicating with clients.

Step 3: Proposing a solution

After internal alignment and gathering information from the kick-off and first scoping call, we outlined a Core user flow, and proposed a solution with prioritized features and acceptance criteria, ensuring alignment with goals, time, and budget constraints. We made sure that the client understood all the flows including all the pros & cons and trade-offs we advised to do to fit within the budget. But did we hit the bulls-eye?

Well, fortunately, Core user flow nailed it on the first try. But does that mean, that, we didn’t need to utilize the above-mentioned prioritization method? Come on, it’s never that easy…

In the beginning, we split the whole idea into five buckets:

1. Landing page

2. House detail

3. Booking

4. Payment processing

5. Operations & back office

  1. The landing page was quite easy to grasp. Our client was satisfied with how it looked and all the parts we agreed on during our initial calls that would help us achieve our goals were there, placed in a desired way, functional, and appealing.

The first round of comments and change requests came right away and we decided to put aside these features:

  • Add a blog post feature. The client wanted us to work on a new idea - a grab-bag and raw idea at the same time — a blog post subpage. We didn’t say no straight away but explained to the client that this was totally out of scope, helping us to reach our goals in no way, but if there is some spare time at the end of the project, we might be willing to think of it.

  • Change the upper design part of the landing page, so it has more of an AirBnb-like feeling to it & filtering feature. The landing page had a navigation bar and three main parts. With the design and filter that would remind the desired experience, We counted the option that we wouldn’t nail 100% on the first try, so we decided to prepare a few more options for the top part of our landing page, also with different color schemes for the second iteration.

  • Minor design touch-ups on the grid with offered houses to visit & eventually a Load more button. Nothing serious, we took the same approach as with the point above.

  • Newsletter. While this was agreed at the beginning, it was only assuming that the whole newsletter setup is already done on the client’s side, so we only add emails to the already existing list. This turned out to be a much more complicated issue. Again, this was something we put aside the original scope, at least to a point where we’d be sure we had enough time to complete it.)

2. At first sight, especially from the design perspective, The House Detail Page looked much more complex than our Landing page. But at the end of the day, this part went smoothly, and we nailed the layouts 100% right away. The only raw idea came from our heads:

  • Google map redirection to the address where the site is located - Internally, we thought it would be nice to have a “map” feature, that would redirect the user to Google Maps, so he immediately knew where it goes. These ideas stemmed from a client’s idea to filter houses based on a location on our landing page. A raw idea, with no far-reaching added value.

3. The booking system was a part, where, right from the beginning, we did some well-needed trade-offs. We tried to simplify it as much as possible so that later, the back-office is not that complex and we’ll fit within the scope & budget. But again, our client brought up this topic while finalizing the scope.

  • More complex ticketing system (time-slot booking & one-off events)

Instead of a very basic ticket offering, the client tried to push us towards doing a much more complex (from the time & budget constraints POW) time-slot booking feature, ideally together with one-off events, that could easily endanger delivery.

  • It wasn’t a grab-bag or a raw idea, since we knew exactly what we wanted to do, but only in later phases, after the first funding round. This was agreed at the beginning as a trade-off. But again, we didn’t say harsh no, we kept it alive to some extent but agreed we’re not spending any time on this.

4. Payment processing

We used Stripe for this, explaining to the client how we’ll process and redistribute all the payouts at this stage.

5. Operations (Transactional Emails & Admin) We agreed to use a Retool as an admin interface, not building a custom one to save up time and costs. Based on the initial proposal, we shaped this part to a final version and briefed the client on how to inform houses when the booking is processed, what service we’ll use for transactional email, and how we’ll validate that tickets are real. Plenty of trade-offs here, therefore, as we moved on, the client raised some additional feature requirements:

  • Implemented CMS for managing all properties and their data by the client. Initially planned, the number of houses and the content will be pre-populated with no changes needed. After one of our discussions, it appeared that it would make much more sense to enable the client to manage house data and content. Again, a trade-off was initially agreed upon, without really knowing how exactly it should work. We kept it as a nice to have.

  • Automated sending of emails to property owners daily with a summary of admissions for the upcoming day. A feature we descoped in the beginning as a trade-off needed, but a thing that would in many aspects, simplify daily jobs for our client, so the one with a greater value. Again, in the beginning, it looked like we did not have time for it and we sacrificed it. Within this stage, even though it was brought up again, we put this enhancement on a bench.

Step 4. Bucketin’

After we presented our proposal and received the above-mentioned raw ideas & grab-bags, it took us a few more calls and around a week in total to create a prioritized MVP Roadmap, using the Shape Up method together with a classy MoSCoW prioritization technique, that we also banded over a bit to fit our nuances. The final Roadmap & Core User Flow consisted of must-haves, complemented with should-haves.

Must-haves: Core user flow & everything that was confirmed within the first proposed solution and agreed with the client. Acceptance criteria & design direction of all five parts of this app mirrored the minimum scope we agreed on, and, what is crucial, we agreed that this was the right way to achieve the goals of this endeavor set up during the first sales & kick-off calls.

Should-haves: Some of the change requests included the need to find another design for the top section part of the landing page, so it has more of an AirBnb-like feeling to it & a filtering feature based on house name, and some more.

Could-haves: We always strive for better. If there is a chance of giving clients and users more than agreed, we’ll do it but only after the Core User Flow is confirmed and working 100% & should-haves are in place. In this bucket, we put features & ideas like a bit more complex ticketing system (time slots), filtering based on amenities, adding maps for house details with a Google Maps redirection, automated sending of emails to property owners, and others.

Won't-haves: One-off events, no matter how appealing they might sound, didn’t fit into our goals at all, it would be impossible to make it within the time bound & hard-to-manage for houses in the back office & process payment for such events. Also, a Blog - separate embedded functionality, was a total grab-bag, with no real connection to our goals.

Step 5: Getting things done

Thanks to a very thoughtful prioritization, our team was able to connect the whole Core User Flow end-to-end in just three weeks. Together with regular demo meetings, we made sure the client had been aligned with the ongoing work after completing any given milestone. As we were moving forward, it seemed that there could be some more time and budget left towards the end of the project. So what did we do? Internally, we decided to propose a client, so that we could start working on the features and enhancement from the could-have(s) bucket.

Design what needed to be designed, think through how exactly the extra features should work, and discuss what added value such feature(s) could bring. The client was really happy with such information, and we put ourselves to work. Below you can see a list of all the features that went over the initially planned scope. Most of them either simplified the client’s job when managing bookings or expanded ticket offerings.

A list of features that went over the scope / Core User Flow:

  • Implemented simple pagination of properties (Load more button) and filtering by “amenities” and “featured in”

  • Implemented CMS for managing all properties and their data by client

  • Subscriptions functionality (adding user emails to Mailchimp)

  • Import of existing mailing list from Squarespace to Mailchimp

  • Time slots for tickets

  • Added map to property detail

  • Automated sending of emails to property owner daily with a summary of admissions for the upcoming day

Prioritization's continuous impact on projects we work on

Prioritization is a key concept that always guides us from the very beginning of the project up until the closure or any transition phase. Taking the example above, it accompanied our team since the first sales & kick-off calls.

Later, it enabled us to establish a mutual understanding between the inside-out team and our client, on what is crucial and what is peripheral, how we are planning to think about any proposed solution or features, and how to sort out ideas. Setting boundaries enabled us to handle time and budget carefully and prioritize our conversations, while the MoSCoW technique enabled us to sort such ideas into meaningful buckets. Prioritization is like the GPS for product development.

Here are a few ways it can simplify the process of creating digital products, especially when working on an MVP:

  1. Focus on Core Features:

    • Identify the essential features that define your product.

    • Prioritize these features to ensure they are implemented first.

    • This helps in delivering a functional product quickly, avoiding unnecessary complexity.

  2. Time and Resource Management:

    • Prioritization helps allocate time, focus, and resources efficiently.

    • By focusing on high-priority tasks, you can avoid spending too much time on less critical elements.

  3. Rapid Development and Iteration:

    • With a clear priority list, development can proceed rapidly.

    • Quick iterations become possible as you build, test, and refine the most important features first.

  4. Cost Reduction:

    • Prioritizing features can help manage costs effectively.

    • You avoid spending resources on less crucial elements, preventing unnecessary expenses.

  5. Early Release and Market Entry:

    • Prioritize features that enable a basic, functional version of your product.

    • This allows you to enter the market sooner, gaining a competitive edge and validating your idea.

  6. Alignment with Business Goals:

    • Prioritize features that align closely with the overall business strategy.

    • This ensures that every step of development contributes directly to business objectives.

  7. Avoid Feature Creep:

    • Prioritization helps in resisting the temptation to add more features than necessary.

    • This prevents feature creep, keeping the product focused and streamlined.

  8. Enhanced Team Collaboration:

    • Clearly defined priorities provide a roadmap for the entire team.

    • This alignment improves collaboration and helps team members understand the overall direction.

By discerning and prioritizing essential features, this process enables the allocation of limited resources, ensuring development efforts are concentrated where they matter most. The result is an accelerated time-to-market, allowing clients for swift market entry and invaluable user feedback at an early stage.


If you have an idea you'd like to discuss and are in need of a dedicated team of product managers, designers, and engineers ready to bring it to life, we're here to assist you. Feel free to reach out to us at [email protected] or schedule a call with our CEO, Jozef. We look forward to connecting with you.

Share

Let's start a partnership together.

Let's talk

Our basecamp

700 N San Vicente Blvd, Los Angeles, CA 90069

Follow us


© 2023 Sudolabs

Privacy policy
Footer Logo

We use cookies to optimize your website experience. Do you consent to these cookies and processing of personal data ?