Apptrepreneur™: The Development Process
We realize that many people (perhaps most people?) have never been involved in a software or app development project, which means that most people have no idea what really goes on in the process. This week we are explaining the steps and the players and helping potential tech entrepreneurs understand what to expect on the software or app development journey.
Who are the players?
Software Developers - These are the people who write code and turn planning and ideas into actual products (like web sites, mobile apps, backend software, databases, etc)
Graphic Designers - These guys make everything visually appealing, from selecting colors and fonts, to making sure that elements are well placed on a page, to ensuring there's enough white space for visual breaks
User Experience Designers - UX is all about workflow; making sure there are as few clicks as possible to get the user what they need or want, putting the most important elements in the most prominent place, etc
Quality Engineers/Quality Assurance Testers - Quality is all about ensuring that the hard work your designers and coders put into the product is what the end user sees, not a bunch of bugs (like missing links, buttons that do nothing, pages that don't load, and other missing functionality)
Project/Product Managers - Every team needs a quarterback; someone who sees the 1,000 foot view and can make sure everyone is on-task and communicating with everyone else
What are the steps?
Planning and wireframing - The first step is working through what the idea or product is, how it should work, what's required for prototype or MVP and what can wait until later releases. Wireframing then coalesces all of those decisions into clickable "pictures" that allow everyone to be on the same page with flow, feature set and user experience early in the project.
Design and architecture - Next we work on picking the right technology stack, designing the database and underlying methodologies, as well as looking at the "pretty" elements on the page (whether you want something "tech-y" or "new-age-y" or "pretty").
Code > Build > Test > Repeat... - Once everyone is aligned on what's being built and generally how it should look, then the code-build-test cycles begin. This cycle is repeated as many times as possible (and as often as possible) to ensure the highest quality product is produced and delivered.
Change requests - Generally change requests are things that come up during the course of the project that changes what everyone agreed to build. It could be early user feedback that shifts the product direction somewhat, or a change in the revenue model or monetization of the product that necessitates a change in the layout or workflows. These things are generally dealt with as change requests, where the impacts to budget and time are weighed with the team and the product owners make the decision about what is necessary and what can wait.
Deployment and Launch - Typically code is launched to a dev or testing environment first, and all throughout step 3 above. This gives stakeholders and team members as much time as possible as early as possible with the real product. In the case of a mobile app, something like TestFlight (on iOS) is used to distribute the app builds only to select team members for testing and potentially customer validation.
Beta testing vs production - Once the product is ready, a beta test version is usually deployed where final testing and user validation can occur. At that point the product is usually ready for launch to a wider audience into production, whether on the web in general, in the Google Play or App Store, or both.
What does it cost and how long will it take?
Software or app development projects can vary widely in terms of cost and timeline. Even the simplest, most stripped-down apps can cost $25,000-50,000 and take 3-6 months. More complex web apps or mobile apps can cost upwards of several hundred thousand dollars and take a year or more.
There are lots of articles and anecdotes posted around the Internet (searchable in Google) that try to provide averages, estimates, and guidelines for what to expect. Our experience tells us that even the best laid plans can be affected by changes that couldn't be seen ahead of time.
So the best guideline we offer our clients is to be in communication and participate actively in the process. Understand that something may appear to be a "small change", but may in fact be much larger and touch more underlying code or design or architecture than you can perceive. Understand the process, hire people you trust and who are communicating along the way, and be prepared to make decisions about scope versus timeline versus budget.
The bottom line is that the process is very complex, has many moving parts, and can be impacted by changes from many different directions at any point along the way. Being educated and working with a team of people you trust and who have a track record of successful projects (and who you can connect and communicate with effectively) will ensure that your project goes as smoothly as possible.
Interested in learning more? Check out GotAnAppIdea.com to find out about our Apptrepreneur™ Startup Program, where you can get hands-on experience in building your app or software project and see what it takes to build and run a successful startup... For a fraction of the cost and time investment!