CINXE.COM
Blueprint - 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>Blueprint - 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: Blueprint" href="/Blueprint?diffs=1&show_att=1&action=rss_rc&unique=0&page=Blueprint&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="/Blueprint?action=raw"> <link rel="Alternate" media="print" title="Print View" href="/Blueprint?action=print"> <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="/Blueprint?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/Blueprint?action=AttachFile" rel="nofollow">Attachments</a></li><li> <form class="actionsmenu" method="GET" action="/Blueprint"> <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"> Blueprint </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> > Blueprint </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="#What_is_a_blueprint.3F">What is a blueprint?</a></li><li> <a href="#People:_roles_and_responsibilities">People: roles and responsibilities</a><ol><li> <a href="#Drivers">Drivers</a></li></ol></li><li> <a href="#Targeting_work">Targeting work</a><ol><li> <a href="#Your_project_roadmap">Your project roadmap</a></li></ol></li><li> <a href="#Subscribing_to_blueprints">Subscribing to blueprints</a></li><li> <a href="#Work_items">Work items</a><ol><li> <a href="#Work_item_statuses">Work item statuses</a></li><li> <a href="#Assignees">Assignees</a></li><li> <a href="#Milestones">Milestones</a></li></ol></li><li> <a href="#Sprints">Sprints</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><p class="line867"> <h1 id="Overview">Overview</h1> <span class="anchor" id="line-6"></span><span class="anchor" id="line-7"></span><p class="line862">Blueprint is a lightweight way to manage releases of your software and to track the progress of features and ideas, from initial concept to implementation. Using Blueprint, you can encourage contributions from right across your project's community, while targeting the best ideas to future <a href="/Projects/SeriesMilestonesReleases">releases</a>. <span class="anchor" id="line-8"></span><span class="anchor" id="line-9"></span><p class="line874">With very little administrative overhead, Blueprint helps you to create a roadmap for your project and shepherd individual features through to release. <span class="anchor" id="line-10"></span><span class="anchor" id="line-11"></span><p class="line862">To enable Blueprint for your project, follow the <tt class="backtick"></tt><tt class="backtick">Change details</tt><tt class="backtick"></tt> link on your project overview page and select the <tt class="backtick"></tt><tt class="backtick">This project uses Blueprint</tt><tt class="backtick"></tt> option. <span class="anchor" id="line-12"></span><span class="anchor" id="line-13"></span><p class="line867"> <h1 id="What_is_a_blueprint.3F">What is a blueprint?</h1> <span class="anchor" id="line-14"></span><span class="anchor" id="line-15"></span><p class="line874">A blueprint is a simple specification. It describes an idea - such as a feature or process - and tracks enough metadata to show its implementation status and who's involved. <span class="anchor" id="line-16"></span><span class="anchor" id="line-17"></span><p class="line874">Let's take a look at what information makes up a blueprint: <span class="anchor" id="line-18"></span><span class="anchor" id="line-19"></span><ul><li><p class="line891"><strong>Title and summary:</strong> some ideas are simple enough to express fully in the summary. <span class="anchor" id="line-20"></span></li><li><p class="line891"><strong>Work items:</strong> the steps necessary to complete the work of the blueprint, along with a status for each step <span class="anchor" id="line-21"></span></li><li><p class="line891"><strong>Link to further information:</strong> this can be any URL and is usually a wiki page where the idea or feature is fully explored. Launchpad doesn't provide a wiki facility. <span class="anchor" id="line-22"></span></li><li><p class="line891"><strong>People:</strong> who's working on this blueprint? You can optionally track the person drafting the blueprint, the assignee and the reviewer. <span class="anchor" id="line-23"></span></li><li><p class="line891"><strong>Drafting status:</strong> how well has this been discussed? Is it still just an idea or is it ready to code? <span class="anchor" id="line-24"></span></li><li><p class="line891"><strong>Implementation status</strong>. <span class="anchor" id="line-25"></span></li><li><p class="line891"><strong>Related bugs:</strong> link to any bug reports tracked in Launchpad that will be fixed or otherwise affected by this feature. <span class="anchor" id="line-26"></span></li><li><p class="line891"><strong>Code branches:</strong> while you're working on the implementation, you can upload/register branches your code branches in Launchpad and link to them from the blueprint. <span class="anchor" id="line-27"></span></li><li><p class="line891"><strong>Subscribers:</strong> people can <a href="/Blueprint#subscriptions">subscribe</a> to receive email updates when the blueprint changes. <span class="anchor" id="line-28"></span></li><li><p class="line891"><strong>Dependencies:</strong> which other blueprints must be implemented before this one? <span class="anchor" id="line-29"></span><span class="anchor" id="line-30"></span></li></ul><p class="line874">Launchpad Blueprint leaves you to manage your project in the way that you want. It imposes no project management structure but instead makes it easy for you, and your project's community, to suggest, develop and implement ideas and features. <span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span><p class="line867"> <h1 id="People:_roles_and_responsibilities">People: roles and responsibilities</h1> <span class="anchor" id="line-33"></span><span class="anchor" id="line-34"></span><p class="line874">We saw above that there are certain roles associated with each blueprint. Anyone can take any of these roles and anyone can set who is in any of those roles for a particular blueprint. That makes it very easy for members of your community to suggest new features and track their progress for everyone else to see, without requiring special permission. <span class="anchor" id="line-35"></span><span class="anchor" id="line-36"></span><p class="line874">However, to allow projects to plan future releases, Launchpad restricts who can prioritise and target blueprints and bugs. As you'd expect, the project-group and project owner have these permissions but Launchpad also allows owners to grant them to other individuals and teams. They take role that, in effect, is a release manager and that Launchpad calls the "driver". <span class="anchor" id="line-37"></span><span class="anchor" id="line-38"></span><p class="line867"> <h2 id="Drivers">Drivers</h2> <span class="anchor" id="line-39"></span><span class="anchor" id="line-40"></span><p class="line874">Drivers come in three flavours: <span class="anchor" id="line-41"></span><span class="anchor" id="line-42"></span><ul><li>project group <span class="anchor" id="line-43"></span></li><li>project/distribution <span class="anchor" id="line-44"></span></li><li>project/distribution series. <span class="anchor" id="line-45"></span><span class="anchor" id="line-46"></span></li></ul><p class="line874">Each driver's permission to target and prioritise trickles down the hierarchy, so, for example, project-group drivers also have driver permissions for each project within the group and each series in each of those projects. <span class="anchor" id="line-47"></span><span class="anchor" id="line-48"></span><p class="line874">As a project owner, you can set driver the driver of your project by <span class="anchor" id="line-49"></span><ul><li>Navigating to the Overview page of your project <span class="anchor" id="line-50"></span></li><li>Clicking on Change Details link toward the upper right <span class="anchor" id="line-51"></span></li><li>Clicking the white on black people link toward the top center <span class="anchor" id="line-52"></span></li><li>Making change <span class="anchor" id="line-53"></span></li><li>Clicking Save Changes <span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><span class="anchor" id="line-56"></span><span class="anchor" id="line-57"></span></li></ul><p class="line867"> <h1 id="Targeting_work">Targeting work</h1> <span class="anchor" id="line-58"></span><span class="anchor" id="line-59"></span><p class="line874">Launchpad Blueprint helps you to plan future release with two tools: <span class="anchor" id="line-60"></span><span class="anchor" id="line-61"></span><ul><li><p class="line891"><strong>milestones:</strong> points in time, such as a future release or development sprint <span class="anchor" id="line-62"></span></li><li><p class="line891"><strong>series goals:</strong> a statement of intention to work on the blueprint for a particular series. <span class="anchor" id="line-63"></span><span class="anchor" id="line-64"></span></li></ul><p class="line862">Although only drivers can target blueprints to milestones and set them as series goals, anyone can propose a blueprint as a series goal. As a driver or owner, you can review proposed goals by following the <tt class="backtick"></tt><tt class="backtick">Set goals</tt><tt class="backtick"></tt> link on your project's Blueprint overview page. <span class="anchor" id="line-65"></span><span class="anchor" id="line-66"></span><p class="line867"> <h2 id="Your_project_roadmap">Your project roadmap</h2> <span class="anchor" id="line-67"></span><span class="anchor" id="line-68"></span><p class="line874">As we saw earlier, you can tell Launchpad which other blueprints must be implemented before the blueprint you're working on. <span class="anchor" id="line-69"></span><span class="anchor" id="line-70"></span><p class="line874">Launchpad uses this information to recommend the order in which you might implement your project's blueprints. <span class="anchor" id="line-71"></span><span class="anchor" id="line-72"></span><p class="line867"><span class="anchor" id="subscription"></span> <span class="anchor" id="line-73"></span> <h1 id="Subscribing_to_blueprints">Subscribing to blueprints</h1> <span class="anchor" id="line-74"></span><span class="anchor" id="line-75"></span><p class="line862">By following the <tt class="backtick"></tt><tt class="backtick">Subscribe yourself</tt><tt class="backtick"></tt> link on a blueprint page, you can ask Launchpad to send you email notification of any changes to the blueprint. In most cases, you'll receive notification only of changes made to the blueprint itself in Launchpad and not to any further information, such as in an external wiki. <span class="anchor" id="line-76"></span><span class="anchor" id="line-77"></span><p class="line874">However, if the wiki software supports email change notifications, Launchpad can even notify you of changes to the wiki page. <span class="anchor" id="line-78"></span><span class="anchor" id="line-79"></span><p class="line862">If you're a blueprint owner and want Launchpad to know about updates to the related wiki page, ask the wiki admin how to send email notifications. Notifications should go to <tt class="backtick"></tt><tt class="backtick">notifications@specs.launchpad.net</tt><tt class="backtick"></tt>. <span class="anchor" id="line-80"></span><span class="anchor" id="line-81"></span><p class="line867"><span class="anchor" id="workitems"></span> <span class="anchor" id="line-82"></span> <h1 id="Work_items">Work items</h1> <span class="anchor" id="line-83"></span><span class="anchor" id="line-84"></span><p class="line874">As blueprints usually represent a larger chunk of work, it can be useful to break them down into smaller steps. <span class="anchor" id="line-85"></span><span class="anchor" id="line-86"></span><p class="line862">You can do this in the <em>Work items</em> text box and can keep track of the status of each of these smaller items. <span class="anchor" id="line-87"></span><span class="anchor" id="line-88"></span><p class="line874">Here's an example of how a set of work items might look: <span class="anchor" id="line-89"></span><span class="anchor" id="line-90"></span><p class="line867"><span class="anchor" id="line-91"></span><span class="anchor" id="line-92"></span><span class="anchor" id="line-93"></span><span class="anchor" id="line-94"></span><span class="anchor" id="line-95"></span><span class="anchor" id="line-96"></span><span class="anchor" id="line-97"></span><pre><span class="anchor" id="line-1"></span>[huwshimi] Design the user interaction: DONE <span class="anchor" id="line-2"></span>[huwshimi] Visual design: INPROGRESS <span class="anchor" id="line-3"></span>[danhg] Test the UI: TODO <span class="anchor" id="line-4"></span>[bigjools] Decide on an API format: POSTPONED <span class="anchor" id="line-5"></span>[matsubara] Bootstrap the dev environment: TODO <span class="anchor" id="line-6"></span>[matsubara] Set up Jenkins CI: TODO</pre><span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span><p class="line874">As you can see, each work item can have an assignee and sits on its own line and you indicate its status after a colon. <span class="anchor" id="line-100"></span><span class="anchor" id="line-101"></span><p class="line867"> <h2 id="Work_item_statuses">Work item statuses</h2> <span class="anchor" id="line-102"></span><span class="anchor" id="line-103"></span><p class="line874">You can give each work item one of four statuses: <span class="anchor" id="line-104"></span><span class="anchor" id="line-105"></span><ul><li>TODO <span class="anchor" id="line-106"></span></li><li>INPROGRESS <span class="anchor" id="line-107"></span></li><li>POSTPONED <span class="anchor" id="line-108"></span></li><li>DONE <span class="anchor" id="line-109"></span><span class="anchor" id="line-110"></span></li></ul><p class="line867"> <h2 id="Assignees">Assignees</h2> <span class="anchor" id="line-111"></span><span class="anchor" id="line-112"></span><p class="line874">If a particular work item has a person or team who is working on it, put their name at the state of the work item line. You should use the Launchpad ID for that person or team. <span class="anchor" id="line-113"></span><span class="anchor" id="line-114"></span><p class="line867"> <h2 id="Milestones">Milestones</h2> <span class="anchor" id="line-115"></span><span class="anchor" id="line-116"></span><p class="line874">Sometimes a blueprint can be targeted to one milestone but you鈥檒l have a individual work items that need to be targeted to a different milestone. That鈥檚 fine, you can tell Launchpad that a bunch of work items are for some other milestone. <span class="anchor" id="line-117"></span><span class="anchor" id="line-118"></span><p class="line874">In the work items text box, simply use a header like this: <span class="anchor" id="line-119"></span><span class="anchor" id="line-120"></span><p class="line867"><span class="anchor" id="line-121"></span><span class="anchor" id="line-122"></span><pre><span class="anchor" id="line-1-1"></span>Work items for <milestone>:</pre><span class="anchor" id="line-123"></span><span class="anchor" id="line-124"></span><p class="line874">If you enter an invalid milestone you鈥檒l get an error message and the opportunity to correct the text field. <span class="anchor" id="line-125"></span><span class="anchor" id="line-126"></span><p class="line867"> <h1 id="Sprints">Sprints</h1> <span class="anchor" id="line-127"></span><span class="anchor" id="line-128"></span><p class="line874">Many free software projects find that face to face meetings are a useful opportunity to make plans. They're also usually a great way to get to know your fellow project members. <span class="anchor" id="line-129"></span><span class="anchor" id="line-130"></span><p class="line874">Launchpad helps you plan development sprints by: <span class="anchor" id="line-131"></span><span class="anchor" id="line-132"></span><ul><li><p class="line862">allowing you to <a class="https" href="https://launchpad.net/sprints/+new">register</a> and publicise the meeting <span class="anchor" id="line-133"></span></li><li>track who's attending and allow people to register their intention to attend <span class="anchor" id="line-134"></span></li><li>mark specific blueprints for discussion at a meeting, thereby creating an agenda. <span class="anchor" id="line-135"></span><span class="anchor" id="line-136"></span></li></ul><p class="line862">As a meeting organiser, you can download a file of all the attendees. When subscribing to a blueprint, individuals can request that they're listed as an attendee of any meeting at which that blueprint is discussed by selecting the <tt class="backtick"></tt><tt class="backtick">Participation essential</tt><tt class="backtick"></tt> option. <span class="anchor" id="line-137"></span><span class="anchor" id="line-138"></span><p class="line862">Go see the <a class="https" href="https://blueprints.launchpad.net/sprints/+all">current list of all sprints</a> tracked in Launchpad. <span class="anchor" id="line-139"></span><span class="anchor" id="line-140"></span><p class="line867"> <h1 id="Next_step">Next step</h1> <span class="anchor" id="line-141"></span><span class="anchor" id="line-142"></span><p class="line862">Launchpad isn't just there for the planning, development, translation and bug fixing: it also helps you get your software to its users. Through your <a href="/Packaging/PPA">personal package archives</a>, Launchpad will build and host <span class="anchor" id="line-143"></span><span class="anchor" id="line-144"></span><div><table style="&quot; width: 100%; &quot;"><tbody><tr> <td><p class="line862"> <small><a href="/Answers/OfferingHelp">< Offering help</a> </small> </td> <td style="&quot; text-align: right; &quot;"><p class="line862"> <small><a href="/Packaging/PPA">Personal package archives ></a> </small> </td> </tr> </tbody></table></div><span class="anchor" id="line-145"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">Blueprint (last edited 2012-03-15 17:56:07 by <span title="??? @ host86-165-134-115.range86-165.btcentralplus.com[86.165.134.115]">host86-165-134-115</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>