In my last post, I talked about app building being a complex process, so in this post, I want to introduce to you some of the processes and concepts that you'll need to be aware of. Building a web platform or mobile app falls under several disciplines and it’ll help your journey if you understand a bit about each one. These disciplines are:
• Product development
• Software development
• Product management
For those of you that have known me for years and haven’t figured out what I do - hopefully this will give you an answer!
Product development is all about building and enhancing products and services. This is the process that you’re going to go through to build your app. Traditionally, this process has six phases that are summarised below:
Product development is a cycle because you need to continually fix and enhance your product in order to meet the needs of your customer.
In product development, we look at the whole end-to-end customer experience – not just the product itself. Therefore, the define, develop, test and launch phases have to include all areas of your business; including sales, marketing, operations, customer support, security, legal, accounting, etc.
Product development can also follow a process called “lean startup” which considers three stages in a startup business – Problem/Solution Fit, Product/Market Fit and Scale. The goal is to first find the right solution for a particular problem. You then find the right market for the product. You only start to scale the business after all of that is done. Lean startup involves completing small “experiments” that address the first two stages. This allows you to be confident that you have the right product before you try to grow your business. While taking a different approach to developing a product, the six activities in the product development lifecycle are still undertaken. However, the product is developed over a series of iterations rather than as one big project.
Software contains one or more programs that provide instructions on how to execute a set of tasks. It is differentiated from hardware, which is the physical device where the software runs. These days, software is behind all kinds of everyday things – both on the Internet and in person. Software is what allows you to make an online restaurant reservation, view a video on your computer, get directions on your phone and pay for something at a store with a credit card.
In software development, you are generally building software to allow you to do something for someone. Software development is made up of a set of activities that form a process called the “software development lifecycle”. These activities are summarised in the picture below:
It is a cycle because after implementation, you continue to fix or enhance the software, which requires you to complete the same activities again. A project can contain one or more cycles of development.
There is an additional activity that runs across all of these other activities called project management. This is about making sure that the cycle of development is completed on time and on budget based on the defined requirements for the project.
Product management is about managing the lifecycle of a product or service from when it is first launched to when the product is no longer available. It applies to every product or service you can imagine – not just web or mobile ones. The product lifecycle has four stages, which are summarised below:
During these four stages, it’s up to the product manager to make decisions about what should happen to the product based on how it is performing. In the case of small businesses – that person will be you! Some of the decisions that need to be made might include selling the business or removing a product early if sales are not as high as expected. Alternatively, changes or additions could be made to the product to try and boost sales. On the flip side, if a product is doing well, introducing changes to a product could extend its life by creating another growth stage. As a business owner and entrepreneur, these are some of the difficult decisions that you’ll have to make for the products that you want to sell.
As you manage the lifecycle of your product, you decide what products to build and how you want to update and change that product through its lifecycle. The changes that you make to your product are executed through the product and software development processes.
Product management requires you to think about all aspects of how a product or service works and how it is delivered to your customers. This means that you have to decide how to promote it (marketing), where and how to sell it (distribution and sales), how to build it (R&D, technology, manufacturing, etc), how to deliver it (operations) and what happens when something goes wrong (customer support, technical operations). All of this has to be done with the regulatory and technological environment that you operate in (security, legal, accounting, etc). In large corporations, there are other people and teams that are responsible for these things. However, when you’re starting your own business, you usually have to take on all of these roles yourself – if you decide to start a café and your cook doesn’t show up, then you might have to take over for the day!
Fitting it all together
Product development and software development run parallel to each other to allow you to launch new products and updates. It’s important to recognise that building software is only part of what is needed to launch and run a product – the two processes need to work together.
Product management drives the ongoing need for these two processes. After your initial launch, you look at the performance of your product through it's lifecycle and you make decisions about what changes to make to it. Each change will go through all of the activities in the product and software development processes so that they can be incorporated into the product.
Over the next few posts, we’ll apply these concepts and process to building a web or mobile app - starting at the beginning.
Have any questions about these processes and concepts? Please feel free to leave me a comment below.