I hope you're starting to get a feel for what's required to build an app. I'm now onto part 3 of my series on introducing concepts in product management, product development and software development. In part 1, I provided a general introduction to these concepts and in part 2, I looked at what happens at the beginning. In this post, I’ll cover what it takes to bring your product to life by focusing on the things that are involved in actually building your app.
Product Development
In product development, building your app involves “Develop” and “Test” activities:
“Develop” involves designing and building all of the components required to deliver and run your product. This is the fun stuff! Here, you take all of your requirements (what you want), you find a solution for them (how it works) and then you build it. This should not only include the technical bits for your product (see below under software development), but all of the manual processes required to support your product (e.g. customer servicing, accounting, etc) and the "administrative" things required to run a business (e.g. logos and branding, bank accounts, business registrations, terms and conditions, privacy policy, etc). These non-technical pieces are just as important as building your app - so please don't forget about them! The develop phase includes planning your testing activities as well.
"Develop" activities also includes thinking about how you want to launch your product and to whom. This will allow you to prepare things like content and advertising ahead of time. You should come up with a plan for your launch; including your launch activities and the tasks required to execute your launch. You may also want to start some prelaunch activities to get the attention of early customers. Launch activities should not be limited to marketing and PR. They should include all of the bits and pieces needed to get your business up and running as well (e.g. starting insurance, etc).
After your product and operational processes have been built, you need to make sure everything works the way that you want it to and the way it was designed to. This is what “Testing” is all about. You not only have to test "normal" scenarios but also what might happen if things go wrong. This is an important step because you don’t want your new customers to have a bad experience when using your new product! Creating and developing a proper testing process will help you to ensure that nothing gets overlooked and forgotten.
Software Development
In software development, building your product involves three activities: “Design”, “Build” and “Test”:
First though, you’re going to have to find a developer. This involves deciding how they'll fit into your team (e.g. employee, freelancer, co-founder, etc), finding the right people and getting some estimates (or negotiating a salary or equity). You may also choose to hire a UX (user experience) designer to create the screens for your app.
The “Design” phase is about coming up with the technical and functional solution for your product. The final look and feel and layout of the screens will be determined. Solutions will also be defined for the processes and functions in your app. Some other technical things will probably also be done to prepare for your app to be built – like finding a hosting site, setting up a code repository, creating developer accounts for mobile apps, etc.
It's important for you to make sure you review and approve your solution. You want to see what you app will look like and understand how it will work. It's easier to adjust things at the design stage rather than waiting until after your app has been built!
After your app has been designed, you get to the actual "Building" (finally!) Here, the developer codes your app and performs some testing on the code components. You’ll probably be required to provide the content that your app requires and if you’re building a mobile app, you may want a separate website as a marketing tool. It's also during this phase that you’ll take your solution and determine how to test it.
In large corporations, the “Test” phase is broken down into different types of testing. The technology team covers “systems”, “integration” and “performance” testing, while the business team will organise “user acceptance” and "beta" testing. A summary of each type of testing is below:
- System testing is about making sure everything within the app works correctly from a features and functions point of view.
- Integration testing is for making sure that the app talks with all other applications (think payment gateways, email automation, CRMs, etc) correctly.
- Performance testing is used to check the speed and responsiveness of the app under different conditions.
- User acceptance testing allows the business (e.g. you) to check that the app works in the way that they expected it to.
- Beta testing puts your app in the hands of "real" users so they can put it through the rigours of everyday use.
Unless you hire a full-service agency, it’s a good bet that you’ll end up doing all of the testing for your app - except for performance testing. Testing involves a different skillset from coding, so you’ll find that many developers won’t be able to do this properly.
As the business owner, you'll need to keep an eye on your development team during these activities. You're the "project manager" for your project which means you're responsible for making sure your product gets delivered! Your development agency may provide a project manager - but that will only be for the technical components. You'll still have to oversee all of the activities required to build your app - even managing your project manager!
“Design”, “Build” and “Test” activities can occur simultaneously as your product is broken down into pieces and each piece is completed before going onto the next piece. This collaborative approach often allows you to develop product components a lot faster as team members are working on something together which reduces the amount of back-and-forth time and decisions are made more quickly. However, it does require some experience with the software development process to work this way and you'll have to be a lot more involved in the day-to-day project activities.
As you can imagine, there's lots do here - not just on the technical side, but also on the business side. It's easy to feel overwhelmed. Knowledge is power though - and if you know what to expect, you're one step ahead!
Product Management
You still haven’t launched yet, so there’s not much managing that you need to do. As mentioned previously, you’ll have to put together a launch plan so that you can get those early customers on board.
.... and you're ready for lift-off (almost!)
So there your have it – you’ve built and tested your app. You should be comfortable with the way the app is working and you have completed all of the preparation activities for your launch.
In the final article of this series, I’ll look at the last phases in software and product development – the implementation and launch of your app. I'll then explore what happens next.
[last updated: April 20, 2018]