Building a product requires you to first make a plan. For example, your product is a new desktop app, which is a software downloadable and installed on a user’s desktop computer.
Create a site map for the desktop app. The site map contains a list of all the screens, and how each screen is related to other screens.
Sketch out how each screen will look. A rough sketch will suffice.
Design a database for this app. The app will have to save and store a user’s actions or documents. For more complex apps, it may require to communicate with other users who are using the same app on different computers. When that’s the case, the database can become very complicated.
Should there be some payment gateway options (such as Paypal), add it.
Assume you’re a brilliant software developer, and you’ll have no problem building this app, and testing it thoroughly to be bug free.
When you build a product, you should know you require marketing and execution. Marketing is when a group of people who are willing to pay for using your product.
In execution, you’ll have to market, sell and support your product.
Supporting does not only mean when your users hit a problem, and they asked you for a solution, and then you respond. If you plan ahead, you should’ve created an entire user onboarding process. User onboarding best practices should give you a good idea on how to support your software’s users before they start using the software.
When selling your product, you’ll first have to research and know your market. Look at competitors who have similar products. Look at the pricing they’ve set for their product.
You should know a desktop app isn’t the only option available when building a software product. A product can be a hosted web application. Basecamp is a good example. In the hosted web environment, it’s easier for you to control the recurring payments due by your users, when your product’s use is sold as monthly or yearly base pricing. The downside is that you’ll have to make sure your product have good security on the hosted web.
Since more people are using their smartphones more frequently, it also makes sense to develop an app that is totally based on mobile platforms.
Depending on the nature of the product or the use cases of your product, in some cases it may require your product to be built on multiple platforms. i.e. Your product may have a desktop version, a mobile version and a hosted web version. Keep in mind that when supporting and onboarding such a diversified product, you’ll require a lot more effort.