Introduction
Any activity, from mowing the lawn to writing software algorithms for a spaceship that goes to the stars, can be labelled with the same short but capacious term: a project. And whether the project will be successful or doomed to fail very much depends on how you prepare for the launch. After all, as we've all heard many times, preparation is the key to success.
Many books and articles have been written on the topic of project management, but in this article, I will highlight the three points I believe are most important. Without these, any project is likely fall into chaos and ultimately fail. The three concepts that are so critical to success or failure are planning, goal setting, and control. In fact, these are three classic management functions that can be applied to any project. Of course, we're looking at them through the lens of software development.
Planning
You've had a fantastic idea for a new product: maybe you want to design a new mobile game or you're envisioning a much-needed service, and you see great potential for monetization. But at this stage, your idea us just that — an idea. And an idea requires polishing, reevaluation, prioritization, etc. before it turns into a. viable project. And the best way to turn an idea into a project is planning, which can be divided into three major steps.
1. Imagine the Ultimate Goal
Any successful project starts with a clear vision of the end result, and this is especially true in software development. Indeed, a clear understanding of what you want to get on the way out is half of the solution to the problem of where to start.
Do you want to launch a new web application to power sales of your handmade wood products and get a 50 to 100 percent increase in new customers? Or is your goal to reduce paper purchases in your enterprise by 90 percent by implementing an electronic document management system?
There's no need to plan everything to the last detail (yet). Your first step is simply to clearly outline the final goal. Then, you can gradually delve into the details.
2. Clearly Define Project Components
With the ultimate goal in mind, begin to think through the details of the project. Write a high-level description of the project, then list everything you would like to see in it. You'll rewrite this draft several times as your ideas take shape, honing the description and turning your wish list into a more structured, logical set of components. Consider both the functional aspects, like the features and the logic behind them, as well as the nonfunctional requirements, like design.
An excellent outcome at the end of this stage is a full draft of your project, with a description of the purpose, logic, functions, and features of the application, as well as a general idea of the design. Most software development companies will be thrilled when a client approaches them with this much detail already outlined. And this upfront work will also save significant time and money in the discovery phase.
3. Create a Dream Team
After you determine the scope of your project, you will be able to visualize the team you need to bring it to life. Maybe your developer friend who lives down the street will be enough, or maybe you'll need a comprehensive outsourced development team. Whatever the scope may be, pay special attention to the selection of personnel — their geography, their experience, their skills, and their work processes.
Goal Setting
Setting measurable goals and making action plans that will empower you to achieve them are critical to preparing for a successful launch.
And when it comes to goal settings, one of the most useful tools is the SMART framework, which allows project leaders to summarize all available information, establish acceptable terms of work, determine the adequacy of resources, and provide all participants in the process with clear, precise, specific tasks.
So what is SMART? The acronym stands for “Specific, Measurable, Achievable, Relevant, Timebound” all key characteristics of effective goals. Let's break that down:
Specific
When you set a goal, the desired result must be precisely defined. Answer these questions to ensure your goals are specific:
- What do I want to achieve, and why?
- Who is involved in fulfilling the goal?
Measurable
Specificity isn't enough. SMART goals must also be measurable. Take one of the most popular New Year's Resolutions, for example: losing weight. “Losing weight” may be specific, but “losing twenty-five pounds” is measurable. Answer these questions to ensure your goals are measurable:
- How will I measure progress against my goal?
- How will I know when I have achieved my goal?
Achievable
While it's okay to set stretch goals, they should still be achievable in order to keep the project manager and team motivated. Whether a goal is attainable is determined based on the team's experience and skill sets, taking into account all available resources and limitations.
Relevant
It's easy to set dozens of goals, but the more you set, the less focused you'll be on achieving any one of them. That's why it's important to set goals that are relevant to your bigger-picture strategic objectives. Ask yourself what benefits the team will unlock as a result of achieving the goal.
If there are no global, positive ramifications of achieving the goal, it may be irrelevant and a waste of resources.
Timebound
The SMART goal should also come with a deadline, to ensure the team is working steadily toward achievement and that the process doesn't drag out so long as to become a waste of time and resources. If the goal is not met within the deadline, it is considered a failure and reevaluated.
Once you've set these measurable goals for yourself and your project, apply the same formula as you work with your development team. If everyone is focused on clear, measurable goals, rather than simply working aimlessly, the project is much more likely to be successful.
Control
All the planning and forecasting in the world will be useless if you don't maintain control over your project. Here are two ways to ensure you can.
Meet Everyone Involved
Don't assume you have met the entire team. Stakeholders, Investors, product owners, project managers, testers, developers, subject matter experts, and architects all comprise a team, and failure to meet all key players will cause communication issues down the road.
Monitor Progress Daily
Don't lose sight of what's happening (or what's not) with the project. Be sure to follow the progress, participate in all status calls, and track the status of every component, keeping track of who's in charge of key tasks and when they should be completed.
If you attempt a product launch without regard for project management principles, you're setting yourself up for failure. But adhering to a strong project management strategy will minimize risks, reduce costs, and set you up for an effective launch.