Linking Upstream and Downstream Agile

40
1 Copyright ©2014 CollabNet, Inc. All Rights Reserved. Linking Upstream and Downstream Agile using Open Source Development Tools Streamline Agile Development—from Planning through Continuous Integration Manager Enterpise Agile Transformation Director of Professional Services Brian Dawson Dan Speers

description

Continuous Integration promises faster delivery of higher quality software through an integrated automated build, test, and release management. The greater challenge lies not within a project or team, but as you look to scale this across a larger organization or enterprise-wide. How do you allow teams to choose the tools and processes, yet ensure all stakeholders have full visibility and traceability across all your delivery pipelines and in real time? In this webinar, we will demonstrate how you can implement a CI environment leveraging popular open source tools (or any tool) using TeamForge.

Transcript of Linking Upstream and Downstream Agile

Page 1: Linking Upstream and Downstream Agile

1 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Linking Upstream and Downstream Agile using Open Source Development Tools Streamline Agile Development—from Planning through Continuous Integration

Manager Enterpise Agile Transformation Director of Professional Services

Brian Dawson Dan Speers

Page 2: Linking Upstream and Downstream Agile

2 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 2 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Introduction

Page 3: Linking Upstream and Downstream Agile

3 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Dan Speers, Director of Professional Services, CollabNet

With over 20 years of Software Experience Dan overssees Prefessions Services for CollabNet Darryl is an accomplished senior systems

architect, specializing in software development methodologies, virtualization, and cloud computing, combined with application lifecycle

management and agile best practices.

Brian Dawson, Manager Enterprise Agile Transformation, CollabNet

As a Senior Consultant at CollabNet, for 6 years Brian Dawson has helped software development organizations large and small improve

the Application Lifecycle Management process through the use of TeamForge. Prior to CollabNet, Brian spent 12 years in software

development. Ten of those years were spent at Sony Computer Entertainment where he worked as the Director of Tools and Technology

and oversaw the development and deployment of TeamForge as a worldwide collaboration portal.

Presenters

Page 4: Linking Upstream and Downstream Agile

4 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Overcoming Silos with Integrated Solutions – Demo

• Connecting Agile Upstream and Downstream – Demo

• Feedback and Reporting – Demo

• Conclusion

Agenda

Page 5: Linking Upstream and Downstream Agile

5 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• How would you characterize your experience with Continuous Integration?

– None at all

– In learning stage

– Somewhat experienced

– Very experienced

Poll

Page 6: Linking Upstream and Downstream Agile

6 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 6 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

What is Continuous Integration?

Page 7: Linking Upstream and Downstream Agile

7 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

What is CI?

“Continuous Integration is a software development practice where members of a team

integrate their work frequently, usually each person integrates at least daily - leading to

multiple integrations per day. Each integration is verified by an automated build

(including test) to detect integration errors as quickly as possible…this approach leads to

significantly reduced integration problems and allows a team to develop cohesive

software more rapidly.”

“Today, meaningful integration happens less in source control and more

frequently in a runtime environment… if you want to quickly verify that the work

of two developers is not conflicting, you need to run API tests, as well as some

functional tests scenarios. That means bringing the various services into an

integration test environment, and validating runtime functionality at a pace

similar to the classic CI build loop ” ]

Page 8: Linking Upstream and Downstream Agile

8 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

What is CI?

Page 9: Linking Upstream and Downstream Agile

9 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Why CI?

• Automation of repetitive manual processes

• More time focusing on adding value

• No need to wait hours, days, months to know how check-in

affects the build

• Constant availability for the build for testing, demo or release

• Shared accountability

• Increased team productivity

• Higher quality software, faster!

Page 10: Linking Upstream and Downstream Agile

10 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Agile Development is CI with consideration of planning and reporting

– Ensure fluid coordination and communication between stakeholders

– Track “plan” and work items

– Report

What is Agile Development?

Agile

Development

Plan

Define

Assign

Code Test

Commit Integrate

Test

Track

Report

Continuous

Integration

Report

Page 11: Linking Upstream and Downstream Agile

11 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Communication, collaboration, and coordination across large and/or distributed teams

• Silos blocking visibility and traceability across the development cycle

• User story, tasks, code commits, tests, defects/bugs

• Lack of real development metrics to spot patterns, issues

Challenges in CI and Agile Development

Page 12: Linking Upstream and Downstream Agile

12 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 12 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Overcoming Silos with Integrated Solutions

Page 13: Linking Upstream and Downstream Agile

13 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Communication, collaboration, and coordination across large and/or distributed teams

• Silos blocking visibility and traceability across the development cycle

• User story, tasks, code commits, tests, defects/bugs

• Lack of real development metrics to spot patterns, issues

Challenges in CI and Agile Development

Page 14: Linking Upstream and Downstream Agile

14 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Collaboration is Critical for Agility

Development IT Infrastructure

Production Operations

Virtualized Dev, Build, Test,

& Production Clouds

Separate Req/Bug/Task

Systems

QA and Test

Product Mgmt Customer Support

Managed Hardware Help

Desk

Centralized, Heterogenous,

Ranked Backlogs

Page 15: Linking Upstream and Downstream Agile

15 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

TeamForge Connects Teams, Processes, and Tools

Collaboration Architecture

Connect disparate development and collaboration tools to drive

SW lifecycle traceability

Create libraries of common, repeatable workflows

Map EA into business and technology hierarchies to enable organizational-wide discovery, collaboration, re-use and reporting

Dev Ops

Page 16: Linking Upstream and Downstream Agile

16 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

TeamForge: Collaborative Software Delivery Dashboards

Embedded Tools Integrated Tools

Quality Center, ALM, and OO

Deployment Manager

GitEye

Packaged Tools

Code Search

Code Review

Git + Gerrit

Jenkins (CI) Private Cloud

Public Cloud

On-Premises Deployment

Data Center Deployment

Page 17: Linking Upstream and Downstream Agile

17 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Enterprise Agility: TeamForge Accelerator Packs

Agile Delivery & DevOps

Agile Development

Enterprise SCM

Solutions

Product

TeamForge

Enterprise Agility

Accelerator Pack Accelerator Pack Accelerator Pack

Page 18: Linking Upstream and Downstream Agile

18 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Accelerator Pack solutions:

• Enterprise SCM leverages TeamForge SCM

(Git and SVN) Integration

• Agile Development (CI/CD) includes

Enterprise SCM

• Agile Delivery & DevOps Solution includes

Agile Development

TeamForge Accelerator Packs

Agile Delivery and DevOps

• Build + Release Workflow (Jenkins and ARA) • Auto-build of build and release trackers • Nexus integration – binary repos

Agile Development

• Build Workflow (Jenkins) • Auto-build of build trackers • TeamForge File Release System integration

Enterprise SCM

• TeamForge template – enterprise agility template

• Dashboard template component • Alerts component

• Accelerator Packs extend TeamForge with rich, repeatable, solutions for Agile Development and Delivery (Process and Tools)

• Accelerator Packs provide integrated solutions (Jenkins, ARA +)

Page 19: Linking Upstream and Downstream Agile

19 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 19 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

TeamForge Demonstration: Accelerator Pack (Jenkins) Integration

Page 20: Linking Upstream and Downstream Agile

20 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• How would charactarize your implementation of Continuous Integration?

• Have not implemented

• Planned but have not started

• In-progress

• Implemented at team-level

• Scaled acrossed across multiple teams

Poll

Page 21: Linking Upstream and Downstream Agile

21 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 21 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Connecting Upstream and Downstream Agile: From CI to Agile Development

Page 22: Linking Upstream and Downstream Agile

22 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Communication, collaboration, and coordination across large and/or distributed teams

• Silos blocking visibility and traceability across the development cycle

• User story, tasks, code commits, tests, defects/bugs

• Lack of real development metrics to spot patterns, issues

Challenges in CI and Agile Development

Page 23: Linking Upstream and Downstream Agile

23 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

13%† 32%*

Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report

*Do standup, burndown/burnup, and

short iterations; product owner; and

constant feedback.

†Do upstream plus continuous

integration, continuous delivery, and

test-driven development.

Agile

Downstream Agile development and delivery

CI, CD, DevOps

Agile

Upstream Agile planning and project execution

SCRUM, XP, Kanban, etc

Page 24: Linking Upstream and Downstream Agile

24 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Leverage common platform as “hub”

• Connect multiple heterogeneous tools and process

• Centralize source IP

• Enables governance while reducing team overhead

• Establish central build platform and/or eco-system

• Flexible support for different teams needs

• Support easy on-boarding

• Managed or self-service

• Establish traceability early and consistently

• Integrate requirements/stories and work-item tracking to SCM

• Require associations between source code (or infrastructure) changes and originating work

Connect Agile Upstream to Agile Downstream

Page 25: Linking Upstream and Downstream Agile

25 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Extending CI to Agile Development

Work is planned

• Work item planning

• Associations

Feedback from builds,

deployment, tests, etc. 1 Users and Workspaces Created

• Community Architecture

• Project Templates

3

4

8

2

Jenkins Builds and Tests

Workspace is customized

• Tools provisioned

• Roles and Permissions

• Dashboards created

Developer assigned work

items

7

5 Developer changes code

6 Pushes changes

App FRS

Page 26: Linking Upstream and Downstream Agile

26 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Connect Agile Upstream to Downstream: Example

① Ops, DB, and App Developers implement user stories from TeamForge and commit changes to SVN/GIT, the user stories and code changes are associated.

② A CI build job runs, executing unit tests, code analysis, etc, a TeamForge Build Artifact is created, change notes are generated and associated.

③ Every 15 minutes or on-demand a snapshot build is published to the Nexus Repository. The snapshot build is deployed to the Development servers by

Automic.

④ The Project Manager reviews the Change Notes and Release Folder in TeamForge and using the data decides to promote a build as a Release Candidate, she

creates a Release Manager Artifact (RMA) and set it to “Ready to Release.”

⑤ A Jenkins Release Candidate Promotion job runs executing the application builds, publishing the artifacts to Nexus and populating Automic with the release

meta-data.

⑥ An Automic package references the Nexus release holding the release candidate to be deployed.

⑦ Operations, QA and/or Change Management promote and deploy the release candidate using Automic Workflows.

⑧ At each promotion and deployment step the TeamForge Release Artifact is updated from Automic and team members receive email notifications.

⑨ The Release Dashboard in TeamForge provides up-to-date pipeline Activity Reports and Release Notes.

⑩ Dev, QA, Ops and Management can view the Release Dashboard inTeamForge to track acitivy and make informed decisions.

Page 27: Linking Upstream and Downstream Agile

27 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 27 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

TeamForge Demonstration

Page 28: Linking Upstream and Downstream Agile

28 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• What obstacles have you faced in adoption of CI and Agile Development

– Lack of understanding of best practices

– Disparate tools

– Disparate processes

– Cultural barriers

– Lack of management support

Poll

Page 29: Linking Upstream and Downstream Agile

29 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 29 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Reporting and Feedback

Page 30: Linking Upstream and Downstream Agile

30 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

• Communication, collaboration, and coordination across large and/or distributed teams

• Silos blocking visibility and traceability across the development cycle

• User story, tasks, code commits, tests, defects/bugs

• Lack of real development metrics to spot patterns, issues

Challenges in CI and Agile Development

Page 31: Linking Upstream and Downstream Agile

31 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Agility Metrics and Insight • Persona Based Dashboards

– Executive

– QA Manager

– Release Manager

– Project Team

• Business Value Metrics – Business Value Streams KPIs

Agility Metrics ROI

• Cycle Time Metrics – Build Duration *

– Cycle Time to Prod vs. Kill Rate *

– Artifact Average Age

• Velocity Metrics – Burn down charts

– Build Count per day/week/month *

– File Churn per day

– # of deployments per day/week/month

• Community Metrics – # of projects

– Registered users

Legend

Add On

CTF

Page 32: Linking Upstream and Downstream Agile

32 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Customizable Dashboards & Reports

Page 33: Linking Upstream and Downstream Agile

33 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 33 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

TeamForge Demonstration

Page 34: Linking Upstream and Downstream Agile

34 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 34 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Conclusion

Page 35: Linking Upstream and Downstream Agile

35 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Communication, collaboration, and coordination across large and/or distributed teams

Connect Team, Process and Tools through the TeamForge collaborative platform

Silos blocking visibility and traceability across the development cycle

Integrate best-of-bread open source solutions via TeamForge Accelerator Packs

Lack of real development metrics to spot patterns, issues

Accelerator Pack integrated solutions allows for rich feedback and enterprise metrics. From tracability to OSS tools to custom dashboard

In conclusion…

Page 36: Linking Upstream and Downstream Agile

36 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

TeamForge Capabilities

TeamForge provides the essential components needed to drive collaborative software development and deployment: Integrated ALM development and collaboration tools, flexible

and repeatable process templates, and a cross-project collaboration architecture.

Reporting & Governance search

traceability documents

wikis

discussions

Release

Lab Management

Build & Test

Track

Code

Plan

My page

Reports

Projects

Monitoring

My settings

Open ALM

Collaboration Architecture

Communities

My workspace

Deploy

GitEye

Orchestrate

Process Templates

Dashboards & Report Catalog

Desktops

Page 37: Linking Upstream and Downstream Agile

37 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

CollabNet Solutions

Agile Delivery & DevOps

Agile Development

Enterprise SCM

Training Training

Implementation Implementation

Consulting Consulting Consulting

Solutions

Product

Services

TeamForge

Enterprise Agility Assessment Service

Solution Pack Solution Pack

Blueprint for Enterprise Agility

DevOps Applied Workshop

Agile Dev Applied Workshop

Custom Continuous

Integration Implementation

Private/Public Agile, CSM and ALM Training

Page 38: Linking Upstream and Downstream Agile

38 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

› Across user stories, sprints, releases, products, teams

› Within workgroups—and across your organization

› Enterprise-grade security with RBAC, permissions management, authentication, encryption, auditing

› For creation and sharing of common, repeatable processes across your organization

› Throughout the development lifecycle and across projects, tools, and teams

With CollabNet Solutions, You Gain

› Organization-wide discovery, collaboration, re-use, and reporting

Page 39: Linking Upstream and Downstream Agile

39 Copyright ©2014 CollabNet, Inc. All Rights Reserved. 39 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Questions?

[Presenters name]

[[email protected]] www.collab.net +1-650-228-2500 +1-888-778-9793 blogs.collab.net twitter.com/collabnet www.facebook.com/collabnet www.linkedin.com/company/collabnet-inc

Page 40: Linking Upstream and Downstream Agile

40 Copyright ©2014 CollabNet, Inc. All Rights Reserved.

Thank You