You are here

SPS Task 2 - Tips and Traps

Be realistic about the time that it takes to create a new release. It's not just a matter of implementing the features that you have previously identified. You should keep the following issues in mind:

  1. You may have to take time away from your development schedule to address high-priority issues, such as security holes, that require the creation of a "point" release.
  2. You and your customers will almost certainly identify some low-priority bugs to be fixed. These fixes can be rolled into the next significant release, but they take engineering time for coding and testing.
  3. You and your customers will almost certainly identify some additional features or platforms that you will have to add to your roadmap. For example, you might have a major customer who wants you to support your existing iOS application on Android. Similarly, your competitors may have added new features or platforms to their products, and you will have to adjust your development plans and roadmap to meet the competition.
  4. You will have to update and test your product on new releases of the operating system(s) or other platforms on which it runs. For example, when Microsoft releases an update for Windows 10, you will have to make sure that your product works properly with the update, as well as with the earlier version. You will also have to decide whether you are going to "backport" the product. In other words, you might only test and release the new version of your product on the newest version of the platform, or you might make sure that it also works with one or more previous releases of the platform. The same issues apply for successive releases of products that interoperate with yours, such as a DBMS, a browser, or a reporting tool. For example, you may support Firefox 43, but not currently offer support for beta versions of Firefox 44. When Firefox 44 is released, there will be an interval of time (potentially several years) when you will be expected to support multiple recent versions of Firefox. Note that 7% of desktop browser users still use Internet Explorer, compared with 65% using Chrome.  You can check on browser use.

You might find the article on compelling roadmaps (appended below) to be useful in your planning.

In summary, it's not enough simply to be accurate in your estimate of engineering effort for the features that you have previously identified. You must also keep in mind that a sizeable percentage of the effort for successive releases will involve previously unforeseen tasks. You should also apply some realism to your estimates of developer availability in both your engineering estimates and your roadmap. Don't forget that people take vacations, get sick, have family emergencies, and switch jobs. Developer time is also sucked up by meetings, interviewing, and more.