CINXE.COM
Projects/SeriesMilestonesReleases - Launchpad Help
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta name="robots" content="index,nofollow"> <title>Projects/SeriesMilestonesReleases - Launchpad Help</title> <script type="text/javascript" src="/moin_static198/common/js/common.js"></script> <script type="text/javascript"> <!-- var search_hint = "Search"; //--> </script> <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static198/lp20/css/common.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="/moin_static198/lp20/css/screen.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="/moin_static198/lp20/css/print.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="/moin_static198/lp20/css/projection.css"> <!-- css only for MS IE6/IE7 browsers --> <!--[if lt IE 8]> <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static198/lp20/css/msie.css"> <![endif]--> <link rel="alternate" title="Launchpad Help: Projects/SeriesMilestonesReleases" href="/Projects/SeriesMilestonesReleases?diffs=1&show_att=1&action=rss_rc&unique=0&page=Projects%2FSeriesMilestonesReleases&ddiffs=1" type="application/rss+xml"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-12833497-4']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <link rel="Start" href="/FrontPage"> <link rel="Alternate" title="Wiki Markup" href="/Projects/SeriesMilestonesReleases?action=raw"> <link rel="Alternate" media="print" title="Print View" href="/Projects/SeriesMilestonesReleases?action=print"> <link rel="Up" href="/Projects"> <link rel="Appendix" title="awn-04.png" href="/Projects/SeriesMilestonesReleases?action=AttachFile&do=view&target=awn-04.png"> <link rel="Appendix" title="beeseek-bug.png" href="/Projects/SeriesMilestonesReleases?action=AttachFile&do=view&target=beeseek-bug.png"> <link rel="Appendix" title="bzr-sev-series-overviewtimeline.png" href="/Projects/SeriesMilestonesReleases?action=AttachFile&do=view&target=bzr-sev-series-overviewtimeline.png"> <link rel="Appendix" title="bzr-timeline.png" href="/Projects/SeriesMilestonesReleases?action=AttachFile&do=view&target=bzr-timeline.png"> <link rel="Search" href="/FindPage"> <link rel="Index" href="/TitleIndex"> <link rel="Glossary" href="/WordIndex"> <link rel="Help" href="/HelpOnFormatting"> </head> <body lang="en" dir="ltr"> <div id="header"> <h1> <a href="https://help.launchpad.net/" class="header-link"> <img src=' /moin_static198/lp20/img/logo.png ' /> launchpad <strong>help</strong></a> </h1> <div id="finder"> <div class="fixbox"> <form id="searchform" method="get" action=""> <input type="hidden" name="action" value="fullsearch"> <input type="hidden" name="context" value="180"> <input id="searchinput" type="text" name="value" value="" size="20" onfocus="searchFocus(this)" onblur="searchBlur(this)" onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search"> </form> </div> <ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a class="nbinfo" href="/Projects/SeriesMilestonesReleases?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/Projects/SeriesMilestonesReleases?action=AttachFile" rel="nofollow">Attachments</a></li><li> <form class="actionsmenu" method="GET" action="/Projects/SeriesMilestonesReleases"> <div> <label>More Actions:</label> <select name="action" onchange="if ((this.selectedIndex != 0) && (this.options[this.selectedIndex].disabled == false)) { this.form.submit(); } this.selectedIndex = 0;"> <option value="raw">Raw Text</option> <option value="print">Print View</option> <option value="RenderAsDocbook">Render as Docbook</option> <option value="refresh">Delete Cache</option> <option value="show" disabled class="disabled">------------------------</option> <option value="SpellCheck">Check Spelling</option> <option value="LikePages">Like Pages</option> <option value="LocalSiteMap">Local Site Map</option> <option value="show" disabled class="disabled">------------------------</option> <option value="RenamePage" disabled class="disabled">Rename Page</option> <option value="DeletePage" disabled class="disabled">Delete Page</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Subscribe User</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Remove Spam</option> <option value="show" disabled class="disabled">Revert to this revision</option> <option value="PackagePages">Package Pages</option> <option value="SyncPages">Sync Pages</option> <option value="show" disabled class="disabled">------------------------</option> <option value="Load">Load</option> <option value="Save">Save</option> <option value="SlideShow">SlideShow</option> </select> <input type="submit" value="Do"> </div> <script type="text/javascript"> <!--// Init menu actionsMenuInit('More Actions:'); //--> </script> </form> </li></ul> </div> </div> <div id="locationline"> </div> <div id="sepbar"> </div> <div id="login"> <div class="fl"> <h1 class="maintitle"> Projects/SeriesMilestonesReleases </h1> </div> <div class="fr"> Not logged in - <a href="/?action=login">Log In / Register</a> </div> </div> <div id="pageline"><hr style="display:none;"></div> <div class="message"> </div> <div id="page" lang="en" dir="ltr"> <div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span> <span class="anchor" id="line-1"></span><p class="line867"><small><a href="/FrontPage">Launchpad Help</a> > <a href="/Projects">Projects</a> > <a href="/Projects/SeriesMilestonesReleases">Series, milestones and releases</a></small> <span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span><div><table style="&quot; float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em; &quot;"><tbody><tr> <td style="&quot; padding:0.5em; &quot;"><p class="line891"><div class="table-of-contents"><p class="table-of-contents-heading">Contents<ol><li> <a href="#Overview">Overview</a></li><li> <a href="#Series">Series</a><ol><li> <a href="#Destination_axis:_Leading_or_trailing_series.3F">Destination axis: Leading or trailing series?</a></li><li> <a href="#Creating_series">Creating series</a></li></ol></li><li> <a href="#Milestones">Milestones</a><ol><li> <a href="#Journey_axis:_Time-directed_or_feature-directed_milestones.3F">Journey axis: Time-directed or feature-directed milestones?</a></li><li> <a href="#Working_with_milestones">Working with milestones</a></li></ol></li><li> <a href="#Series_goals">Series goals</a><ol><li> <a href="#Continuity_axis:_Continuous_or_discrete_goals.3F">Continuity axis: Continuous or discrete goals?</a></li><li> <a href="#Problems_when_targeting_work_to_a_series">Problems when targeting work to a series</a></li></ol></li><li> <a href="#Releases">Releases</a></li><li> <a href="#Next_step">Next step</a></li></ol></div></td> </tr> </tbody></table></div><span class="anchor" id="line-4"></span><span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><p class="line867"> <h1 id="Overview">Overview</h1> <span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><p class="line874">Let's look at how you can use Launchpad to plan your project's development and <span class="anchor" id="line-9"></span>to record releases: <span class="anchor" id="line-10"></span><span class="anchor" id="line-11"></span><ul><li><p class="line891"><strong>Series:</strong> parallel lines of development within your project, working <span class="anchor" id="line-12"></span>towards a major release. <span class="anchor" id="line-13"></span></li><li><p class="line891"><strong>Series goals:</strong> bugs or blueprints that will be fixed in a particular <span class="anchor" id="line-14"></span>series. <span class="anchor" id="line-15"></span></li><li><p class="line891"><strong>Milestones:</strong> points in the development of a series, such as future <span class="anchor" id="line-16"></span>minor releases or release candidates. <span class="anchor" id="line-17"></span></li><li><p class="line891"><strong>Releases:</strong> once a milestone results in a release of your software, <span class="anchor" id="line-18"></span>you can turn it into a release in Launchpad. <span class="anchor" id="line-19"></span><span class="anchor" id="line-20"></span></li></ul><p class="line874">Launchpad doesn't impose a particular workflow on your project, so you can <span class="anchor" id="line-21"></span>pick and choose how you use Launchpad's development and release planning. <span class="anchor" id="line-22"></span><span class="anchor" id="line-23"></span><p class="line874">How bugs and blueprints are targeted is largely determined what you need to <span class="anchor" id="line-24"></span>plan, and how the work is supported when the goal is complete. You can answer <span class="anchor" id="line-25"></span>the question for yourself by exploring three axes that represent the <span class="anchor" id="line-26"></span>destination, the journey, and continuity. Most projects favour one side of <span class="anchor" id="line-27"></span>each axis, but will always use the other side when needed. <span class="anchor" id="line-28"></span><span class="anchor" id="line-29"></span><span class="anchor" id="line-30"></span><p class="line867"> <h1 id="Series">Series</h1> <span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span><p class="line874">When we think of the way a project organises itself, there are major lines of <span class="anchor" id="line-33"></span>development from which releases are "cut". Typically these lines of <span class="anchor" id="line-34"></span>development represent: <span class="anchor" id="line-35"></span><span class="anchor" id="line-36"></span><ul><li><p class="line891"><strong>Development trunk:</strong> this is the current "tip" of development across <span class="anchor" id="line-37"></span>the core project community, representing the very cutting edge of work on <span class="anchor" id="line-38"></span>that project. In general, the only releases made from the development trunk <span class="anchor" id="line-39"></span>are snapshot, milestone or test releases to generate more widespread testing <span class="anchor" id="line-40"></span>and feedback. <span class="anchor" id="line-41"></span><span class="anchor" id="line-42"></span></li><li class="gap"><p class="line891"><strong>Stable and supported branches:</strong> these represent the latest work on the <span class="anchor" id="line-43"></span>stable versions of the project, which are still supported. If updated stable <span class="anchor" id="line-44"></span>releases are to be made they will come from these branches. <span class="anchor" id="line-45"></span><span class="anchor" id="line-46"></span></li><li class="gap"><p class="line891"><strong>Obsolete branches:</strong> for major release versions that are now out of <span class="anchor" id="line-47"></span>date and no longer updated. It's likely that work no longer happens on these <span class="anchor" id="line-48"></span>branches. <span class="anchor" id="line-49"></span><span class="anchor" id="line-50"></span></li></ul><p class="line874">We call each of these "major" lines of development a "series" because they <span class="anchor" id="line-51"></span>represent a series of releases of the same major version. <span class="anchor" id="line-52"></span><span class="anchor" id="line-53"></span><p class="line874">In Launchpad, each series behaves almost like a sub-project, having its own: <span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><ul><li>branches of code <span class="anchor" id="line-56"></span></li><li>milestones - specific points in the roadmap leading to a release <span class="anchor" id="line-57"></span></li><li>bugs marked as affecting that series <span class="anchor" id="line-58"></span></li><li>bugs and blueprints proposed as goals for the series <span class="anchor" id="line-59"></span></li><li>translation effort <span class="anchor" id="line-60"></span></li><li>releases <span class="anchor" id="line-61"></span></li><li>release manager. <span class="anchor" id="line-62"></span><span class="anchor" id="line-63"></span></li></ul><p class="line862">For an example, take a look at the <a class="https" href="https://launchpad.net/bzr">Bazaar</a> <span class="anchor" id="line-64"></span>project. There you'll see a number of series each with their related <span class="anchor" id="line-65"></span>milestones and releases. <span class="anchor" id="line-66"></span><span class="anchor" id="line-67"></span><p class="line874">Project maintainers and drivers can register series. When a driver registers a series, <span class="anchor" id="line-68"></span>the user is also set as the series release manager. Project maintainers <span class="anchor" id="line-69"></span>and series release managers can create and manage milestones and releases. <span class="anchor" id="line-70"></span><span class="anchor" id="line-71"></span><p class="line867"> <h2 id="Destination_axis:_Leading_or_trailing_series.3F">Destination axis: Leading or trailing series?</h2> <span class="anchor" id="line-72"></span><span class="anchor" id="line-73"></span><p class="line862">A <em>trailing series</em> is created <strong>after</strong> the work is completed. <span class="anchor" id="line-74"></span><span class="anchor" id="line-75"></span><ul><li>The focus of development is always the same series: trunk, head, <span class="anchor" id="line-76"></span>master, main, etc. <span class="anchor" id="line-77"></span></li><li><p class="line862">The <em>trailing series</em> marks a interesting point in development. <span class="anchor" id="line-78"></span></li><li><p class="line862">The <em>trailing series</em> is often a supported release that will get <span class="anchor" id="line-79"></span>backports and bug fixes while main development happen in trunk. <span class="anchor" id="line-80"></span></li><li>This approach is common for small projects or project tied to a <span class="anchor" id="line-81"></span>non-distributed repository. <span class="anchor" id="line-82"></span></li><li>Bugs and features are never targeted to a series. <span class="anchor" id="line-83"></span><span class="anchor" id="line-84"></span></li></ul><p class="line862">A <em>leading series</em> is created <strong>before</strong> the work is complete. <span class="anchor" id="line-85"></span><span class="anchor" id="line-86"></span><ul><li><p class="line862">The <em>leading series</em> has a set of features and fixes it intends to <span class="anchor" id="line-87"></span>complete. <span class="anchor" id="line-88"></span></li><li><p class="line862">The <em>leading series</em> is the focus of development. <span class="anchor" id="line-89"></span></li><li>Previous series are supported or obsolete... <span class="anchor" id="line-90"></span></li><li>Except for experimental series, which are concurrent with the <span class="anchor" id="line-91"></span>series that is the focus of development. <span class="anchor" id="line-92"></span></li><li>This approach is more common in large projects or projects that <span class="anchor" id="line-93"></span>use a distributed repository. <span class="anchor" id="line-94"></span></li><li>Bugs and features may be targeted to a series. <span class="anchor" id="line-95"></span><span class="anchor" id="line-96"></span><span class="anchor" id="line-97"></span></li></ul><p class="line867"> <h2 id="Creating_series">Creating series</h2> <span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span><p class="line874">To create a series, provided you're either the project's owner or driver, <span class="anchor" id="line-100"></span>click <tt class="backtick"></tt><tt class="backtick">Register a series</tt><tt class="backtick"></tt> in the <tt class="backtick"></tt><tt class="backtick">Series and milestones</tt><tt class="backtick"></tt> section of <span class="anchor" id="line-101"></span>your project overview page. <span class="anchor" id="line-102"></span><span class="anchor" id="line-103"></span><p class="line874">Different projects have different ideas of what a series represents and what <span class="anchor" id="line-104"></span>naming convention to use. For example, in the GNOME project, the "development <span class="anchor" id="line-105"></span>trunk" is a series with an odd version number, such as 2.17. When it is ready <span class="anchor" id="line-106"></span>for release, it is branched with an "even" version number, such as 2.18. Once <span class="anchor" id="line-107"></span>GNOME make the stable release, they branch it to create 2.19, the new "trunk". <span class="anchor" id="line-108"></span><span class="anchor" id="line-109"></span><p class="line874">Sometimes, projects also call the trunk "MAIN", a term from the days of CVS. <span class="anchor" id="line-110"></span><span class="anchor" id="line-111"></span><p class="line874">You can name and use your series however you choose in Launchpad. However, for <span class="anchor" id="line-112"></span>convention, we suggest you follow the <em>trailing series</em> model. We encourage you <span class="anchor" id="line-113"></span>to call your project's development focus "trunk" and to use that same branch <span class="anchor" id="line-114"></span>for development over time. When creating a new stable series, such as the line <span class="anchor" id="line-115"></span>of development for your next major release, we suggest you: <span class="anchor" id="line-116"></span><span class="anchor" id="line-117"></span><ul><li>branch from trunk <span class="anchor" id="line-118"></span></li><li>create the new series <span class="anchor" id="line-119"></span></li><li>register your new branch in Launchpad and link it to the new series <span class="anchor" id="line-120"></span></li><li>leave trunk in place for ongoing development. <span class="anchor" id="line-121"></span><span class="anchor" id="line-122"></span></li></ul><p class="line874">This ensures that people who create a branch of "trunk" always get the tip <span class="anchor" id="line-123"></span>of your development, rather than discovering later on that it has turned into <span class="anchor" id="line-124"></span>a stable release. <span class="anchor" id="line-125"></span><span class="anchor" id="line-126"></span><p class="line874">This last point is not entirely true, Launchpad + Bazaar allows projects to <span class="anchor" id="line-127"></span>use <em>leading series</em> without the need to rebranch the focus of development. <span class="anchor" id="line-128"></span>You can choose the series that is the focus of development. This changes were <span class="anchor" id="line-129"></span><tt class="backtick"></tt><tt class="backtick">lp:<your-project></tt><tt class="backtick"></tt> points to. Anyone who branches or pulls using the <span class="anchor" id="line-130"></span>short-hand URL will always get the branch associated with the focus of <span class="anchor" id="line-131"></span>development series. <span class="anchor" id="line-132"></span><span class="anchor" id="line-133"></span><p class="line874">You can tell people the purpose of each series with a short description. <span class="anchor" id="line-134"></span>Bazaar's <tt class="backtick"></tt><tt class="backtick">bzr.dev</tt><tt class="backtick"></tt> series overview page shows that it's described as <span class="anchor" id="line-135"></span>"...the development mainline where new releases are published". <span class="anchor" id="line-136"></span><span class="anchor" id="line-137"></span><span class="anchor" id="line-138"></span><p class="line867"><span class="anchor" id="milestones"></span> <span class="anchor" id="line-139"></span> <h1 id="Milestones">Milestones</h1> <span class="anchor" id="line-140"></span><span class="anchor" id="line-141"></span><p class="line874">Milestones are specific points during the life of a series, such as: <span class="anchor" id="line-142"></span><span class="anchor" id="line-143"></span><ul><li>beta tests <span class="anchor" id="line-144"></span></li><li>release candidates <span class="anchor" id="line-145"></span></li><li>minor and major point releases. <span class="anchor" id="line-146"></span><span class="anchor" id="line-147"></span></li></ul><p class="line874">They're an ideal lightweight way to group a number of bugs and blueprints, <span class="anchor" id="line-148"></span>optionally targeted to a particular date. Just like series themselves, you can <span class="anchor" id="line-149"></span>target individual bugs and blueprints to a particular milestone. However, they <span class="anchor" id="line-150"></span>differ in a couple of important ways: <span class="anchor" id="line-151"></span><span class="anchor" id="line-152"></span><ul><li>only a project owner, driver, series release manager or bug supervisor can target a <span class="anchor" id="line-153"></span>bug or blueprint to a milestone: other people cannot nominate a chunk work <span class="anchor" id="line-154"></span>for a milestone <span class="anchor" id="line-155"></span></li><li>milestones exist within a series -- your project must have at least one <span class="anchor" id="line-156"></span>series. <span class="anchor" id="line-157"></span><span class="anchor" id="line-158"></span></li></ul><p class="line874">Milestones naturally lead to releases. Once the software associated with the <span class="anchor" id="line-159"></span>milestone is released, you can turn that milestone into a release in <span class="anchor" id="line-160"></span>Launchpad. <span class="anchor" id="line-161"></span><span class="anchor" id="line-162"></span><ul><li>milestone names are unique to a project. Two series cannot have the <span class="anchor" id="line-163"></span>milestones with the same name. There can be only one project 1.1.beta <span class="anchor" id="line-164"></span>milestone to ensure there is no ambiguity about project release names. <span class="anchor" id="line-165"></span><span class="anchor" id="line-166"></span><span class="anchor" id="line-167"></span></li></ul><p class="line867"> <h2 id="Journey_axis:_Time-directed_or_feature-directed_milestones.3F">Journey axis: Time-directed or feature-directed milestones?</h2> <span class="anchor" id="line-168"></span><span class="anchor" id="line-169"></span><p class="line874">A time-directed milestone restricts development by time. <span class="anchor" id="line-170"></span><span class="anchor" id="line-171"></span><ul><li>The milestone is complete when the date is reached. <span class="anchor" id="line-172"></span></li><li>Time-directed milestones are by their nature, the series; work <span class="anchor" id="line-173"></span>happens in one milestone at a time. <span class="anchor" id="line-174"></span></li><li>Work is focused on the current milestone. <span class="anchor" id="line-175"></span></li><li>Incomplete work is moved to another milestone or untargeted when <span class="anchor" id="line-176"></span>the milestone's date is reached. <span class="anchor" id="line-177"></span></li><li>If a bug is fixed from a another milestone, it is targeted to the <span class="anchor" id="line-178"></span>current milestone. <span class="anchor" id="line-179"></span></li><li>Time-directed milestones emphasises cadence; delivering value to <span class="anchor" id="line-180"></span>stakeholders at regular intervals. <span class="anchor" id="line-181"></span></li><li>Time-directed milestones requires more commitment from the <span class="anchor" id="line-182"></span>developers to deliver work on schedule. <span class="anchor" id="line-183"></span><span class="anchor" id="line-184"></span></li></ul><p class="line874">A feature-directed milestone restricts development to a feature. <span class="anchor" id="line-185"></span><span class="anchor" id="line-186"></span><ul><li>The milestone is complete when the feature is complete; there is <span class="anchor" id="line-187"></span>no expected completion date. <span class="anchor" id="line-188"></span></li><li>A series may have several feature milestones working in parallel. <span class="anchor" id="line-189"></span></li><li>Feature-directed milestones allow multiple developers/teams to work <span class="anchor" id="line-190"></span>independent or each other (models real behaviour). <span class="anchor" id="line-191"></span></li><li>Feature-directed milestones are harder to manage since the manager <span class="anchor" id="line-192"></span>(and hopefully not the team or developer) must change focus often. <span class="anchor" id="line-193"></span><span class="anchor" id="line-194"></span></li></ul><p class="line867"> <h2 id="Working_with_milestones">Working with milestones</h2> <span class="anchor" id="line-195"></span><span class="anchor" id="line-196"></span><p class="line874">You can use both kinds of milestones to plan your series. <span class="anchor" id="line-197"></span><span class="anchor" id="line-198"></span><ul><li>Use feature-directed milestones to represent the goals of the series. <span class="anchor" id="line-199"></span><p class="line862">They are commonly named <em>future</em> or <em>horizon</em>, but naming it after <span class="anchor" id="line-200"></span>the series is most clear to users: 'Series3.1' or 'series future' <span class="anchor" id="line-201"></span><span class="anchor" id="line-202"></span></li><li class="gap">Use time-directed milestones to represent cadence and to target work <span class="anchor" id="line-203"></span>that really has a date to complete. <span class="anchor" id="line-204"></span><span class="anchor" id="line-205"></span><ul><li>Create a milestone that represent dates that features and fixes must <span class="anchor" id="line-206"></span>be committed to the code base by. <span class="anchor" id="line-207"></span></li><li>Create a milestone for each development release you plan. <span class="anchor" id="line-208"></span><span class="anchor" id="line-209"></span></li></ul></li><li class="gap">Move fixes and features from the series milestone to other milestones. <span class="anchor" id="line-210"></span><span class="anchor" id="line-211"></span><ul><li>Move low priority items to the current milestone only when you are <span class="anchor" id="line-212"></span>certain the work will be completed. <span class="anchor" id="line-213"></span></li><li>Move high priority items to other milestones when developers will <span class="anchor" id="line-214"></span>commit to meeting the dates. <span class="anchor" id="line-215"></span><span class="anchor" id="line-216"></span></li></ul></li><li class="gap">Use feature-directed milestones to when you need to work in parallel. <span class="anchor" id="line-217"></span>You are free to move them to other series if you wish. <span class="anchor" id="line-218"></span><span class="anchor" id="line-219"></span></li><li class="gap">If your goals are continuous, when a development series is complete <span class="anchor" id="line-220"></span>rename the series milestone to the new series name. <span class="anchor" id="line-221"></span>If you are using leading series, move the milestone to the new series. <span class="anchor" id="line-222"></span><span class="anchor" id="line-223"></span><span class="anchor" id="line-224"></span></li></ul><p class="line867"> <h1 id="Series_goals">Series goals</h1> <span class="anchor" id="line-225"></span><span class="anchor" id="line-226"></span><p class="line874">As series tend to represent planned releases, it's useful to target bugs and <span class="anchor" id="line-227"></span>blueprints to particular series. These are called series goals and must be <span class="anchor" id="line-228"></span>approved by either the project or that series' release manager. <span class="anchor" id="line-229"></span><span class="anchor" id="line-230"></span><p class="line867"><a class="https" href="https://launchpad.net/beeseek/">BeeSeek</a> is a project to create an open <span class="anchor" id="line-231"></span>source peer to peer search engine. <a class="nonexistent" href="/BeeSeek">BeeSeek</a>'s drivers have accepted <span class="anchor" id="line-232"></span><a class="https" href="https://bugs.launchpad.net/beeseek/+bug/182821">bug 182821</a> as affecting two <span class="anchor" id="line-233"></span>of their series, <a class="https" href="https://launchpad.net/beeseek/hive">Hive</a> and <span class="anchor" id="line-234"></span><a class="https" href="https://launchpad.net/beeseek/honeybee">Honeybee</a>. <span class="anchor" id="line-235"></span><span class="anchor" id="line-236"></span><p class="line874">Only the bug supervisor for a project can nominate a bug or blueprint as affecting a particular series with <span class="anchor" id="line-237"></span>the <tt class="backtick"></tt><tt class="backtick">Nominate for release</tt><tt class="backtick"></tt> link. <span class="anchor" id="line-238"></span><span class="anchor" id="line-239"></span><div><table style="&quot; font-size: 0.8em; width:30%; background:#F1F1ED; margin: 1em 1em 1em 0; &quot;"><tbody><tr> <td style="&quot; padding:0.5em; &quot;"><p class="line891"><img alt="beeseek-bug.png" class="attachment" src="/Projects/SeriesMilestonesReleases?action=AttachFile&do=get&target=beeseek-bug.png" title="beeseek-bug.png" /></td> </tr> <tr> <td style="&quot; text-align: center; &quot;"><span class="anchor" id="line-240"></span><p class="line891"><strong>Series goal for Hive and Honeybee in <a class="nonexistent" href="/BeeSeek">BeeSeek</a></strong></td> </tr> </tbody></table></div><span class="anchor" id="line-241"></span><span class="anchor" id="line-242"></span><p class="line874">As both these series represent separate code bases, implementing a bug fix in <span class="anchor" id="line-243"></span>them may fall to different people. It's also likely that the bug will have a <span class="anchor" id="line-244"></span>different implementation status and importance in each series. As you can see <span class="anchor" id="line-245"></span>in the <a class="nonexistent" href="/BeeSeek">BeeSeek</a> example, Launchpad tracks separate importance, status and <span class="anchor" id="line-246"></span>assignee information for the same bug in each series. <a class="nonexistent" href="/BeeSeek">BeeSeek</a> have chosen not <span class="anchor" id="line-247"></span>to fix the bug in their Hive series but Andrea Corbellini has already <span class="anchor" id="line-248"></span>committed a fix in the Honeybee series. <span class="anchor" id="line-249"></span><span class="anchor" id="line-250"></span><p class="line874">Launchpad excels at tracking how an individual bug affects different <span class="anchor" id="line-251"></span>communities and contexts; we'll see more of that later in this guide. <span class="anchor" id="line-252"></span><span class="anchor" id="line-253"></span><span class="anchor" id="line-254"></span><p class="line867"> <h2 id="Continuity_axis:_Continuous_or_discrete_goals.3F">Continuity axis: Continuous or discrete goals?</h2> <span class="anchor" id="line-255"></span><span class="anchor" id="line-256"></span><p class="line874">Continuous goals are project goals to exist beyond the life of a series. <span class="anchor" id="line-257"></span><span class="anchor" id="line-258"></span><ul><li>Incomplete features and fixes for a series become the goals of the <span class="anchor" id="line-259"></span>next series. <span class="anchor" id="line-260"></span></li><li>The priority of fixes and features do not necessarily change from <span class="anchor" id="line-261"></span>one series to the next. <span class="anchor" id="line-262"></span></li><li><p class="line891"><em>Trailing series</em> development encourages continuous goals. <span class="anchor" id="line-263"></span><span class="anchor" id="line-264"></span></li></ul><p class="line874">Discrete goals belong to the series and they are not important after <span class="anchor" id="line-265"></span>the series. <span class="anchor" id="line-266"></span><span class="anchor" id="line-267"></span><ul><li>Incomplete features and fixes are untargeted. <span class="anchor" id="line-268"></span></li><li>The incomplete features and fixes must re-evaluated for the next <span class="anchor" id="line-269"></span>development series. <span class="anchor" id="line-270"></span></li><li>The priority of each bug or feature will change because the goals <span class="anchor" id="line-271"></span>of the new series changes. <span class="anchor" id="line-272"></span></li><li><p class="line891"><em>Leading series</em> development encourages discrete goals. <span class="anchor" id="line-273"></span><span class="anchor" id="line-274"></span><span class="anchor" id="line-275"></span></li></ul><p class="line867"> <h2 id="Problems_when_targeting_work_to_a_series">Problems when targeting work to a series</h2> <span class="anchor" id="line-276"></span><span class="anchor" id="line-277"></span><ul><li>You cannot untarget a bug from a series. <span class="anchor" id="line-278"></span>Targeting created a bugtask and that cannot be deleted! You can mark <span class="anchor" id="line-279"></span>The series bugtask as invalid, but still clutters the interface. <span class="anchor" id="line-280"></span><p class="line891"><strong>This is incompatible with continuous goals.</strong> <span class="anchor" id="line-281"></span><a class="https" href="https://bugs.launchpad.net/malone/+bug/211855">bug 211855</a> <span class="anchor" id="line-282"></span><span class="anchor" id="line-283"></span></li><li class="gap">You cannot move a bug between a series and milestone. <span class="anchor" id="line-284"></span>As you revise your plans, you need to move bugs to be find anytime <span class="anchor" id="line-285"></span>in a series to a specific time, but you cannot. <span class="anchor" id="line-286"></span><span class="anchor" id="line-287"></span></li><li class="gap">Targeting to series and milestones happen in separate places, and <span class="anchor" id="line-288"></span>milestones are much easier that series. <span class="anchor" id="line-289"></span><span class="anchor" id="line-290"></span></li><li class="gap">You can target a bug to be fixed in trunk or to a obsolete series, <span class="anchor" id="line-291"></span>which makes no sense. <span class="anchor" id="line-292"></span><p class="line862">Targeting rarely makes sense when working with <em>trailing series</em> <span class="anchor" id="line-293"></span>with one exception, when you want to backport a fix in trunk to <span class="anchor" id="line-294"></span>a supported series. <span class="anchor" id="line-295"></span><a class="https" href="https://bugs.launchpad.net/malone/+bug/424118">bug 424118</a>, <span class="anchor" id="line-296"></span><a class="https" href="https://bugs.launchpad.net/malone/+bug/369419">bug 369419</a> <span class="anchor" id="line-297"></span><span class="anchor" id="line-298"></span></li><li class="gap">Series reporting appears to be broken. <span class="anchor" id="line-299"></span>Viewing the bugs for a series does not show you the bugs targeted to <span class="anchor" id="line-300"></span>the series' milestones. The milestone is just a subset of the series. <span class="anchor" id="line-301"></span>If you move a milestone to another series, you know you are also moving <span class="anchor" id="line-302"></span>the targeted bugs to that series. <span class="anchor" id="line-303"></span><p class="line891"><a class="https" href="https://bugs.launchpad.net/malone/+bug/423692">bug 423692</a>, <span class="anchor" id="line-304"></span><a class="https" href="https://bugs.launchpad.net/malone/+bug/314432">bug 314432</a> <span class="anchor" id="line-305"></span><span class="anchor" id="line-306"></span><span class="anchor" id="line-307"></span></li></ul><p class="line867"> <h1 id="Releases">Releases</h1> <span class="anchor" id="line-308"></span><span class="anchor" id="line-309"></span><p class="line874">Launchpad helps you to record and publicise the actual details of your <span class="anchor" id="line-310"></span>release, such as its release date and changelog. Each release shows up in the <span class="anchor" id="line-311"></span>timeline on your project's Launchpad home page, providing a historical record <span class="anchor" id="line-312"></span>of what happened and when. <span class="anchor" id="line-313"></span><span class="anchor" id="line-314"></span><p class="line867"> <h1 id="Next_step">Next step</h1> <span class="anchor" id="line-315"></span><span class="anchor" id="line-316"></span><p class="line862">Making those files available for <a href="/Projects/FileDownloads">download</a> is what <span class="anchor" id="line-317"></span>we'll look at next. <span class="anchor" id="line-318"></span><span class="anchor" id="line-319"></span><div><table style="&quot; width: 100%; &quot;"><tbody><tr> <td><p class="line891"><small><a href="/Projects/Registering">< Registering a project</a></small></td> <td style="&quot; text-align: right; &quot;"><p class="line891"><small><a href="/Projects/FileDownloads">Publishing files for download ></a></small></td> </tr> </tbody></table></div><span class="anchor" id="line-320"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">Projects/SeriesMilestonesReleases (last edited 2012-07-11 16:11:30 by <span title="??? @ pool-108-28-25-212.washdc.fios.verizon.net[108.28.25.212]">pool-108-28-25-212</span>)</p> <div id="pagebottom"></div> </div> <div id="footer"> <p class="menu"> <a href="https://help.launchpad.net/Legal">Terms of use</a> | <a href="https://launchpad.net/feedback">Help improve Launchpad</a> | <a href="https://launchpad.net/faq">FAQ</a> | <a href="/RecentChanges">Recent Changes</a></p> <p> <a rel="license" href="http://creativecommons.org/licenses/by/2.0/uk/"> <span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">Launchpad Help</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://canonical.com/" property="cc:attributionName" rel="cc:attributionURL">Canonical Ltd</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/2.0/uk/">Creative Commons Attribution 2.0 UK: England & Wales License</a>. <img alt="Creative Commons License" style="border-width:0;vertical-align:middle;" src="https://licensebuttons.net/l/by/2.0/uk/80x15.png" /></a> </p> <p>© 2004-2019 <a href="https://canonical.com/" target="_blank">Canonical Limited.</a></p> </div> </body> </html>