So you want to build a software product?


 

October 7, 2019 | By: Adrian

So you want to build a software product?

You are at the point where you are considering an idea that requires building a new software product.  You may be looking to provide a better experience for your customers, add efficiencies to a process, or launch a problem solving idea in your industry. At TECKpert, we have built numerous software products across many different industries for our clients, partners, and even ourselves (shameless plug: CorkageFee).

This article is a primer for someone who is thinking about building a software product, but who has never gone through the process.  While we are not going to discuss the “end game” (in other words, how to make money with your product or the selling part of it  – we will save that for another post), we are going to address the “building” of the product, which can sometimes be a little intimidating at first, but a crucial step nonetheless. You will need to start with a plan. Here are some things to consider before starting the process.

First, ask yourself these questions:

  • What am I building?
  • Why am I building it?
  • Who do I need to hire?
  • What goes into developing a software product?
  • How do I measure progress and success?

Define Your Idea

This is your starting point. Define what it is that you want to build. Research similar products in the market. Most of the time, you will find competing or similar products out there.  Analyze these products and define what differentiates your idea. At this stage, you will need to state your products objectives clearly. What is its primary function? What are the things it needs to do well (or better than what is out there)? Does it need to interface with internal or external data and systems? What are the business objectives of the software product?

You will also want to list the requirements of the product. It does not have to be a formal document like a software requirements specification document engineers are used to. A well thought out and organized word document detailing how it works will be much appreciated by your product development team.

Your product most likely will need a UI (User Interface) for users to interact with it. We are users of all kinds of apps – from photo sharing apps on our phone to business productivity software at work, so you probably have a good sense for how you want things to work.  Don’t be afraid to pick up a paper and pencil, or use a familiar tool like PowerPoint to create concepts of the application.  This is a good way to communicate your vision in the early stages to your team.

Below are some basic things you will need to do before diving deeper.

Assembling Your Team

Unless you are a creative genius, product strategist, project manager, and rockstar programmer all in one, you will need a team (unless you are in which case, please check out our careers).

The majority of the cost of building your product is people. You will have to set your budget before deciding the type of people you will need.

Whether they are in-house or hired, you should plan, and choose carefully.

Start by identifying the people you will need to build it. You may have resources at your disposal, like a UX designer in your department or a colleague who has a full stack developer that wants in on your idea. Building your product will involve a project with multiple people involved.  Choosing the right people can be the difference between failure and success. Weigh your options from experience to skill, reliability, and cost to build the right team. Your options are the following:

  • In-House Resources. Building a product in a company with resources, both human and capital, at your disposal is an advantage most entrepreneurs do not have. Take stock of your idea and what team members at your organization, both in your department and outside, can contribute.  Standard procedures, industry experience, and work history are assets in the process. You will need to identify those people who have done this before. Sometimes the talent is there but the experience isn’t. And that is when you look outside to fill in gaps.
  • Development Firm. There are established and experienced firms that have a track record of doing what you need. They can show past performance in your industry or with comparable applications. These firms have processes in addition to having the talent in place to execute your project. This experience can help avoid pitfalls and provide a feedback loop to your concept at the early stage of the project. Development firms will come at a higher cost to in-house resources and freelancers. Finding a firm involves researching companies from credible sources, and using your network for referrals to compile a list of companies to request a proposal from. You will be able to then create a shortlist based on key factors ranging from cost to approach, experience, availability, and potential fit with you and your team.
  • Freelancers. Most startups begin here. Why? It’s the cheapest. Scrappy entrepreneurs go out there and get the people they need. Those entrepreneurs typically come in with a key skill set like design or programming. They fill the gaps with freelancers who can help them get their initial product build-out to market. There are drawbacks to using freelancers. They need crystal clear direction and cannot give you that critical feedback loop experienced professionals can. You will need to have your product strategy clearly defined in addition to outlining every task while being on top of the process each step. Other key challenges include reliability, as freelancers may disappear during a project and time zone differences (largest freelancer network is overseas), which can add stress to a project.
  • Hybrid  – In-House + Contingent Workforce. Another route you can go is building a team that includes employees at your company along with a contingent workforce. We define a contingent workforce as consultants, development firms, freelancers, and temporary workers (i.e. staff augmentation). We see this approach used in medium to large-sized enterprises and with more complex projects. This approach involves layers of management and consists of multiple phases, which is associated with a longer software development cycle. We have been a part of this type of team – usually because a company is building a product with many moving parts that has to be built to scale right out of the gate.

Plan the Project

When you have your team and resources in place, you will want a project plan that is well defined and broken down by phases. Each phase will have their lists of tasks and milestones with key events along the way. Milestones will be used as key points in the project to track your progress and in many cases used a mechanism to fund payments when working with outside teams. Each phase should have a clear breakdown of how time will be allocated to specific tasks. For example, designing key sections of the UI (i.e. dashboard) or development of key components (i.e. security). Throughout the different phases you will use software including Kanban boards (Trello/Jira), prototyping tools like Invision or Adobe XD, project management (Basecamp) and source control (GitHub). It is ok if you haven’t used them before but more than likely they will be essential tools you will interface with during development.

Typical phases of a project include:

  • Discovery – Start by gathering requirements used to build out specifications, mapping out user journeys, and further defining your objectives.
  • Design – Visualizing the application you want to create through wireframes and prototypes happens at this phase.
  • Development – The build phase where your developers code the application and build out the product components.
  • Testing and Iteration – A key phase to validate your application involves beta testing with key stakeholders and users.
  • QA – As you near completion, you will perform the quality assurance testing needed to go live.
  • Launch – Go live with your application!

After you launch, you’ll focus on managing the application and ongoing iteration based on user feedback and a defined roadmap, which is essential after going live. You can keep it high level or detailed depending on the nature of your application. It is important to maintain a vision about what v2, v3, and so on should look like.

Integrate into the Process

Whether you are the project manager, department head, or entrepreneur you are the reason this product is being built. You will need to be integrated in the process. Execution is key. Below are some things you will want to keep in mind along the way:

  • You’re the chief designer – Even if you have a top-flight designer, they need to capture your vision and stay aligned with the business objectives.  You will conceptualize how it looks and functions, and even give critical feedback to your design team. Most likely you will understand the ‘why’ behind why you are building this, better than most of your team. Give direction as this will enable the experienced designers to stay on course.
  • Stay Involved in development – If you are not coding it, you will feel disconnected at this stage. Don’t! Get updates from the developers. Reply promptly to their comments. Schedule weekly meetings. Dig into deliverables and milestones. This is your opportunity to learn about the tech and how its built.
  • Test as early as possible – Once your developers have something for you to work with, dive into it and give feedback. These tests usually are a precursor to a beta testing phase. Once in beta, that is the opportunity to gather feedback from a wider audience. And if you go on a public beta, interact with those testing it. In real-time if possible. User feedback is important in fine-tuning the details.
  • Iterate – As you get feedback, sort through what is real and not, as you will get many opinions. There will be things you will hear from more than one person. Identify what should be applied to your product. Fix bugs quickly and let those users know when there is an update. If you introduce a new or improved feature, communicate that with your testers. Beta testers are early adopters and can turn into advocates.
  • Launch when you are ready – Many people will say to launch quickly. There is one school of thought to push code, or “ship” nightly or on an aggressive schedule. In my experience, that way of thinking can open you up to poor performance and execution. Bad user experiences and buggy code is not going to get you happy users and adoption. So take your time and make sure your product is built right, tested, validated, and meets your business objectives before launching.

Some Final Things to Consider

Document and control your assets. Make sure your application is well documented from start to finish.  Wireframes, prototype files, software code, drawings, and any other documents that are created need to be organized and maintained. Audit all accounts needed to support your application. This includes third-party services, commercial or open source software, cloud accounts (i.e. AWS), and even your domain registrar. I have seen domains expire, cloud accounts get locked, and third party services stop for violation of terms or lack of licenses. Any of these things could disrupt the operation of your application after launch.

There is no substitute for experience. I am sure you have heard this saying before across different industries and professions. It is even truer when building a software product that involves multiple phases of business, creative, and technical processes. That is no small undertaking. Getting experienced people to contribute is valuable beyond just having the skills to do it.  Make sure you weigh this accordingly when choosing your team.

Give clear direction to your team. Building a software product is a collaborative process. You will work with your team to find solutions to challenges. The team will take direction from you and being clear in your purpose and providing the detail they need to execute is vital to the success of a project. The last thing you want is your team to go one way when you wanted to go another. This burns time and money.

And lastly, don’t exceed your budget. You can have a big budget or a small budget, freelancers, or rockstars.  But one thing you don’t want to happen is that you run out of money before you are done.  Whatever the project is expected to cost, add a contingency budget of 10%. Then make sure you have an additional cushion on top of that. Even the most well run projects run into issues.  Despite good intentions and hard work, there will be unexpected turns. So be prepared not just mentally, but financially.

If you would like to speak to us about your project, contact us and we will schedule a time to speak to one of our TECKpert’s. Ready to start? Then let’s begin by collecting your project requirements through our Project Needs Analysis form.



 
 

Need Help?

Give us a call

Talk with one of our professionals and start working with TECKpert today.

Speak With Us

Over 25 national & regional awards

2018

Communicator Award - General Manufacturing - Marmol

Communicator Award - General Lifestyle - Marmol

Daily Business Review - Best Of Internet Marketing - Ranked #2

Daily Business Review - Best Of Web Design - Ranked #2

2017

South Florida Business Journal - Top Web Design and Development Company - Ranked #2

Daily Business Review - Best Of Internet Marketing - Ranked #3

Daily Business Review - Best Of Web Design - Ranked #3

Davey Awards - Silver Award - Zilbert

2016

South Florida Business Journal - Top Web Design and Development Company - Ranked #2

Daily Business Review - Best Of Internet Marketing - Ranked #2

Daily Business Review - Best Of Web Design - Ranked #3

Davey Awards - Silver Award - CorkageFee (website)

2015

Daily Business Review - Best Of Internet Marketing - Ranked #3

Daily Business Review - Best Of Web Design - Ranked #3

South Florida Business Journal - Top Web Design and Development Company - Ranked #5

2014

W3 Awards - Silver Award - CorkageFee (Mobile Application)

Communicator Awards - Award of Distinction - ERP Maestro

Communicator Awards - Award of Distinction - AADS

Communicator Awards - Award of Excellence - TECKpert

Davey Awards - Silver Award - CorkageFee (Mobile Application)

W3 Awards - Silver Award - Hubdin

2013

Davey Awards - Silver Award - Midtown Women's Center

Davey Awards - Silver Award - MSG Law

W3 Awards - Silver Award - Leon Cosgrove

Communicator Awards - Award of Distinction - 400SunnyIsles.com

Communicator Awards - Award of Distinction - Esolist.com

Communicator Awards - Award of Distinction - CSK Mobile

2012

Interactive Media Awards - Winner for TECKpert.com

Daily Business Review - Best Of Internet Marketing and Web Design