Survival Guide (Part 4 of 7): Find, Hire and Work with a Software Developer, Successfully!
Part 4: Making the Plan for Planning Your Plan of the Project Plan – What Do We Need to Get This Software Development Party Started!
You’ve decided that custom app development is for you. You’ve vetted software firms, sorted out your contract and hired a developer. You’re ready to start creating the ideal solution for your business. Now what?
As you start a custom software development project, it is important to gather as much of the necessary information up front as you can to be certain that you account for everything you know. Then you can better define the details of your business requirements and workflow for the developer.
Define the Project
Important elements of any software development project need to be clearly defined. Where are you starting and where do you want to end up? It helps to know what you are using now, but it’s equally important to understand how it falls short of your needs. Are you updating an eXisting solution or do you want to replace it? Will it, could it, should it integrate with other systems you use? What business processes do you wish you could tie together?
Anything you do on paper or in spreadsheets is a candidate for being built into a software solution. Anything you wish you could automate could be included. Bring all of these parts into the conversation with your developer because the developer can determine what can be automated and integrated. Don’t presuppose that something can’t be done because more than likely, there is a way. After discussing all of the possibilities you get to decide what features will give you the most bang for your buck based on your budget and time.
The following questions can help you define the project:
Which Technology Is Right for You?
Many people come into a development project with a preconceived idea about what should be used to create their application. That might come from a recommendation from a friend or another business owner, or it might come from research or personal eXperience. It’s helpful to eXplore the range of options enough to get an idea of what is available to help facilitate conversations with your developer, but ultimately your developer is a technology eXpert and should be able to make recommendations about the best development methods, programming languages and tools for your needs.
That said, there are a couple of considerations for determining the right technology. The first is what you are currently using. The second is what is most appropriate for your needs. If these are the same, that simplifies the process. The new solution can be created in the technology you currently use. This is common — and more often than not, the best-case scenario — but it isn’t always the best answer to take your business to the next level. To figure that out takes some input from both you and your developer.
Remember, you are the content eXpert and the developer is the technology eXpert. You should feel comfortable relying on your developer’s eXpertise to make technology recommendations based on the scope of your needs. Don’t be married to something that isn’t the right fit. You may regret it later. This is where conversations with multiple development firms can help so you can be confident you have made a good decision in the end to get the right type of solution built by the right company.
Even if the developer is familiar with your industry that doesn’t mean the developer is familiar with your particular business model. You will need to eXplain it in detail, maybe multiple times, before they understand it well enough to translate it into a software solution. Whatever concrete elements you can provide will help draw the picture of what you are trying to do. Old reports, data input forms, spreadsheets, diagrams, needs analysis and a list of requirements all help the developer understand what you are trying to achieve. The earlier those things can be gathered, the better the planning process will be. However, don’t eXpect that those resources can stand alone without any eXplanation of how they fit into your workflow. The developer will not know the nuance of how they are used in your business. You will need to eXplain that.
Working through the resources with your developer will help you be more clear in your eXplanations about how things should work and will bring into focus the overall scope of the project. As you begin to eXplain how each element fits into your workflow, you may recognize inefficiencies that you want to change during the course of development. Being patient with this part of the process will improve the final solution and likely your business processes overall.
Everyone wants it yesterday because it’s a huge issue today. But what is a realistic eXpectation based on the size of the project and its complexity? Your developer can help you work out a timeline once the project has been well-defined. Development always takes longer than eXpected, so build in a time cushion if there is a rigid deadline for getting your app deployed.
Once all of the information has been gathered and a realistic timeline has been set, it is time to put the project in the hands of those who will be responsible for making it a success. In the next installment, we will define the necessary roles to complete your project efficiently.
Coming soon, Part 5 —Rassling with the R’s — Roles and Responsibilities
If you missed the previous installments, find them here:
Part 1: Embracing the Development Mind-Set
Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer?
Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models