Software Project Success : 101
February 5, 2015
Your company has this technology project, and it’s going to be a great success. All you need to do is get started.
The scariest phase of any big job is starting. That’s the time when you know the least and have the most amount of work to do. It’s also the time where creativity and initiative can make a huge (and exciting) impact on the final product. So… how do minimize the scary and maximize the exciting?
The short answer is “start with the big stuff.”
What Problem Are You Solving?
Perhaps you want to promote your company in a creative or impactful way, or deliver sophisticated media to mobile devices. Set your objectives and stick to them. If other opportunities come up during the project, write them down and schedule them accordingly. It’s better to do one thing really well than several things poorly.
Who Are You Solving it For?
Know your target. Understand the people who are going to use your technology. Talk with them. Are you an end-user? Great, talk to more people anyway. Draw pictures, listen, ask for honest feedback, and take notes. Even the simple stuff can be compelling and may help you uncover a pain point.
Who is Your Technology Partner?
Finding a partner who not only has technical chops, but also understands your objectives and target audience is critical. You may have in-house software developers who are smart and capable, but their skills may not align with your project needs. Or you may have a tech partner who understands your project, but doesn’t have the programming power. Before anyone starts writing code (or signing contracts), determine who you need on your team.
Your technology partner should ask the first two questions I asked above and help you refine ideas and understanding. Don’t be afraid of tough questions, and be wary if there aren’t any. They should also be able to talk about their success stories with specific examples and outcomes.
Abraham Maslow said, “if all you have is a hammer, everything looks like a nail.” Be careful that your tech partner is keeping your needs in mind, not their favorite tool. Getting locked into PHP, .Net, Node.js, or whatever platform too early can hurt. Work to find a platform that fits your project, don’t fit your project to the platform.
What’s Your Budget?
You have a budget, but really, what’s the real budget? Plan for meetings, revisions, vacations, holidays… time is as much a part of the budget as money. Consider what could crop up, and you’re more likely to stay on track.
Although I mentioned this, I’ll say it again: as your project proceeds, you might discover new opportunities. The fastest way to eat up a budget is to get distracted. So, know your goals, write down your expectations in clear language, and keep the lines of communication open with your tech partner. You can schedule the new opportunities for subsequent projects.
Your tech partner should help you plan well and have a dedicated project manager to guide the process. You should expect regular updates, short demos, lots of questions, and even the occasional bad news. It’s normal. Factor those meetings and discussions into the budget, because they’ll happen.
Finally, don’t forget customization costs. If you’re absorbed with tiny details, more time and money will be spent on tiny details.
Can Your Partner Deliver?
Talk to your tech partner about how they plan to deliver your project. They should have a clear plan. If they deploy to your own network, that means more people and more overhead, and more moving pieces to keep aligned. If it’s to the cloud or their data center, it’s still complicated, so ask for a breakdown of how it works. What parts are automated? Have they done this before? How many people are needed? In an ideal world, you’ll hear the words “continuous integration” and “continuous deployment” as part of the discussion. That’s the mark of a mature tech partner – automation.
All of this assumes you have great software to deploy. Again, every step of the way requires work and attention.
Happily Ever After?
Brand new technology is never perfect, and the only “finished” software is dead software. Plan for what happens in the weeks after it goes live, and then plan for what happens in the months and years after it goes live. Who fixes bugs? Who responds if the site goes down? Who updates things? If it’s the success story you dreamed of, who adds new features?
Learn From Experience
Don’t be afraid of making a mistake. Sometimes mistakes are inevitable, but making the same mistake over and over again is expensive. The key is to learn from the experience and improve your process. Better still, work with a team who knows their way around – the kind of team who doesn’t make the same mistake many times.
Stay up to date with our email updates!