There are no get-rich quick schemes
The days are long gone where you release an app and wait for the cash to flow in. There are millions of apps in the app stores that you have to compete with. There is no "if you build it, they will come.". For your app to get noticed, you'll need to market heavily. So, you'll need to budget for this too.
Just because you can demo it in 2 minutes doesn't make it simple
It doesn't matter if software is built to run on a mobile phone, laptop, or mainframe. It is custom developed for your needs by skilled software developers. In fact, mobile app developers have to deal with other constraints such as battery life, being interrupted by a phone call, limited capacity and screen space, etc. So, mobile app development is specialist. (yes. It can be costly).
Apps aren't "fire and forget"
Both Apple and Google update their operating systems and hardware every year. But lets look at what that means for each of these: On Apple, they actively encourage upgrades. They provide over-the-air upgrades and boast massive take up of new operating systems within weeks of launch. In addition to this, to the developer, they end-of-life older versions of the development tools, which implicitly kills off support for older versions of the operating systems. For our clients, the message here is that you have no control over what your end user is running - this is dictated by Apple, not you. This is a paradigm shift for enterprise clients in particular. On android, the release cycle is similar, but the upgrade cycle is much slower. This is because Android is shipped via OEM handset manufacturers, who don't necessarily want their handsets upgraded. On the flip side, there are many OEM handset manufacturers shipping Android handsets, so the availability of new hardware is constant. If your app uses hardware features, keeping up with testing can be difficult and costly. Your end users are going to expect that your app is kept up to date in terms of look and feel, utilising new operating system features, and working on new hardware. So think of your app as a long-term, ongoing project.
If you're using an agency to build your app, speak to them early.
You may feel like you're saving money by doing some screen ideas yourself, but rarely do we find we can work off these. Designing the user experience of an app is itself a specialist task. There are subtle differences in how screens should be presented, and how the user should navigate an app. For example, we often see mismatches between the user of modal screens versus navigation popovers. Even experienced graphic designers who have not designed apps will often get these subtleties wrong. Also consider: If you are engaging an agency talk to them about the business problems you wish to solve. Challenge them to think about solutions rather than providing your own: remember you are the expert on your business, but they are the experts on what works best on mobile. If you both bring your strengths to the project, the solution will be even better. We always find our best apps come from working with the client on the business problems over the "please-build-this-for-us" projects.