This guide will arm you with insights on app or software development. We’ll walk you through the things you need to do when creating a specification document that you’ll use to communicate your idea to your team and stakeholders. If you want something to print out and send to your team, check out our app project specification creator that you can fill to build a specification document.
Create your elevator pitch!
Your elevator pitch serves as the executive summary of your project. It sets the vision and shapes the pillars of your ideas, which you need to communicate to your team who will, in turn, transform it into a tangible and usable solution. If you don’t have an elevator pitch, you’ll just run around in circles trying to explain to your team (and investors) what your app wants to do. Treat your elevator speech like a snappy 60-second spiel that articulates your idea in a way that’s easy to digest.
Define your target audience and create user personas.
User experience (UX) can make or break your project. But to ensure a good UX, you need to identify your target audience — the people you’ve intended your product for. It’s impossible to create an app for literally everyone. But it doesn’t make sense either to build an app just for one type of person. Personify your audience with a user persona — characters who represent the group of people (with shared demographics, traits, problems, and interests) who will potentially use your product.
Build user scenarios.
Instead of listing down features that may or may not be actually used, build scenarios instead. User scenarios are narratives that portray how your potential user would interact with your app in a given situation in order to achieve a goal (or fail at a task). User scenarios help you analyze if a specific feature echoes your users’ needs or is compelling enough to be included in your MVP. When creating user scenarios, try not to tell a story that portrays all kinds of users. Be explicit, and base your scenario on your user persona.
List down your app’s features.
Your app’s features will be the meat of your project specification. Your list should be based on your user persona and user scenarios. Here are some ground rules:
- Refer back to your product’s purpose. A lot features that you think are shiny and cool may turn out to be unnecessary. List down features according to your user scenarios. You can start with a high-level objective, then narrow down the features needed to achieve it.
- Prioritize your list. Check if the feature is a must-have, nice to have, or an embellishment your app can do without.
What app platform will you use?
When choosing your platform, think of where your users’ digital habits — where they will most likely be, how they access information online, what type of device they use, etc. There are several technologies and approaches you can use when building an app:
- Native iOS (Swift) and native Android (Kotlin).
- Cross-platform mobile app (React Native, Flutter).
- Mobile web app (Ionic, Xarmin).
- Progressive web app (HTML 5, React.js, Vue.js).
Configure your app’s security.
Time to market is important, but you shouldn’t compromise software integrity. You not only have legal responsibilities to bear (read: GDPR) — you need to ensure security and privacy to gain your customers’ trust.
Here are some security measures you should consider adopting:
- Follow the OWASP Top 10. Your application should check off each item on the Open Web Application Security Project’s (OWASP) Top 10 (list of security risks to applications) to achieve at least basic security.
- Use a secure payment gateway. If your app will enable financial transactions, you must use gateways that comply with the Payment Card Industry Data Security Standard (PCI DSS).
- Adopt DevSecOps. If your developers already practice continuous integration/continuous delivery (CI/CD), ask them to add automated security tests to their lint testing pipeline.
Do you have a payment option?
If you’re planning to have in-app purchases, you need to add a (secure) payment gateway. It’ll boil down to your business model (i.e., subscription-based or one-time payment), the gateway’s transaction fees, and payment methods you wish to support.
If you want it straightforward, there’s Stripe, PayPal, and Braintree. If you want more payment methods, partner with local payment gateways (most countries have their own systems and virtual/digital wallets). If you want all payment methods, integrate them one by one. If you are running a marketplace, use Braintree Marketplace, or work directly with local banks. If you’re a FinTech startup whose main customers will be in the UK and Australia, explore Open Banking and get an approval from the UK’s Financial Conduct Authority.
Use data analytics.
To foresee how well your app is going to do, look at your data. It also helps you set quantifiable goals and identify what can be improved on. The earlier you collect data, the larger and more meaningful the data set will be. Think through the metrics you want to track in your apps during the planning stage so that you can get the data you need as early as possible.
A common approach is to first identify the key metrics that will define the success of your app. From there, you can derive what data to track. If you’re not sure where to get started, try the AARRR framework (acquisition, activation, retention, revenue, and referral), which are metrics based on user behavior.
Will you use third-party solutions?
Instead of building your application from the ground up, you can make a balanced use of third-party solutions to help you ship your product faster. Once you’ve proven and validated your idea, you can gradually replace them with your own proprietary solutions. No solution is perfect. You have to make concessions. Weigh your decision between a faster time to market and a fully featured product.
Where (and how) will you host your app?
For startups, the default hosting option should be the cloud. The costs vary depending on the resource consumption and the cloud-native tools you use. The costs for an MVP typically range from US$60 – 150. In general, Amazon Web Services (AWS) and Google Cloud are more developer-friendly while Microsoft Azure is more compliance-friendly.
Every app project has its own unique needs.
Remember, if your only tool is a hammer, every problem will look like a nail. You shouldn’t use technologies and tools just because they’re hip and cool. Every project has its own needs and you need to prioritize on solving them.
If you want to create a project specification document to hand in to your IT or development/tech team, check out our interactive guide that will help startup founders understand some of the more nuanced concepts on app and software development.
We presented this topic as part of our series of webinars for startup communities. At Oursky, we’re all about helping entrepreneurs, creators, startup founders, and product owners in bringing their ideas to life. Get in touch with us if you’re looking for a partner to help build your next game-changing digital product!