diff options
Diffstat (limited to 'doc/development/agent/user_stories.md')
-rw-r--r-- | doc/development/agent/user_stories.md | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/doc/development/agent/user_stories.md b/doc/development/agent/user_stories.md new file mode 100644 index 00000000000..2929573ffd3 --- /dev/null +++ b/doc/development/agent/user_stories.md @@ -0,0 +1,77 @@ +--- +stage: Configure +group: Configure +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers +--- + +# Kubernetes Agent user stories **(PREMIUM ONLY)** + +The [personas in action](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#user-personas) +for the Kubernetes Agent are: + +- [Sasha, the Software Developer](https://about.gitlab.com/handbook/marketing/strategic-marketing/roles-personas/#sasha-software-developer). +- [Allison, the Application Operator](https://about.gitlab.com/handbook/marketing/strategic-marketing/roles-personas/#allison-application-ops). +- [Priyanka, the Platform Engineer](https://about.gitlab.com/handbook/marketing/strategic-marketing/roles-personas/#priyanka-platform-engineer). + +[Devon, the DevOps engineer](https://about.gitlab.com/handbook/marketing/strategic-marketing/roles-personas/#devon-devops-engineer) +is intentionally excluded here, as DevOps is more of a role than a persona. + +There are various workflows to support, so some user stories might seem to contradict each other. They don't. + +## Software Developer user stories + +<!-- vale gitlab.FirstPerson = NO --> + +- As a Software Developer, I want to push my code, and move to the next development task, + to work on business applications. +- As a Software Developer, I want to set necessary dependencies and resource requirements + together with my application code, so my code runs fine after deployment. + +<!-- vale gitlab.FirstPerson = YES --> + +## Application Operator user stories + +<!-- vale gitlab.FirstPerson = NO --> + +- As an Application Operator, I want to standardize the deployments used by my teams, + so I can support all teams with minimal effort. +- As an Application Operator, I want to have a single place to define all the deployments, + so I can assure security fixes are applied everywhere. +- As an Application Operator, I want to offer a set of predefined templates to + Software Developers, so they can get started quickly and can deploy to production + without my intervention, and I am not a bottleneck. +- As an Application Operator, I want to know exactly what changes are being deployed, + so I can fulfill my SLAs. +- As an Application Operator, I want deep insights into what versions of my applications + are running and want to be able to debug them, so I can fix operational issues. +- As an Application Operator, I want application code to be automatically deployed + to staging environments when new versions are available. +- As an Application Operator, I want to follow my preferred deployment strategy, + so I can move code into production in a reliable way. +- As an Application Operator, I want review all code before it's deployed into production, + so I can fulfill my SLAs. +- As an Application Operator, I want to be notified before deployment when new code needs my attention, + so I can review it swiftly. + +<!-- vale gitlab.FirstPerson = YES --> + +## Platform Engineer user stories + +<!-- vale gitlab.FirstPerson = NO --> + +- As a Platform Engineer, I want to restrict customizations to preselected values + for Operators, so I can fulfill my SLAs. +- As a Platform Engineer, I want to allow some level of customization to Operators, + so I don't become a bottleneck. +- As a Platform Engineer, I want to define all deployments in a single place, so + I can assure security fixes are applied everywhere. +- As a Platform Engineer, I want to define the infrastructure by code, so my + infrastructure management is testable, reproducible, traceable, and scalable. +- As a Platform Engineer, I want to define various policies that applications must + follow, so that I can fulfill my SLAs. +- As a Platform Engineer, I want approved tooling for log management and persistent storage, + so I can scale, secure, and manage them as needed. +- As a Platform Engineer, I want to be alerted when my infrastructure differs from + its definition, so I can make sure that everything is configured as expected. + +<!-- vale gitlab.FirstPerson = YES --> |