From App Idea To Implementation
TL;DR
- Put together a group of stakeholders
- Talk about the pain point, the why it needs to be fixed and how an app can deliver value
- Involve an objective app expert to help you
- Talk to potential users (the target audience, if you will) about their problems and how they fix them / work around them nowadays
- Define solutions that might work by defining the Minimum Viable Product
- Create specs that you can use as a blueprint
The Full Story
I've been around the block for 6+ years now, when it comes to creating mobile applications. As as former webdeveloper I started coding native iOS apps as soon as the first iPhone 3G landed in The Netherlands.
More Than Just The Code
After creating my first tiny utility - just to get the hang of it - and completing my first full implementation cycle by succesfully publishing to the App Store, I got my chance to become a full-time mobile developer at a (then) small company.
There, I learned quickly that developing apps for customers with a specific need - whether it is a business need or an enduser's need - and that the real difference wasn't being made in just the code. It was in the part where you engage and discuss the ideas of these narrow-scoped implementations and how they might result in maximum value for those that hold your application in the palm of their hands.
Value First
It took me a year or three, switching from native development to hybrid (Cordova, later Ionic Framework) technology and then off to cross-platform development with Xamarin, to understand that creating a solution that covers most bases in a short implementation cycle was what let people check if their idea beared real potential.
Add the fact that since 2016 I listened to a lot of podcasts, audio books and read a lot of interesting stuff about The Lean Startup, user interviewing, pivoting, defining (Minimum Viable Products)[https://www.agilealliance.org/glossary/mvp/#q=~(infinite~false~filters~(tags~(~'mvp))~searchTerm~'~sort~false~sortDirection~'asc~page~1)] (MVP's) and you get where I am today.
How To Define The Core Value Of Your App
Having that spark, that idea for an app, is where it all starts. No matter if you're a manager at a corporation that wants an app to speed up and support an exsting process, a company that wants to extend their services by providing smartphone based tools, or an individual with some cash to get a mobile product going. They all need to define what it is for their app idea that provides value.
The steps that are necessary to get a basic understanding of the smallest version of your product that will provide enough value to support whatever business case are almost every time identical.
And they all boil down to understand what you want to create, for whom you're aiming to create it, and why it provides enough value to make it a viable product. These are all ingredients that let you sort out what the Minimum Viable Product (MVP) for your idea is and why it should be built.
The Steps To Find Out What To Implement
Since the last 5 years, I've given multiple workshops to coörperations, foundations and smaller companies to define their problem, how an app could be the solution for that problem, and how that implementation would look like.
Just like a blueprint helps to define the function and setup of a building, a good set of specifications for an MVP can help you to create a feasible indication of what your app is going to be about and how it is adding value.
The following steps help me to work out those things into a nice set of specifications that will guide the app idea towards the implementation.
Research The Pain Point
- Put together the people that represent all necessary parties, the stakeholders if you will (a decider from management, a security- and IT colleague to cover those bases, a user/user representative, and optionally a support employee
- Talk about the problem at hand: what is the motivator that sparked the app idea. Talk about who are experiencing the problem and how are they solving this now
- What value will an app bring along. Will it save time, open up a process because of moment/location/device independancy? Will it create more joy for an otherwise tedious process?
- Inventorise the necessary components and if they're available within the context of the app; are there systems, manual processes or knowledge available within your company, the niche or online that are of value?
- Check the complications within that same context of having to hook them up with your app idea. Does it cost a lot of effort, time, money to hook things up together?
Define the solution
- What is the minimum set of functionality that needs to be implemented to be of any use. Use Tshirt sizing or MoSCoW techniques to find out what is important and what is less important. Try to distinguish things that could be nice but can be done manually at first (password resets? data exports? ...)
- What kind of dynamic aspects require to be maintainable by non-coders? This leads to CRUD screens and administration functionality that are often required to keep the information, functionality and value in an application relevant and useful
- What would an user flow look like? Could you sketch some basic screens and line out the flow that, when put together, make up the user experience ?
- Work out all of the above so you have an overview of the necessary components, the screen outlines with the interaction flow, and functional requirements of what is minimally needed to get this implementation to provide value.
App Expertise Is Recommended
The steps are all not really complex, but they are far from easy.
One of the things that prevents most people from performing the mentioned steps correctly is their blessing as well: their knowledge.
Knowledge biasses their thinking which prevents them from looking at the problem rationally and without emotion.
Knowledge also creates blind spots which often shows when it appears to be difficult to think of innovative or fresh approaches and ideas to tackla a proces.
Another problem is both technical and conceptual: you need to know and understand what the possibilities and common sense for apps is in the current market. And what the trends are for the near future.
If you don't care much for mobile applications it can prove to be hard to understand what kind of interaction, common flows and types of usage could be used to make up a slim and easy workflow that is understandable for users of an Android version, or the iOS counterparts for that fact.
It takes practice and understanding of a platform's best practice, and an overview of the common denominators to fully understand how a functional discussion point could be best implemented into an app.
And I didn't even start to cover topics like security, regulations like the GDPR, ISO standards, best practices, accessibility, and hardware possibilities- and limitations.
By now, I think you'll agree that there are quite some aspects that might indicate it is better to involve someone with a background in app development and/or app expertise to guide you in through this process.
Get Proper Guidance
In order to get the best value of your buck, it is important to involve someone that knows how to create applications, has enough experience with discussing the problem at hand and providing solutions for similar issues.
But knowledge alone won't cut it here, either.
Find someone that you have a click with. Someone that can appreciate the character of your team of stakeholders (see the steps mentioned earlier) and who isn't affraid of asking the questions that need to be asked in order to expose the best solution for the buck and added value.
In short, some of the most important characteristics for an app expert should be:
- objective to the organisation (or at least, the stakeholders and the pain point you're trying to solve)
- experience in the app (product) development field
- someone with one eye on the technical, one on the business side of things
- an investigative person
- someone with the proper social skills who can ask harder questions without disrespecting anyone
- valuefirst mindset; looking to get the maximum value for the least effort
Talk To Potential Users
If you glue together your problem definition, the why and how an app provides value with an expert you'll have a nice starting point. Together you can work out the actions and define an MVP for your App.
One of the best resources to read for interviewing your target audience is this book: (The Mom Test by Rob Fitzpatrick)[https://amzn.to/2Iz55MK]. It gives solid advice on how to interview people without biassing them
Just keep in mind that although setting this vision on e-paper will not suffice on its own. Even when you have the most qualifed and efficiënt user-representative aboard your stakeholders team, talking to end-users will be crusial.
The definition of your app - that you will have created after hooking up with the right expert and walking through all the mentioned steps - will provide a nice blueprint that you can use to discuss with users so don't be shy of talking to users.
Don't fall into the trapp of sliding the specs and screens in front and ask if they're a good fix. Keep those behind and talk about the pain points that people are experiencing, how they fix these kinds of problems right now. And if they think there is room for improvements.
You'll be amazed about the feedback that potential users can give you regarding to the problem.
Don't assume that things provide value for the users, check them via (potential) user interviews and get to the bottom of a pain point.
Concluding
There you have it. A high overview of all the things that I would recommend anyone who is thinking about creating an app. The steps and advice that I mention in this article will prove to be useful for any organisation or individual to prepare and think about the app's origin, the value it might bring, and the minimal solution.
Don't take this information light, as you'll often find out that when it comes to creating something minimal and simple, more effort is needed to work it out properly.
If I had more time, I would have written a shorter letter - Mark Twain
Prepare your journey but most of all, go through the process. No preparation on earth will let you discover and learn what talking talking with stakeholders and your potential users will.
Let me know if you're struggling with bringing your app idea into this world. I'm an experienced developer with a #valuefirst mindset that focusses on delivering value.