Best way to kick off a new software project
So, you are sitting in your office and have an idea for great new tool that could help your company drive efficiency. Now what? Even experienced product owners understand that launching a new software project can be riddled with challenges. As I guy who has sold tons of software projects and seen many fall flat, let me share with you the recipe that has led to our most successful engagements.
The Project Kickoff Meeting
Often clients come to us with nothing more than an idea. We prepare them with the kickoff meeting. Our client services team at Zitbek has to work with that client to extract the idea from our clients minds and convert it to features and functionality. Here is a list of the questions we ask:
· What is the core problem you are trying to solve?
· Are there similar applications in the market today?
· What do they specifically lack and why?
· Is it a web or mobile app?
· How many different types of users / people will be using this application?
After gaining a sense of the spirit of the application, the team at Zibtek works towards mapping out the flow of the application. Here is an example of what that looks like:
Cheapest way to ideate is in design.
Often the creation of the UI/UX is where to software starts to become real. Often times with new projects the initial design session is where they real think their application. Visually seeing how users are going to use their tool to solve problems creates an environment that challenges their idea and encourages the new product owner to think through even the smallest of details.
It all starts with the user journey. Let’s say that were creating Uber. Well we would identify that there are going to be at least 3 types of users. Passengers, Drivers and Uber. At Zibtek we start with one of these users like Passengers for example. The designer would sit with the client and flush out everything a passenger would need to see or click in order to get a ride. Once that process is finished, you repeat with the Driver and Uber roles. One of the most often forgotten portions of application development is creating that admin role. It is critical to almost all functionality of an application especially monetization! The compellation of all of these efforts is displayed as a Wire Frame.
It’s all about the planning.
After the designs are finalized, it can seem like the most of the work is done. Unfortunately, the work has just begun. For engineers to truly understand how to build your application the way you have visualized is to put together a planning strategy or document in a tool like Clickup. Clickup allows project managers to breakdown core functionality in to bite sizes pieces. These pieces are usually referred to as tickets. Each ticket / functionality has to be planned by 1st defining the user story.
Define User Stories
· I – Independent
· N – Negotiable
· V – Valuable
· E – Estimable
· S – Small
· T – Testable
Once user stories have been written, acceptance criteria (AC) for each of those user stories must be established. AC’s are critical because they are used to make the decision is a feature is complete. Defining success is often lost on many projects and why scope creep is a popular term.
One the most critical part of the planning process is determining the most effective tech stack. Probably one of the biggest differences between Zibtek in other development companies is that we have a “Product First” initiative. Zibtek believes in selecting the best technology for the problem, not selecting the technology we have the most experience in like other firms.
Communication is key in principle engineering.
The costliest part of the software building process is principle engineering. Which means it is the part as a client you want to be as close to as possible. The difference between a successful build and an expensive never-ending project is usually directly linked to how responsive the client is during the engineering process.
The software build uses an Agile approach in which is work is broken down in to 2 weeks sprints. These sprints are utilized to create a measuring stick for progress. Evaluating the amount of productivity that happens in a 2-week period greatly helps in planning out an entire build. This model combined with continuous delivery (Continuous delivery pipeline is an implementation of the continuous paradigm, where automated builds, tests and deployments are orchestrated as one release workflow) allows Zibtek to get our clients functioning code as quickly as possible so they can provide feedback and test.
Client communication during the sprint process is necessary as engineering priorities can often change as work proves out to be easier or more complicated then originally estimated. Decisions need to be made in order to keep the team productive.
Define Success.
One of the biggest contributors to scope creep is a moving goal post. If the target constantly changes, it will never get hit.
Proper planning and communications provide the environment needed to define success in aver specific way. That definition will set clear expectations for both the engineers and the product owners.