Minimum Viable Product

Build a minimum viable product before trying to build out a complete product. A minimum viable product accomplishes the core use cases, but doesn't include non-core features. It is enough to test the product, show it off as a prototype, and gather feedback without draining your resources.

As you delve further into development, be structured in the implementation of features into the app. Before starting development on a new feature, it is important to understand its scope and time required to build it.

Next, you need to make sure that features meet the acceptance criteria or specific requirements. For example, the app may be expected to only take 1-2 seconds to load. Will this feature be able to meet that?

These two points need to be answered before a new feature should undergo development and be integrated into the app.

For simple mockups of design and user interface there is a great tool called POP, which allows you to work through simple user experience flows on your smartphone.

POP is enough to get the developer started,and further down the road tools such as
Balsamiq, Adobe Fireworks/Photoshop,Omnigraph, or even a whiteboard can be
used further to define the flow and create a more detailed design.