Good software development is hard. In a world where software is in everyday industries and scenarios such as health, food, entertainment, education, construction, art and even space exploration, creating good software has become more and more important.
However, it isn’t restricted to big companies anymore. In fact, maybe right now there is a girl creating an app for her family or a couple of friends building a product from the coffee shop across the park. To create good software what you need is a very well defined project blueprint to follow.
So, my focus in this article is to showcase, based on my personal experiences and skills, the blueprint I’m going to follow on my next’s projects starting 2018. I plan to keep this document updated so it stays relevant, so feel free to point out any recommendation you see fit.
If you want to build the next big SaaS, a classroom project or just an app for yourself, the steps portrayed here are meant to give you insights on how to do it without taking away an eagle sight of the project.
This blueprint is aimed to enhance the quality of the final product while speeding the process at the same time. To improve readability, this article is going to be split into a series of 8 parts, that way we can focus on each aspect in detail. By putting it all together, I call it: The Process.
There are going to be a handful of services and commercial software showcased here. However, I would like to point out that neither of these are endorsing me in anyway, I've just decided to involve them into the process because their solutions have worked for me very well in the past, are well designed, documented, simple to use or are very promising overall.
Now, let's dive in into an overview of each upcoming part of The Process series:
1 - The Why
Are we solving a problem? Does this problem even need a solution? Why should we invest time and money into this? Is there something else we could do instead? How can I answer these questions?
These are the things that need to be answered first, because every project, even small ones, need a purpose to be measured by. So, we are going to uncover techniques that helps us dig deeper into the why so that we can figure out the what we should focus next.
2 - Requirements
After we figure out exactly what needs to be fixed or improved, its time to spec out the solution. We’ll analyze how to organize the project into achievable milestones and document all the functionality, this way we can argue the value that in theory it should bring to the table.
To keep our solution of becoming a bloatware, we’re using an inverted cone funnel to filter out any unnecessary or low impact feature.
3 - Conceptualization
Is our proposed solution a good fit? By creating a proof of concept we will know for sure.
Here we are going to make a dummy version that envisions (see what I did there? 😉 ) the scope of our proposal to see if it aligns with our initial goals and needs. Once we’re sure, the project can move forward. Creating a good proof of concept can be tricky, but with the right tools and mindset it can clear our path, reveal new insightful information and provide measurable value to our solution.
4 -Technical Architecture
Its time to chose the technology and building blocks that are giving life to our project. This is like a blueprint that tells us where each technical part goes and how its going to be build and connected to each other.
Make no mistake, this is one of the most important phases of any given project no matter the size, so we need to make sure it addresses the core pain points in the most efficient way without slowing down the pipeline.
5 -Visual Design
How are people going to interact with our product? It needs to be a beautiful and easy to use experience for anyone.
We’re creating the user interface and design assets that will delight the people who will eventually incorporate our solution into their everyday life. Sounds pretty important right? That’s precisely why we need to make sure of making it right and create a solid first impression.
6 -Development & Testing
Time to kick in our left brain with the building blocks in an iterative circle between development and testing with a private beta group of people without technical expertise.
Certain tools and services will allow us to build a solution that serves millions from day one without sacrificing quality and testing. In technology there are lots of options for every aspect of any given digital product, in this phase I’ll highlight those I think serves us the most based on my preferences and experience, but of course, you could have your preferred set of tools and that’s fine.
We'll also put in place a good way of collecting feedback that helps us improve the product without slowing us down unnecessarily.
7 - Distribution
How are people going to acquire your product? Are there ways to make others aware of it without using growth hacks or manipulation techniques? Maybe
We’ll explore how to grow the number of customers for a brand new project, after all, we put a lot of effort from conception to development to make it happen. If this is going to fail, obscurity shouldn't be the reason.
Want to Collaborate?
I’ll be doing the series by building a real-life project to showcase the benefits. Do you have a project idea that would love to see come to life but don’t have the resources or skills to make it happen? Shoot me an email and we’ll create it together with the only condition that I can document all of the steps for The Process series. I’ll be receiving project requests until January 18, after that Part 2 - The Why will be out explaining the thing we’re looking to solve and, of course, why we are doing it.
Reach out to me with any project idea. However, I’ll be giving priority to those that solve something or are unique in someway. I’m not interested on building the next Instagram, Uber or Snapchat.