Agile discussion (TeamA)

Sylvain Fargier (BE-CEM)

06/11/22

Agile/Scrum overview

Agile: Scrum

Agile/Scrum example cycle

Agile : Scrum ceremonies

Agile/Scrum ceremonies and timeline

Agile : Good Practices

General DevOps cycle
Planning poker deck

Our workflow

  •  Backlog
  • KanBan board (see Jira board)
  • Daily-Scrum
    • On Mattermost In addition to on-site stand-up dailies (on Monday)
  • Weekly code-reviews / demo
    • Friday afternoons, on site

Project management

KanBan board (Jira)&
Daily-scrums (Mattermost)

Projects & Repositories

Repository organisation and worflow
  • Peer-review oriented workflow
    • Using CERN/GitLab merge-requests
    • Relying on CI tests and analysis results
  • Per component maintainers
    • To empower and give sense of responsibility to developers
  • Homogeneous workflow rules

Team work

Merge-requests & CI (GitLab)
  • Weekly code-review
    • Show your work to others
    • Open discussions and exchanges
  • Weekly builds
    • Rebuild and validate everything
    • Dependencies, platforms, environment evolves,
    • "Better fix sooner than later"
  • Pair coding and reviews
    • Since software is all about learning

Quality & reviews

Playground code examples

Deployment & Production

  • Automated deployments
  • Roles separation
    • Developers are not admins but can trigger software deployment
  • Traceability and reproducibility
    • Version tag based (v1.x.x)
    • Deployed from versioned build environments

Deployments & Production

Continuous Deployment workflow
  • Project specific development environment
    • Container based using MRO/x-builder utilities
    • Identical to build environment used for production
    • No setup time required and identical results for all developers, project switch requires no setup/preparation time
  • Protected production environment
    • alpha/beta/production deployments for web-applications
      • container based, end-user validation and pre-production testing
    • Puppet based deployments for middleware
      • enforces deployed configuration and packages

Env. & Deployments