Description
A good user story should be (I-N-V-E-S-T principle)
- Independent (from other user stories, allowing to realize them in any order);
- Negotiable (omit details that would freeze the story);
- Valuable (implementation delivers an increment of functionality, observable by and useful to users);
- Estimable (developers should be able to estimate its size relative to other stories);
- Sizable (implementation fits in one iteration – if it needs many to complete, it is an EPIC);
- Testable (user must be able to check the conditions of satisfaction).
Description
*As a developer, I'd like to use a CLI, in order to scaffold a cobalt template and setup my local environment with the test harness, cloud security credentials and template configuration settings.
Acceptance Criteria
Reference: [Done-Done Checklist] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/DoneDone.md)
- Component diagram outlining the functional boundaries for all CLI scripts and components.
- Should verify that I can install the CLI on my local machine.
- The CLI allows me to select the service principal used for terraform deployments
- My
.env
is pre-filled by the CLI after selecting my service principal and storage account. - All bash scripts are derived from bash wizard.
- The cli actions include both unit and integration tests.
- Artifacts required to run the test harness locally are pulled down via the CLI.
- Terraform varibale and deployment files are auto generated once the target template name is provided.
- Pre-requisite dependencies are validated via the CLI.
Resources
Technical Design Document
Mockups
Tasks
Stories are intended to be completed in a single sprint; if task breakdown creates addition work then team should discuss promoting the Story to an Epic.
Reference: [Minimal Valuable Slices] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/MinimalSlices.md)
Reference: [How to Write Better Tasks] (http://agilebutpragmatic.blogspot.com/2012/04/splitting-story-into-tasks-how-to-write.html)
Assignee should break down work into tasks here