For successful software development, do these 5 things Before you startJanuary 13, 2020
The time has come, and you’re ready to start your software development project. Maybe it’s launching a new app, or web development, or just an update to an existing program; but you need to get it done. You’ve made the decision, you have your budget, and you are ready to jump-start the process. So where do you start?
Before you pick a vendor, launch a project, or build a team, you need to do make some decisions that will set up your project for success.
Launching a successful project requires commitment. You need to commit yourself to making decisions, answering questions, and providing feedback to your development team. And the first installment on this commitment is a series of decisions you need to make BEFORE you even engage with the development team.
Before Project Launch
A formal launch meeting is a normal part of any launch, but a launch meeting isn’t a great environment for basic project planning. A launch meeting enables you to transfer your vital knowledge to your software development team, but you need to show up with more than just an idea and a budget. You need a well-developed plan.
Arrive for your project launch with important, basic questions already answered. Starting the project with these answers in hand helps your team to be efficient, reducing their learning curve and helping them start thinking about your project the way you do.
As the client, success is your responsibility, and we suggest 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 inevitably 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.
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 one concise statement has two major benefits.
- It forces you to focus on your top priority and make other concerns secondary.
- It empowers your developers to make the right decisions on your behalf.
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 team 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 most to 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
Whether you’ve hired out your development or engaged an internal team, it doesn’t mean you can just go on auto-pilot and expect great results. Your software development team 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 formalized, 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 do a lot to 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.