The development process
At lean-forge, we're committed to assisting our partners in the development of exceptional products. With the latest release of appli.dog, we successfully built a product to aid dog trainers in their work to educate dog owners and their four-legged friends. We achieved that with the use of a web-application for dog trainers and a native Android- and iOS-app built with Flutter for dog owners.
This blog-series examines how we built appli.dog here at lean-forge.
All great products start with a great team. So we sat down to get an idea of the product and to check for good chemistry. To sum it up: The team absolutely rocks! As a product requires expertise on all levels (technical development, design, product-market fit, etc.) it is crucial to cover all areas. And this was absolutely the case, which persuaded us to start the adventure to build appli.dog. Read on to know more details!
The cooperation scenario
Building great products takes time. When creating a new app, it is crucial to cut down all the features to
"... that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the lease effort"
[taken from Eric Ries' blog]
So the first step is to check which version of the product idea fits to the Minimum Viable Product definition of the lean startup methodology. This is way easier said than done. As implementation partners, it's important that we help our customers prioritize their product development efforts. This often involves telling them what NOT to implement, which can be difficult but is necessary for making the most of their resources and achieving success. Making these decisions early in the product's lifecycle is key, as it allows for more time and flexibility to focus on the most important features and functionality. By making tough decisions and providing guidance, we can help our customers build the best possible product.
In several team meetings we discussed the requirements: How potential users might interact with the app, what data is needed when, which information is absolutely necessary to provide valuable insights and many more aspects. The more information we gathered, the more complex the app grew and the harder the decisions were to cut the features down to the absolutely minimum viable product. This is the hard part of product development. But it saves you time (and money) in the overall process and enables the team to collect information for future improvements once the app is released.
After getting a rough idea of the core features to build the MVP we sat down and designed a mockup with Figma. As engineers it's always tempting to fire up our IDEs and develop a Flutter-app right away - but we stepped back, sketched the core functionality and designed screens. We've had many productive discussions and come up with new ideas to refine the initial MVP concept and make the product usable and valuable for future users. These discussions have been essential for identifying areas where the product can be improved, and to be able to smooth out any rough edges to create a more polished and effective solution. By continuing to iterate and improve the product, we strived to add even more value for our future users.
And this process is supported best by visual prototypes to help all team members and potential users to get an idea of the product.
Above you see the screens of the app and many (many, many) comments of the team (consisting of potential users, domain experts, business analysts and developers). All sat down with the same point of view to the product and checked how the features can be optimized in functionality to the absolutely bare minimum to create value for the user of the app.
And this is the starting point for the next phase: the protoype.