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 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, mockups, details concerning integrations with external services, API documentation, required features list. Writing a reliable specification requires a 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 the 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 characterize 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 persons 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.
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.
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 users’ 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”.
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, then 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 subcontractors 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 tailor a solution 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 prioritize 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 efficient cooperation with a software house. Now it’s time to select the right service provider.
Got any questions? Don’t hesitate to email us at firstname.lastname@example.org.