‘Fixin’ the Start Line!’ by UHLMAN
Companies (and people) new to software development tend to think that projects start with development, as in writing the actual code, as in here’s my idea … when can I see it and btw, why am I paying you for time that you’re not coding. Most are not aware of the upfront work needed to get to the point of coding or, perhaps, even the value of it. After all, they gave you the idea so let’s see less talk and more coding.
What is some of that necessary work that’ll drive us towards development? The upfront work definitely includes requirements — the details that allow us to start writing the code. But even before the requirements are started, long before diving into the wireframes and user modeling, features list or user stories, projects need to begin with a business problem and a blue-sky idea on how to solve that problem. In short, the product concept.
Our business problem is X
In order to solve X, we need something that’ll let us do A, B and possibly C.
The essential element, then, of being able to start the requirements — the very first thing that kicks off a project — is to state the business problem. What is the problem that your team needs to solve.
Business Problem: We’re a high-end print shop but are losing a potential source of revenue by not allowing high-end printing via the web
If you can’t articulate the problem, how can you define a solution.
Product Concept: Develop web-based app that’ll allow graphic design community to upload and print production-ready files
All features and functionality will stem from and support the concept, which makes it a useful tool to assist in defining and containing scope, as in: does a proposed feature support the concept? It’s also a good touchpoint to see how solid the business vision actually is. If further discussions and requirements gathering changes the concept a multitude of times, anyone trying to estimate a budget or propose a timeline will see potential issues and can manage expectations accordingly. And if after all of this the concept is tested and still valid, the final result has been stated and regardless of whether the project is 6 weeks or 6 months, the project team now knows the end goal.
A product concept addresses the business problem, highlights the potential user base and proposes a high-level solution. Its importance cannot be overstated since it is the overarching idea of your software and defines the entire purpose of the product. Try it on your next project and see if it helps to smooth out some of the inevitable bumps of all software projects.
