Building Ideas Using Custom Software
There are many ways to execute on designing and developing any type of custom software. The process becomes more difficult when adding factors such as working with a team, a client needs, or time constraints. Communication between all individuals needs to be clear and consistent, with a single focus on what the end result is. Weak communication will cause long feedback loops that can waste a lot of time and apply stress to the budget. The development is helped when there is a structure and a plan to work from.
Our Discovery Process
Creating something from nothing is not easy. It takes someone thinking of an idea, along with the skill and capacity to bring the idea to life. When we have a new project, we will pitch our Discovery process. This is where we run the idea through several phases for 2 main reasons. To find the core functionality of the idea and what is the simplest way to present that to the end-user. This end result is considered a Minimum Viable Product which we call an MVP.
What is an MVP?
The MVP is an application that is efficient and is a foundation for expanding the uses of the application. We want to make sure that the MVP can stand on its own. It should deliver the desired results, with the least amount of friction to the user experience. The development process can get hung up in discussions that would focus on the trees and not the overall forest of the project. This can carry over to the construction side of things.
If broken communication continues, the product can change in many different areas. Changing the code base frequently creates opportunities for more problems. These changes can come at a cost in which we refer to as Tech Debt. It takes time to make changes to code and setting up an environment for users to test. We want to avoid work that will take away from the resources needed for the project.
Discovery Process Breakdown
All phases will have meetings and allotted time to work in between. This will would include brainstorming, designing, and development. The overall process will not advance to the next phase without client approval first.
Gathering Information – Discussions with clients to figure out their overall idea. We try to find its struggles and goals. This comes with researching the industry and competitors. We then put together options of different paths to execute on and what areas to avoid.
Design – Flowcharts and Wireframes help give the idea a face. They bridged the gap between the client and development team on what is going to be the end result. The designs might be simple but the information they hold is invaluable.
Mocks and Prototyping – Being able to see and interact with the software will give you more information. It will show you how it will perform in the intended user’s hands. It saves time to use tools to create a prototype for writing the code.
Create MVP – Having a prototype to work from, creates a road map for building out an MVP in the quickest amount of time. Once completed, the app can be tested and can be updated based on the feedback given and its priority.
This process can take several weeks which can be great for saving time on the budget and being flexible with individual schedules on checking in and meeting to review the current status as well as how to approach the next steps. This can get out of hand though. While it is nice to give extra time for brainstorming on ideas before making a decision, grinding away at details will expand the schedule and budget. Also, if a project goes on too long without consistent interaction and communication between all sides of the project, this can lead to misunderstandings and repeating of steps to get back on track.
Easy on Budget – Having scheduled meetings combined with working independently can cut down on development time.
Flexible Schedule – With multiple team members involved with the project, it is nice to have enough time to find the best meeting times for everyone to join in and give feedback.
Run Away Tasks – Since the project has time to breathe, there is a chance of miscommunication and repeated edits to help get back on track.
Take Longer Than A Week – If time is a major factor in the creation of the software, having multiple weeks to put together an MVP might not fit your desired deadline.
"Design is intelligence made visible." -- Alina Wheeler, author
The Sprint Process
The Design Sprint was developed at GV and is a five-day process for answering critical business questions through design, prototyping, and testing ideas with customers. They have since put out a book by the same name and it has since spread like a wildfire. One example of a when we used the Design Sprint process was a few weeks ago I was able to work on a project with the U.S. Air Force. The project was on figuring out a software solution that could help them track outages within their systems and create a visual layout for generals and possibly the president to use in mission decision making. To help us come to an efficient solution to this problem, the team over at Strikewerx put together the sprint using the process outlined in the book.
A small team of individuals is gathered that are related to the environment the solution would be implemented into and those who would be a part of the construction. The process is then broken up by the 5 weekdays. On Monday the group started by mapping out the core idea and discussing all possible solutions and making a game plan for the rest of the week. Tuesday through Thursday, the team compared ideas with each other and then designed out a simple prototype. On Friday the team will have a simple prototype that will be tested by a user during an interview to gather feedback and see if further development is necessary.
The design sprint is great at recognizing a problem or situation that needs to be analyzed and a solution created under a quick timeline. This is done by spending a single week focused solely on the project at hand and trying to find a simple solution on that one problem or situation. Also having tools such as Figma was a huge catalyst for showing high fidelity mockups and prototypes within a small time frame. This process is wonderful for finding solutions within a small time frame but does come with some downsides and doesn’t fit every situation.
End Result – Because the process is compacted into one week, if done right the final prototype should present a clear picture on its uses and define its goals.
Quick Timeline – If all individuals participating in the Design Sprint are available to spend a whole week on the project, knocking out a solution within a week can spend up the overall process on getting started on development for the final product.
Time Constraints – It can be hard to have a small group of people take a full week off from their daily work routine. This can cause some individuals to be apart of the process for a short time or spotty attendance.
Final Product – Having a prototype at the end of the week is nice for showing off the idea of what the final product could be like, but in the end not a working application that can stand on its own.
There will never be a perfect process to cover all cases for figuring out the best software solution for a proposed problem, but there are several processes out there to help solve issues your company or team might be facing. Both the Design Sprint and Discovery procedures, or even a hybrid of both, can aid in bringing together ideas and forming a solution. If you are planning on using a specific process or a variation of one, first you will need to review the schedule of all individuals involved and the timeline for when everything should be completed. Next will be to figure out what you would like the end product to be, whether it will be of a proof of concept or more torwards having a fully functional app that is ready for in field use. Once these items have been address, your team should have a direction on which model best suits your idea. You can always reach out to us if you need any guidance on which approach to take, we are always happy to help!