Planning a Software Development Project? Do These 5 Things First.January 2, 2019
So the time has come to initiate your software development or web development project. You’ve made the decision to launch, you have your budget, and you are ready to help jump-start the process. But where do you begin?
If you are contracting your development work to an agency, you need to show up for the launch meeting with more than just an idea and a budget. You also need a well-developed plan. And to create a plan that maximizes your results, you need to start the planning process early.
Launching a successful project requires commitment. You need to commit yourself to making decisions, answering questions, choosing from alternatives, and providing feedback. And the first output of this commitment is a group of decisions and preparations you need to make and document BEFORE you ever sit down for that launch meeting.
What do you do first?
There are a lot of places you can start. But before you pick a vendor, launch a project, or build a team, you need to do some preliminary work to make sure your project is a success.
The key purpose of a launch meeting is to transfer some of your vital knowledge to a software development or web development team. One thing we strongly suggest is to arrive for your project launch with a few important questions already answered. Starting the project with these answers in hand empowers your development team to be efficient when making small decisions on your behalf. Defining certain key ideas early will remove a major problem, as it reduces their learning curve for thinking about your project in your context.
Remember, you’re the client, which makes you the project manager, even if the team you hire includes a project manager of their own. Success (or failure) rides on your own efforts, so here are 5 things you can do now, before your project starts, to make sure it is a success:
Agree on your top priority
Any complex project has multiple goals, and some of those goals will be in conflict. Defining a top priority from the start puts context around a series of decisions you will have to make as your project moves forward. Answering this question now will inform your later decisions as well as smaller decisions your developers may have to make without your direct input.
One way to achieve this prioritization is by creating a Thesis Statement of your project: a broad, strategic-level, one-sentence overview of what exactly you’re trying to accomplish. The simple act of boiling your project down to a concise statement of purpose forces you to focus on your top priority and make other concerns secondary.
Making this overview available to your software developers gives them a point of reference. They can look back to this guidance to help them balance conflicting priorities throughout the development process. Having this decision made before you get “down into the weeds” of the development project also helps you stay focused on what’s really important, which will save you time and money as your project moves forward.
Define one or a few key customer personas
Who is your customer? Clearly defining your customers will help guide many decisions you’ll have to make during the development process. You probably already have a good idea who your “Customer” is. But by formalizing this and defining it now, both you and your development team have access to this from the start. When everyone can ‘see’ the customer clearly, you get better decisions about how to best serve them.
To do this, start by listing the key customer roles your end product will serve. You must have at least one, and we’d suggest no more than about 5. Then, for each role you listed, create a backstory of a “person” who fills it.
Give them a name and a history. Beyond their “official” role what else motivates them? Create a mini biography that covers the big influences in their professional and personal lives, then use this information to inform your decision making process as you move through development.
Document a timeline of important external influences
Context is everything, and understanding any fixed, external timelines will help your development partner help you. Software development projects are seldom shorter than 90 days and most span at least 6 months or more.
Nothing happens in a vacuum, and a variety of outside influences can impact your business during this time. Making your development partners aware of these outside influences from the start can inform their process and lead to better results for you. If missing your completion deadline by 2 weeks means your new product will miss an important industry event, you need to let the team know NOW… not 2 weeks before that deadline, when it’s too late to change course.
Define what will mean “Success” at the end of your project
Success has many faces; which ones matter for you? Define it early, and you’ll be more likely to reach it.
In some projects, timing is everything. In others, coming in on budget is critical. In yet others, budget and timing can be sacrificed if you can produce the perfect end result.
Every project is unique, and for each, you need to define what will mean success. Your development partners can work toward any goal you give them, but the goal MUST come from you. If you leave your goals undefined, you leave them to chance, and relying on someone else to interpret your goals is never a good idea.
Formally commit your time
Just because you’ve hired out your development project doesn’t mean you can just go on auto-pilot and expect a great result. Your software developer needs your time and attention during the project, and you need to commit from the start to providing it.
One way you can do this is by creating a set of Service Level Agreements (SLAs) for yourself. These are just expected norms that both you and your developers can rely upon for planning and execution purposes.
If you’ll have a standing pulse meeting every Tuesday, commit to attending each one now. If you’ll respond to all email communications within 2 hours of receiving them, make that commitment up-front. If you’re planning PTO next Friday, tell them well ahead of time.
If everyone is on the same page for responses and behaviors, you’ll waste less time and effort chasing each other for feedback, answers and decisions.
Your software development project is your investment, and it’s seldom a small one. A good software development agency will help you throughout the process, but you can also help yourself by coming into the effort well prepared.
Early preparation saves you from potential mis-steps along the way. It saves you paid time with your development team as they try to get up to speed with understanding your culture, needs and priorities. And it saves you from the risk of working toward something that isn’t your true goal.