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 have a CLI that scaffolds out my template structure so I don't have a lot of manual setup.
Acceptance Criteria
Reference: [Done-Done Checklist] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/DoneDone.md)
- Should ‹testable condition that should be satisfied›
- Should ‹testable condition that should be satisfied›
- …
Also, here are a few points that need to be addressed:
- Constraint 1;
- Constraint 2;
- Constraint 3.
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
Command: Setup - Download module
- string flag: --template "bedrock/azure_simple" -- [repo]/[template_name]
- download from infra/templates
- create folder structure in current folder
- prompt for env items and create .env
- create blank main.tf file
Use case
- create project dir: my_cobalt_proj
- cd to my_cobalt_proj
- run
cobalt setup --template "cobalt/azure-simple"
- now
pwd
is
ianphil@afropro.local [~/src/tmp/my_cobalt_proj] ○ [basepy-3.7.1] [14:08:24]
> tree -a
.
├── .env
├── infra
│ └── templates
│ └── azure-simple-hw
│ ├── backend.tf
│ ├── main.tf
│ ├── outputs.tf
│ ├── provider.tf
│ ├── test
│ │ └── integration
│ │ └── azure_simple_integration_test.go
│ └── variables.tf
└── main.tf