Getting started with agile developement using the Atlassian Suite at - - PowerPoint PPT Presentation

getting started with agile developement using the
SMART_READER_LITE
LIVE PREVIEW

Getting started with agile developement using the Atlassian Suite at - - PowerPoint PPT Presentation

. . . . . . Getting started with agile developement using the Atlassian Suite at DESY Jrgen Starek and Karsten Schwank November 25, 2014 Jrgen Starek and Karsten Schwank Agile Development with JIRA@DESY . . . . . . . Jrgen


slide-1
SLIDE 1

. . . . . .

Getting started with agile developement using the Atlassian Suite at DESY

Jürgen Starek and Karsten Schwank November 25, 2014

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-2
SLIDE 2

. . . . . .

. . Content

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-3
SLIDE 3

. . . . . .

Agile Development with Scrum Atlassian Tools

What to expect

  • Brief introduction into Scrum
  • Example from Summer Students’ project
  • Stash walk-through
  • Getting started with Bamboo

What we expect

  • Questions
  • Requests on the Demo parts

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-4
SLIDE 4

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Agile Development with Scrum

. 1 Agile Development with Scrum

Goals and Motivation Framework Summer Students’ project Questions

. . 2 Atlassian Tools

Stash: Repository Management Bamboo: Continuous Integration and Testing

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-5
SLIDE 5

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Goals and Motivation

  • Transparent project progress
  • Be able to react to changing requirements
  • Short “time to market”
  • Be able to release any time
  • Motivation of developers

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-6
SLIDE 6

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Framework

Framework

  • Fixed set of roles
  • Fixed (basic) set of meetings
  • Fixed set of artefacts
  • Principles

Definition of work packages

  • Epics > User Stories > Subtasks
  • Times estimated in Story Points
  • Vertical cuts → affect all layers

Actual work done in Sprints

  • Work on fixed set of User Stories
  • Usually 2-4 weeks

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-7
SLIDE 7

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Roles

  • Product Owner:
  • responsible for projects rentability
  • defines requirements
  • decides about priority of features
  • reports progress to stakeholders
  • accepts or rejects increments
  • Scrum Master:
  • responsible for team effectiveness
  • coach, mentor, moderator, trainer
  • shields team from external influences
  • removes impediments
  • Developer:
  • fixes bugs
  • implements user stories
  • refactors code
  • writes tests
  • maintains Sprint Backlog
  • reports progress

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-8
SLIDE 8

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Meetings

  • Sprint Kick-Off
  • Decide what user-stories to implement in Sprint
  • Daily Scrum
  • Standup: Work done, work planned, impediments
  • More discussion as needed
  • Sprint Review
  • Present work to Product Owner and confirm it is “done”
  • Sprint Retrospective
  • Review internal process, suggest improvements

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-9
SLIDE 9

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Artefacts

  • Product Backlog
  • List of not yet implemented

Epics and User-Stories

  • Sorted by importance and

value

  • May be modified at any time
  • Sprint Backlog
  • List of User-Stories with

detailed sub-tasks

  • Fixed for the Sprint
  • Burndown Chart
  • One chart per Sprint
  • Graph of work done over

time Figure: Graphics by Logan Ingalls. Licensed under CC-A 2.0 via Wikimedia Commons

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-10
SLIDE 10

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Scrum Process

Figure: ”Scrum process” by Lakeworks - Own work. Licensed under GNU Free Documentation License via Wikimedia Commons

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-11
SLIDE 11

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Principles

Some of the principles are

  • Pair Programming
  • Test Driven Developement
  • Continuous Integration
  • ...

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-12
SLIDE 12

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Summer Students’ project

  • Team:
  • Product Owner: Jürgen
  • Scrum Master: Karsten
  • Developers: Lilit, Victor
  • Sprints: 1 Week
  • Meetings:
  • Kickoff: Friday

Afternoon

  • Standup: Daily 11:00
  • Retrospective: Friday

11:30 Figure: NexusBuilder 0.1

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-13
SLIDE 13

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

. . Summer Students’ project

  • Team:
  • Product Owner: Jürgen
  • Scrum Master: Karsten
  • Developers: Lilit, Victor
  • Sprints: 1 Week
  • Meetings:
  • Kickoff: Friday

Afternoon

  • Standup: Daily 11:00
  • Retrospective: Friday

11:30 Figure: NexusBuilder 0.1

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-14
SLIDE 14

. . . . . .

Agile Development with Scrum Atlassian Tools Goals and Motivation Framework Summer Students’ project Questions

Questions?

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-15
SLIDE 15

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Atlassian Tools

. 1 Agile Development with Scrum

Goals and Motivation Framework

Roles Meetings Artefacts

Summer Students’ project Questions

. . 2 Atlassian Tools

Stash: Repository Management Bamboo: Continuous Integration and Testing

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-16
SLIDE 16

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Stash

Simple use cases for individuals and workgroups:

  • supports git for version control
  • multiple repositories per project
  • access management
  • branch management
  • private repositories

More advanced use cases:

  • integration in agile workflows with Jira and Bamboo

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-17
SLIDE 17

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Stash and the Others

  • SourceTree: Atlassian git and hg client for Win and Mac
  • Mercurial: Currently not supported
  • Ad-hoc ports via fast-export or hg-git

(https://github.com/frej/fast-export or http://hg-git.github.io) possible, but tricky

  • Subversion:
  • Server http://svnsrv.desy.de from Zeuthen

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-18
SLIDE 18

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Stash: Projects Overview

After logging in, stash shows us the overview of all projects we are allowed to see.

Figure: Projects Overview

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-19
SLIDE 19

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Stash: Create Project

If we have sufficient rights we can create a new project by clicking on the “Create project“-button

Figure: create a project

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-20
SLIDE 20

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Empty Project

After creating a new project Stash shows us the empty repository page

Figure: newly created project

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-21
SLIDE 21

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Create a new repository

Figure: new repository

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-22
SLIDE 22

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: empty repository

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-23
SLIDE 23

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: repository details

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-24
SLIDE 24

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: pull requests

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-25
SLIDE 25

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: repositories

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-26
SLIDE 26

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: source

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-27
SLIDE 27

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: branches

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-28
SLIDE 28

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: create pull request

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-29
SLIDE 29

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: pull request

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-30
SLIDE 30

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: review pull request

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-31
SLIDE 31

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: branches network

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-32
SLIDE 32

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: branches network

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-33
SLIDE 33

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Private repositories

  • Until now: Repositories as part of projects
  • Projects can be made private
  • ”Proper“ private repositories are created in one’s account page

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-34
SLIDE 34

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: Creating private repositories

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-35
SLIDE 35

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Figure: List of private repositories and access URL

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-36
SLIDE 36

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . How do I / we get on?

  • Write to it-atlassian@desy.de, describing your use case and ask for

Stash access

  • After getting an account, you can create projects and repositories

yourself

  • Please use responsibly (and keep the distinction between projects

and repositories in mind)

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-37
SLIDE 37

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Basics and concepts

Compile, test and (potentially) package and deploy your code

  • at every commit to the git repository
  • at given time intervals
  • nightly

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-38
SLIDE 38

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Advantages

...for teams:

  • Overview of development

status, semi-public status display

  • Confidence when editing other

people’s code

  • Overview of implemented

bugfixes in releases

  • simple, centralized build and

deployment to several targets ...for individuals:

  • Confidence when editing code

left alone since last year

  • Overview of implemented

bugfixes in releases

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-39
SLIDE 39

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . A use case for multiplatform targets

  • Optimize software for a heterogenuous cluster like it-hpc or NAF
  • Have Bamboo build versions for i386, i686 and all target

environments

  • Let Bamboo package the results and store them centrally
  • Deploy as needed (using helper scripts or similar)
  • Ask us if you need special build environments

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-40
SLIDE 40

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Bamboo vs. Jenkins

  • Jenkins offers most of the features Bamboo has
  • For existing installations:
  • Integration with Stash and Jira possible, but more work
  • not supported by IT

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-41
SLIDE 41

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

. . Documentation

  • Atlassian documentation on the web:

https://confluence.atlassian.com/display/ALLDOC/

  • DESY IT mailing list for further questions:

it-atlassian@desy.de

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-42
SLIDE 42

. . . . . .

Agile Development with Scrum Atlassian Tools Stash: Repository Management Bamboo: Continuous Integration and Testing

Questions?

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-43
SLIDE 43

. . . . . .

Recap Jira Agile Integration

. . Content

. 3 Recap . . 4 Jira Agile

Product Backlog Sprint Backlog Burndown Chart

. . 5 Integration

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-44
SLIDE 44

. . . . . .

Recap Jira Agile Integration

What to expect

  • Short recap of last weeks presentation
  • Basic Workflows with Jira Agile (Demo)
  • Integrate Jira, Stash and Bamboo (Demo)

What we expect

  • Questions
  • Requests on the Demo parts

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-45
SLIDE 45

. . . . . .

Recap Jira Agile Integration

. . Recap Scrum

  • Roles: Product Owner, Scrum Master, Developer
  • Artefacts: Product Backlog, Sprint Backlog, Burndown Chart
  • Meetings: Sprint Kickoff, Daily Scrum, Sprint Review, Sprint

Retrospective

  • Principles: TDD, CI, Pair Programming, ...

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-46
SLIDE 46

. . . . . .

Recap Jira Agile Integration

. . Recap Scrum

  • Roles: Product Owner, Scrum Master, Developer
  • Artefacts: Product Backlog, Sprint Backlog, Burndown Chart
  • Meetings: Sprint Kickoff, Daily Scrum, Sprint Review, Sprint

Retrospective

  • Principles: TDD, CI, Pair Programming, ...

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-47
SLIDE 47

. . . . . .

Recap Jira Agile Integration

. . Recap Scrum

  • Roles: Product Owner, Scrum Master, Developer
  • Artefacts: Product Backlog, Sprint Backlog, Burndown Chart
  • Meetings: Sprint Kickoff, Daily Scrum, Sprint Review, Sprint

Retrospective

  • Principles: TDD, CI, Pair Programming, ...

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-48
SLIDE 48

. . . . . .

Recap Jira Agile Integration

. . Recap Scrum

  • Roles: Product Owner, Scrum Master, Developer
  • Artefacts: Product Backlog, Sprint Backlog, Burndown Chart
  • Meetings: Sprint Kickoff, Daily Scrum, Sprint Review, Sprint

Retrospective

  • Principles: TDD, CI, Pair Programming, ...

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-49
SLIDE 49

. . . . . .

Recap Jira Agile Integration

. . Recap Stash

  • git repository management
  • public and private repositories
  • Review and merge Pull Requests

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-50
SLIDE 50

. . . . . .

Recap Jira Agile Integration

. . Recap Stash

  • git repository management
  • public and private repositories
  • Review and merge Pull Requests

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-51
SLIDE 51

. . . . . .

Recap Jira Agile Integration

. . Recap Stash

  • git repository management
  • public and private repositories
  • Review and merge Pull Requests

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-52
SLIDE 52

. . . . . .

Recap Jira Agile Integration

. . Recap Bamboo

  • Automated Builds
  • Build plan configuration
  • Triggers
  • Actions
  • Monitor build status

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-53
SLIDE 53

. . . . . .

Recap Jira Agile Integration

. . Recap Bamboo

  • Automated Builds
  • Build plan configuration
  • Triggers
  • Actions
  • Monitor build status

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-54
SLIDE 54

. . . . . .

Recap Jira Agile Integration

. . Recap Bamboo

  • Automated Builds
  • Build plan configuration
  • Triggers
  • Actions
  • Monitor build status

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-55
SLIDE 55

. . . . . .

Recap Jira Agile Integration Product Backlog Sprint Backlog Burndown Chart

. . Jira Agile

. 3 Recap . . 4 Jira Agile

Product Backlog Sprint Backlog Burndown Chart

. . 5 Integration

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-56
SLIDE 56

. . . . . .

Recap Jira Agile Integration Product Backlog Sprint Backlog Burndown Chart

. . Jira Agile

...the ”ag“ in agira.desy.de :-)

Figure: Jira Startpage

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-57
SLIDE 57

. . . . . .

Recap Jira Agile Integration Product Backlog Sprint Backlog Burndown Chart

. . Jira Agile

Figure: Product Backlog

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-58
SLIDE 58

. . . . . .

Recap Jira Agile Integration Product Backlog Sprint Backlog Burndown Chart

. . Jira Agile

Figure: Plan Sprints

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-59
SLIDE 59

. . . . . .

Recap Jira Agile Integration Product Backlog Sprint Backlog Burndown Chart

. . Jira Agile

Figure: Sprint Backlog

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-60
SLIDE 60

. . . . . .

Recap Jira Agile Integration Product Backlog Sprint Backlog Burndown Chart

. . Jira Agile

Figure: Report with Burndown Chart

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-61
SLIDE 61

. . . . . .

Recap Jira Agile Integration

. . Integration

. 3 Recap . . 4 Jira Agile

Product Backlog Sprint Backlog Burndown Chart

. . 5 Integration

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-62
SLIDE 62

. . . . . .

Recap Jira Agile Integration

. . Integration

The Atlassian tools are highly integrable

  • with each other
  • with other development tools

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-63
SLIDE 63

. . . . . .

Recap Jira Agile Integration

. . Starting work from Jira

Jira Agile offers ”plan“ and ”work“ views. To start implementing a task,

  • select a ticket from the work view
  • click ”Development -> Create branch“
  • (optionally: Check branch creation in Stash and Bamboo)
  • check out your new branch in your development environment and

implement the feature An equivalent command for manual branching is

$ g i t checkout −b MYPR −42−Task−t i t l e −from−J i r a $ # do something $ g i t push

  • r i g i n MYPR

−42−Task−t i t l e −from−J i r a

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-64
SLIDE 64

. . . . . .

Recap Jira Agile Integration

. . Testing and integrating your work

As soon as a subtask is implemented:

  • Push new code to origin
  • Bamboo should detect the commit and start building your branch

Once you are confident about your changes:

  • Create pull request
  • Have ticket closed

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-65
SLIDE 65

. . . . . .

Recap Jira Agile Integration

. . Integration with IntelliJ

Figure: Stash is accessed like any git repository

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-66
SLIDE 66

. . . . . .

Recap Jira Agile Integration

. . Integration with IntelliJ

Figure: There is a dedicated plugin to work with Jira issues...

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-67
SLIDE 67

. . . . . .

Recap Jira Agile Integration

. . Integration with IntelliJ

Figure: ...and monitor Bamboo stati

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-68
SLIDE 68

. . . . . .

Recap Jira Agile Integration

. . SourceTree

Comfortable git environment for Mac and Windows

Figure: Atlassian SourceTree

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY

slide-69
SLIDE 69

. . . . . .

Recap Jira Agile Integration

Questions?

Jürgen Starek and Karsten Schwank Agile Development with JIRA@DESY