How to Write a Brief for a Software House

avatar
Paweł Josiek, Emil Waszkowski
Project Management
cover

Finding an outsourcing company that completely meets your business needs is not that simple. But you need to know that to take on a project with a software house and cooperate effectively you have to define your goals and have a full product concept.

Here you’ll find the information straight from the horse’s mouth on what a good software house will ask before starting the work. Put all the information together and create a product brief to save a lot of time and money. We can guarantee you this works!

Wondering what should be in the brief? Let’s start with highlighting 4 things that you can send to a software house to make it clear on how your product should work.

  • The idea — The general product overview, including: goals, target users, main features, and examples of similar solutions (if available).
  • The brief should include a basic version of the specification with a defined goal, user personas, mock-ups or user stories, time frame, project status, and budget estimation.
  • The specification with all the details that a software house needs to start the development of a product immediately, should include: product goal, user personas, all user stories, wireframes, mock-ups, details concerning integrations with external services, API documentation, required features list. Writing a reliable specification requires developer’s involvement and is often done during the software application development phase.
  • Mockups are a visual representation of product functionalities on each application screen. Some screens should come with a brief description, especially when it’s a non-interactive mock-up. The main advantage of mock-ups is that they are clear enough for both business reps and developers. They are one of the best ways to confirm the assumptions and show them in action. Such presentations make it easy for a software house to estimate the costs and move to the product development activities faster.

Let’s dive deeper into each part of the perfect brief.

1. What is the project's goal?

Preparing a brief, start by precisely defining what the software application goals are. This will make product development team understand your vision better and meet all your needs. Be as specific as possible. Try not to write something like „I need a mobile app for customer support”. Be more like „I need an application to make customers check their account status by themselves, change the subscription preferences, and recharge the account on both desktop and mobile.”

The next step is to characterise the main target audience, so-called user personas. The description of an ideal customer should include demographic data, personal interests, goals and challenges. To identify the needs of your audience, define 1-3 personas who will be the right recipients of your app.

When you know your potential customers you can determine how your application will solve their problems and help them achieve their goals. Let’s take a look at the app example mentioned before — a 30-year-old corporate employee who has a family probably wouldn’t have time to visit the cell company’s store to change his mobile plan. Doing it by using a smartphone, without leaving home, is much easier, faster and way more convenient.

Wondering how to define personas for your product? Take a look at the HubSpot blog to learn the step-by-step process of creating buyer personas.

2. Define the scope of your project

OK, let’s move from general to specific information.

It’s time to determine exactly what you need from the software house and — to make it easier — create a specification. You can do this in various ways, but one of the fastest solutions is creating a product mockup. It could be, for instance, a visual presentation of functionalities on each application screen. Don’t forget to include a short function description for every screen.

If you’re looking for some useful tools (cost-free ones), see one of the Mockplus entries.

Mock-ups allow you to quickly test information architecture, navigation, and application features, even before the programming phase begins. A well-prepared specification helps the software house estimate system development costs accurately at an early stage of the project and quickly start the development process.

If you’re not sure how to design mock-ups, you can create so-called user stories, which are descriptions of how a customer persona uses the product.

The basic user story template is based on the following sentence: “As a [user], I want [what?] so that [reason/value]”. It’s easier to understand user’s needs when you put yourself in their shoes. For instance, your sentence could go like this: “As a user, I want to check my account status, so I can control my spending”. For more tips on creating an effective user story, take a look at Roman Pichler’s article.

What’s more, you should remember to write what kind of products you need. If mobile applications are part of the system include the information regarding what platforms you are interested in — iOS, Android, or maybe both? If you want to have access to the admin panel and manage the content, than a CMS (Content Management System) should be a part of the project. Also, don’t forget to mention the external integration for the product, such as payment module, etc.

You can also contact us, share the application goals and benchmark against your competitors. We will then walk you through the specification development process — from making the clickable mock-ups (linked and navigable app screens), through the API documentation, to the functional requirement specification and the first sprint backlog. To specify essential elements of your application, you can use our contact form.

3. Estimate project time

Time plays a very important role, as it defines the priorities and resources that need to be used for the project. To estimate time accurately, you need to answer the two most important questions: Do you have a specific release date for your product that you cannot exceed? When can the work on your project start?

4. Describe the current state of the project

In this section, describe the existing system components and the technology used to create them. If you’re aware of the technology, you can easily select the agencies with a proper experience.

If you already have some version of the system, identify the limitations that users and system administrators can face. Try to determine product development strategies and what exactly do you expect. All this will help the software house to recommend you the right technology to create a reliable and scalable product.

5. Introduce the project team

First, determine who’s the Product Owner — the most important person in the project, responsible for the final success. PO defines the vision and business objectives of the product, as well as the requirements, prepares the product backlog and connects all stakeholders with the development team.

Do you have a project manager and developers in your team? This is a very important point — a software house should know from the very beginning whether they will supplement your in-house team under your project manager or will they provide their own PM who will be responsible for communication, daily work planning, progress, potential risk tracking etc.

You should also inform the agency if there will be any additional subcontractor working on the project. It will help them determine the principles of effective collaboration and communication.

6. Define the budget

Note that if you define the budget in your brief, the software house will be able to extend a solution tailored to your needs. And believe us, we know that you want to know the price range before. However, you’ve probably made some assumptions, so it’s good to share them with a software house to help them prepare a better offer. They will be able to determine the project scope and recommend the best work approach.

If all the features mentioned in the specification exceed the budget, the contractor will prioritise the work and focus on the most important functionalities in the first phase. All this to meet the product goals.

All right then, you’ve already defined your goals and know what you need to start an efficient cooperation with a software house. Now it’s time to select the right service provider. Wondering where to start and what to focus on? Here’s a handy checklist that will make choosing a software house a piece of cake. Good luck!

Got any questions? Don’t hesitate to email us at [email protected].

blog comments powered by Disqus

More to discover

Best Node.js applications - Examples

avatar
Emil Waszkowski
Dev, Startups
With the total number of downloads of all Node.js versions increasing steadily, it’s only a matter of time before we see more of Node.js applications. Here are the best examples of Node.js in action.

Should you use Node.js as your backend?

avatar
Kamil Karczmarczyk
Dev
Node.js can still be treated as a fairly new technology - yet, it has already been recognised as a top-notch solution by many. Here’s whether you should use it as well.

Is there anything we can do for you?

We use cookies to enhance your experience. Read more about cookies in our privacy policy. Agree