Yocto Web Hob Design 0.0 — Archived: Difference between revisions
mNo edit summary  | 
				No edit summary  | 
				||
| Line 1: | Line 1: | ||
=== User Stories / Requirements ===  | === User Stories / Requirements ===  | ||
<div>  | |||
<span class="c0 c11"></span>  | |||
</div>  | |||
<span class="c0 c10"></span>  | |||
[# ][# ]  | |||
{| class="c15"  | |||
| class="c13" |  | |||
<span class="c0 c9">Role</span>  | |||
| class="c13" |  | |||
<span class="c0 c9">Function</span>  | |||
| class="c14 c16" |  | |||
<span class="c0 c9">Story</span>  | |||
| class="c4 c14" |  | |||
<span class="c0 c9"></span>  | |||
| class="c14 c18" |  | |||
<span class="c0 c9">Credit</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Layers</span>  | |||
| class="c7" |  | |||
<span class="c0">As an experienced image builder</span>  | |||
<span class="c0">I want to add my own layers so that I can create heavily customised images to suit my project.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to quickly create an image from default options so that I don't need to worry about customisation.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Projects</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to save my image configurations</span>  | |||
<span class="c0">so that I can reuse them at a later stage.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Testing</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to run a qemu* image after the build</span>  | |||
<span class="c0">so that I can tell that it works.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Deployment</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to write images to removable media easily</span>  | |||
<span class="c0">so that I can test the image on the real hardware (this can be hard to do manually).</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to add things (functionality)</span>  | |||
<span class="c0">so that I can customise my image to my needs.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Recipes</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to see the relationships between the recipes/packages</span>  | |||
<span class="c0">so that I can better refine the contents of my image.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Dashboard</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to see the status of the build in real time</span>  | |||
<span class="c0">so that I know what the progress is at any time.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Deployment</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to download my image files</span>  | |||
<span class="c0">so that I can deploy them and/or store them locally.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Projects</span>  | |||
| class="c7" |  | |||
<span class="c0">As a team member</span>  | |||
<span class="c0">I want to share my images and configurations with other team members</span>  | |||
<span class="c0">so that we can better collaborate.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Packages</span>  | |||
| class="c7" |  | |||
<span class="c0">As a team member</span>  | |||
<span class="c0">I want to be able to share packages with other team members</span>  | |||
<span class="c0">so they don't need to build them again.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As an engineer</span>  | |||
<span class="c0">I want to be able to create package groups by selecting packages individually</span>  | |||
<span class="c0">so other team members don't have to.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Dashboard</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to view the result of a build that has completed</span><span class="c0"> </span><span class="c0">in case it ran overnight (log)</span>  | |||
<span class="c0">so that I can see if I need to do it again or what went wrong.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Logs</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">if a build fails I want to see the build log with the error clearly highlighted and any relevant info</span>  | |||
<span class="c0">so I can figure out what went wrong.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Notifications</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to send failure output (logs, other relevant info) to a 3rd party</span>  | |||
<span class="c0">in case I can not fix the problem myself.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Configurations</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to go back after a build completes and edit selections / config</span>  | |||
<span class="c0">in case I forgot something.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Notifications</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to get notifications (email?) when a build completes</span>  | |||
<span class="c0">so I know when that happens what the result was briefly.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Scheduling</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to schedule builds</span>  | |||
<span class="c0">so that I don't have to run them immediately.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Scheduling</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to run or schedule more than one build to run in parallel</span>  | |||
<span class="c0">in order to save time and make maximum use of resources.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Dashboard</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to see understandable explanations of machines</span>  | |||
<span class="c0">so that I can make the right decisions.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Dashboard</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to see recipe and package descriptions in terms of functionality</span>  | |||
<span class="c0">so that I don't need to be a Linux wizard to customise my image.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to choose whether or not to continue when an error occurs</span>  | |||
<span class="c0">so I can get as much of the build done as possible ( -k )</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build history</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to see the history of my builds</span>  | |||
<span class="c0">so that I have access to any output I've created in the past - history is classified per project.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Configuration</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to name my images for the same configuration</span>  | |||
<span class="c0">so that I can easily identify them (but do not use naming for k</span><span class="c0">eeping separate </span><span class="c0">configs).</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Configuration</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to have multiple configurations within each project</span>  | |||
<span class="c0">so I can have similar settings for different target machines for the same project.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Templates</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder I want to be asked to save a template if the build was successful</span>  | |||
<span class="c0">So I can save time on my next build</span>  | |||
| class="c4" |  | |||
<span class="c0">2.c.i.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Templates</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder I want to be able to manage (delete) saved templates</span>  | |||
<span class="c0">So that I can focus on templates I need</span>  | |||
| class="c4" |  | |||
<span class="c0">2.c.ii.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to start from previous successful steps which does not have a build yet (history max 5)</span>  | |||
<span class="c0">So that </span><span class="c0">I don’t waste time on unsuccessful builds.</span>  | |||
| class="c4" |  | |||
<span class="c0">2.d.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Dashboard</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder I want to be able to stop the process of parsing recipes and then select another machine</span>  | |||
<span class="c0">So that </span><span class="c0">I don’t waste time on builds I don’t need</span><sup>[#cmnt1 [a]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">4.a.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Dashboard</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to see a progress bar so that I can see how far along I am in the process</span>  | |||
<span class="c0">So that I don’t waste time.</span>  | |||
| class="c4" |  | |||
<span class="c0">4.b.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to see an error dialog pop up and be brought back to Build Settings</span>  | |||
<span class="c0">So that </span><span class="c0">I can make changes.</span><sup>[#cmnt2 [b]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">4.c.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an</span><span class="c0"> image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to select a base image</span>  | |||
<span class="c0">so that I can b</span><span class="c0">uild without any customisation </span><span class="c0">and</span><span class="c0"> go to a complete build directly.</span><sup>[#cmnt3 [c]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">5.1.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to create my own image</span>  | |||
<span class="c0">so that I can a</span><span class="c0">dd more recipes on base images (select recipes), then build packages and then select a package.</span><sup>[#cmnt4 [d]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">5.2.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to select a base image, v</span><span class="c0">iew the packages and see a pop up a warning dialog explaining the current available packages if they are not a complete package list and then ask if want to proceed or not</span>  | |||
<span class="c0">so that I can create builds</span><sup>[#cmnt5 [e]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">5.3.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an</span><span class="c0"> image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to select a base image to </span><span class="c0">build selected recipes then select package</span>  | |||
<span class="c0">so that I can build a package.</span><sup>[#cmnt6 [f]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">5.3.1.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build an</span><span class="c0"> image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">if I don’t want to view the package I can go directly to select package</span>  | |||
<span class="c0">so that ------</span><sup>[#cmnt7 [g]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">5.3.2.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build packages</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder</span>  | |||
<span class="c0">I want to be able to stop the process of building packages and simply stop at the current page</span>  | |||
<span class="c0">so that I don’t get an image I don’t need.</span>  | |||
| class="c4" |  | |||
<span class="c0">6.a.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Image Builder</span>  | |||
| class="c3" |  | |||
<span class="c0">Build image</span>  | |||
| class="c7" |  | |||
<span class="c0">As an image builder I want to download the image (URL provided)</span>  | |||
<span class="c0">So that I can deploy the image</span>  | |||
| class="c4" |  | |||
<span class="c0">8.a.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0"></span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0"></span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Architect</span>  | |||
| class="c3" |  | |||
<span class="c0">C</span><span class="c0">onfiguration</span>  | |||
| class="c7" |  | |||
<span class="c0">As an architect</span>  | |||
<span class="c0">I want to be able to control the level of customisation available to team members</span>  | |||
<span class="c0">so that I have control over the project.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Architect</span>  | |||
| class="c3" |  | |||
<span class="c0">Create user</span>  | |||
| class="c7" |  | |||
<span class="c0">As an architect</span>  | |||
<span class="c0">I want to create Webhob users and give them access to projects</span>  | |||
<span class="c0">so that I can manage my resources.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0"></span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0"></span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Team Member</span>  | |||
| class="c3" |  | |||
<span class="c0">Projects</span>  | |||
| class="c7" |  | |||
<span class="c0">As a team member</span>  | |||
<span class="c0">I want to share my images and configurations with other team members so that we can better collaborate.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Team Member</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0">As a team member I want to be able to share packages with other team members so they don't need to build them again.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Team Member</span>  | |||
| class="c3" |  | |||
<span class="c0">Login</span>  | |||
| class="c7" |  | |||
<span class="c0">As an admin</span>  | |||
<span class="c0">I want actions to be recorded against individual users</span>  | |||
<span class="c0">so that there is an audit trail</span><span class="c0">. </span>  | |||
| class="c4" |  | |||
<span class="c0">1.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0"></span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0"></span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Engineer</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As an engineer</span>  | |||
<span class="c0">I want to be able to create package groups by selecting packages individually</span>  | |||
<span class="c0">so other team members don't have to.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0"></span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0"></span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Project Manager</span>  | |||
| class="c3" |  | |||
<span class="c0">Archiving</span>  | |||
| class="c7" |  | |||
<span class="c0">As a project manager</span>  | |||
<span class="c0">I want to archive a finished projects</span>  | |||
<span class="c0">so that work can be preserved and recovered with minimum storage needs.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0"></span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0"></span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Sysadmin</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As a sysadmin I want to be able to control how much of the available server resources each user can use so that there is fair sharing. </span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Sysadmin</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As a sysadmin I want to be able to invite guest users so that guests can login.</span>  | |||
| class="c4" |  | |||
<span class="c0">0.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Sysadmin</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As a sysadmin I want to be able to reserve available bitbake for user’s requests</span>  | |||
<span class="c0">s</span><span class="c0">o that ------ </span><sup>[#cmnt8 [h]]</sup>  | |||
| class="c4" |  | |||
<span class="c0">Multi-user 1.</span>  | |||
| class="c6" |  | |||
<span class="c0">Shane Wang</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c3" |  | |||
<span class="c0"></span>  | |||
| class="c7" |  | |||
<span class="c0"></span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0"></span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Architect</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As an architect I want to be able to control the level of customisation available to team members so that I have control over the project.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|- class="c8"  | |||
| class="c3" |  | |||
<span class="c0">Architect</span>  | |||
| class="c3" |  | |||
<span class="c0">Groups</span>  | |||
| class="c7" |  | |||
<span class="c0">As an architect I want to create Webhob users and give them access to projects so that I can manage my resources.</span>  | |||
| class="c4" |  | |||
<span class="c0"></span>  | |||
| class="c6" |  | |||
<span class="c0">London team</span>  | |||
|}  | |||
<span class="c0"></span>  | |||
<span class="c0 c11"></span>  | |||
<sup>[#cmnt9 [i]]</sup>  | |||
<div>  | |||
<span class="c0 c11"></span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref1 [a]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">Better reason?</span>  | |||
----  | |||
<span class="c0 c11">bluelightning:</span>  | |||
<span class="c0 c11">in case I selected the wrong machine?</span>  | |||
----  | |||
<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">I'm not sure what that means actually in the original document. Let me know if it comes out or not.</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref2 [b]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">Better reason?</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref3 [c]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">Make sense?</span>  | |||
----  | |||
<span class="c0 c11">bluelightning:</span>  | |||
<span class="c0 c11">Sounds like this is covered by one of the other stories above...</span>  | |||
----  | |||
<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">Well sort of, but not really. I guess it has a different intent - building without customisation. But you said this shouldn't be in here though right?</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref4 [d]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">Doesn't really make sense does it?</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref5 [e]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">Needs work...</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref6 [f]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">This one is also not great...</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref7 [g]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">This one doesn't make much sense as a story from the requirements...</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref8 [h]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">?</span>  | |||
</div><div class="c12">  | |||
[#cmnt_ref9 [i]]<span class="c0 c11">Jim Kosem:</span>  | |||
<span class="c0 c11">By the way, went back and added reference numbers that match up to Shane's outline.</span>  | |||
</div>  | |||
Revision as of 12:03, 2 May 2012
User Stories / Requirements
[# ][# ]
| 
 Role  | 
 Function  | 
 Story  | 
 
  | 
 Credit  | 
| 
 Image Builder  | 
 Layers  | 
 As an experienced image builder I want to add my own layers so that I can create heavily customised images to suit my project.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to quickly create an image from default options so that I don't need to worry about customisation.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Projects  | 
 As an image builder I want to save my image configurations so that I can reuse them at a later stage.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Testing  | 
 As an image builder I want to be able to run a qemu* image after the build so that I can tell that it works.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Deployment  | 
 As an image builder I want to be able to write images to removable media easily so that I can test the image on the real hardware (this can be hard to do manually).  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to be able to add things (functionality) so that I can customise my image to my needs.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Recipes  | 
 As an image builder I want to see the relationships between the recipes/packages so that I can better refine the contents of my image.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to be able to see the status of the build in real time so that I know what the progress is at any time.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Deployment  | 
 As an image builder I want to download my image files so that I can deploy them and/or store them locally.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Projects  | 
 As a team member I want to share my images and configurations with other team members so that we can better collaborate.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Packages  | 
 As a team member I want to be able to share packages with other team members so they don't need to build them again.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Groups  | 
 As an engineer I want to be able to create package groups by selecting packages individually so other team members don't have to.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to be able to view the result of a build that has completed in case it ran overnight (log) so that I can see if I need to do it again or what went wrong.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Logs  | 
 As an image builder if a build fails I want to see the build log with the error clearly highlighted and any relevant info so I can figure out what went wrong.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Notifications  | 
 As an image builder I want to be able to send failure output (logs, other relevant info) to a 3rd party in case I can not fix the problem myself.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Configurations  | 
 As an image builder I want to be able to go back after a build completes and edit selections / config in case I forgot something.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Notifications  | 
 As an image builder I want to be able to get notifications (email?) when a build completes so I know when that happens what the result was briefly.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Scheduling  | 
 As an image builder I want to be able to schedule builds so that I don't have to run them immediately.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Scheduling  | 
 As an image builder I want to be able to run or schedule more than one build to run in parallel in order to save time and make maximum use of resources.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to see understandable explanations of machines so that I can make the right decisions.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to see recipe and package descriptions in terms of functionality so that I don't need to be a Linux wizard to customise my image.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to be able to choose whether or not to continue when an error occurs so I can get as much of the build done as possible ( -k )  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Build history  | 
 As an image builder I want to see the history of my builds so that I have access to any output I've created in the past - history is classified per project.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Configuration  | 
 As an image builder I want to name my images for the same configuration so that I can easily identify them (but do not use naming for keeping separate configs).  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Configuration  | 
 As an image builder I want to have multiple configurations within each project so I can have similar settings for different target machines for the same project.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Templates  | 
 As an image builder I want to be asked to save a template if the build was successful So I can save time on my next build  | 
 2.c.i.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Templates  | 
 As an image builder I want to be able to manage (delete) saved templates So that I can focus on templates I need  | 
 2.c.ii.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to start from previous successful steps which does not have a build yet (history max 5) So that I don’t waste time on unsuccessful builds.  | 
 2.d.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to be able to stop the process of parsing recipes and then select another machine So that I don’t waste time on builds I don’t need[#cmnt1 [a]]  | 
 4.a.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to see a progress bar so that I can see how far along I am in the process So that I don’t waste time.  | 
 4.b.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to see an error dialog pop up and be brought back to Build Settings So that I can make changes.[#cmnt2 [b]]  | 
 4.c.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to be able to select a base image so that I can build without any customisation and go to a complete build directly.[#cmnt3 [c]]  | 
 5.1.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to create my own image so that I can add more recipes on base images (select recipes), then build packages and then select a package.[#cmnt4 [d]]  | 
 5.2.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to select a base image, view the packages and see a pop up a warning dialog explaining the current available packages if they are not a complete package list and then ask if want to proceed or not so that I can create builds[#cmnt5 [e]]  | 
 5.3.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to select a base image to build selected recipes then select package so that I can build a package.[#cmnt6 [f]]  | 
 5.3.1.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder if I don’t want to view the package I can go directly to select package so that ------[#cmnt7 [g]]  | 
 5.3.2.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build packages  | 
 As an image builder I want to be able to stop the process of building packages and simply stop at the current page so that I don’t get an image I don’t need.  | 
 6.a.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build image  | 
 As an image builder I want to download the image (URL provided) So that I can deploy the image  | 
 8.a.  | 
 Shane Wang  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 Architect  | 
 Configuration  | 
 As an architect I want to be able to control the level of customisation available to team members so that I have control over the project.  | 
 
  | 
 London team  | 
| 
 Architect  | 
 Create user  | 
 As an architect I want to create Webhob users and give them access to projects so that I can manage my resources.  | 
 
  | 
 London team  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 Team Member  | 
 Projects  | 
 As a team member I want to share my images and configurations with other team members so that we can better collaborate.  | 
 
  | 
 London team  | 
| 
 Team Member  | 
 Groups 
  | 
 As a team member I want to be able to share packages with other team members so they don't need to build them again.  | 
 
  | 
 London team  | 
| 
 Team Member  | 
 Login  | 
 As an admin I want actions to be recorded against individual users so that there is an audit trail.  | 
 1.  | 
 Shane Wang  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 Engineer  | 
 Groups  | 
 As an engineer I want to be able to create package groups by selecting packages individually so other team members don't have to.  | 
 
  | 
 London team  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 Project Manager  | 
 Archiving  | 
 As a project manager I want to archive a finished projects so that work can be preserved and recovered with minimum storage needs.  | 
 
  | 
 London team  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 Sysadmin  | 
 Groups  | 
 As a sysadmin I want to be able to control how much of the available server resources each user can use so that there is fair sharing.  | 
 
  | 
 London team  | 
| 
 Sysadmin  | 
 Groups  | 
 As a sysadmin I want to be able to invite guest users so that guests can login.  | 
 0.  | 
 Shane Wang  | 
| 
 Sysadmin  | 
 Groups  | 
 As a sysadmin I want to be able to reserve available bitbake for user’s requests so that ------ [#cmnt8 [h]]  | 
 Multi-user 1.  | 
 Shane Wang  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 Architect  | 
 Groups  | 
 As an architect I want to be able to control the level of customisation available to team members so that I have control over the project.  | 
 
  | 
 London team  | 
| 
 Architect  | 
 Groups  | 
 As an architect I want to create Webhob users and give them access to projects so that I can manage my resources.  | 
 
  | 
 London team  | 
[#cmnt9 [i]]
[#cmnt_ref1 [a]]Jim Kosem:
Better reason?
bluelightning:
in case I selected the wrong machine?
Jim Kosem:
I'm not sure what that means actually in the original document. Let me know if it comes out or not.
[#cmnt_ref2 [b]]Jim Kosem:
Better reason?
[#cmnt_ref3 [c]]Jim Kosem:
Make sense?
bluelightning:
Sounds like this is covered by one of the other stories above...
Jim Kosem:
Well sort of, but not really. I guess it has a different intent - building without customisation. But you said this shouldn't be in here though right?
[#cmnt_ref4 [d]]Jim Kosem:
Doesn't really make sense does it?
[#cmnt_ref5 [e]]Jim Kosem:
Needs work...
[#cmnt_ref6 [f]]Jim Kosem:
This one is also not great...
[#cmnt_ref7 [g]]Jim Kosem:
This one doesn't make much sense as a story from the requirements...
[#cmnt_ref8 [h]]Jim Kosem:
?
[#cmnt_ref9 [i]]Jim Kosem:
By the way, went back and added reference numbers that match up to Shane's outline.