Top Banner
Modernize Development with Agile Engineering Practices Sept 2016
31

Modernize Development with Agile Engineering Practices

Apr 13, 2017

Download

Software

CollabNet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modernize Development with Agile Engineering Practices

Modernize Development with Agile Engineering Practices

Sept 2016

Page 2: Modernize Development with Agile Engineering Practices

2

PresenterKevin Hancock, Senior Director Worldwide Field OperationsIn his fifteen plus year at CollabNet, Kevin has led successful implementations of CollabNet products and services at some of the world’s largest enterprises.

Kevin works with organizations to transform their globally distributed application development teams into modern, agile organizations, helping to save millions of dollars while accelerating software delivery. Kevin holds a Bachelor of Science degree from Carnegie Mellon University, and a Masters degree from the University of Pittsburgh.•20 years working in IT with the last 15 focusing on Development Organizations

•Experience with 1000’s of developers and 100’s of development teams

•Practical knowledge of building development communities across organizations

Page 3: Modernize Development with Agile Engineering Practices

3 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 deliveryCI, CD, DevOps

Agile Upstream

Agile planning and project execution

SCRUM, XP, Kanban, etc

Page 4: Modernize Development with Agile Engineering Practices

4

Upstream “Must Haves”

The daily standup Reports accessible to all stakeholders

Put Product Owners in charge

Break requirements into small chunks, iterate and collect feedback.

Connect Agile projectsto enterprise PMO planningand reporting.

* “How Can You Scale Your Agile Adoption?” by Diego Lo Giudice, February 5, 2014 Forrester

Page 5: Modernize Development with Agile Engineering Practices

5

Downstream “Must Haves”

Build and IntegrateBuild, automate, andcommit daily

TestShift to the left; automate unit testing.

Deliver anddeploy

Per change

* “How Can You Scale Your Agile Adoption?” by Diego Lo Giudice, February 5, 2014 Forrester

Code ReviewRules determined by needs of team

Page 6: Modernize Development with Agile Engineering Practices

6

The realityProliferation of unconnected teams, processes and tools• Limit agility and scale• Block visibility and governance• Tie up resources

Page 7: Modernize Development with Agile Engineering Practices

7

CollabNet at a Glance

10,000+ customers, proven in global deployments as large as 80,000 users and 1 billion commits

Leader in open-source based application lifecycle management, version control, DevOps, and agile solutions

250 employees across the globe

Founded in 1999; HQ in South San Francisco, CA

March 2016

Page 8: Modernize Development with Agile Engineering Practices

8

Focus on People, Processes, PracticesAgile and Certified Scrum Training and Coaching

Workshops

SVN and Git AppliedWorkshops

DevOps Applied Workshop

Agile Development Applied Workshop

Page 9: Modernize Development with Agile Engineering Practices

9

And Tools . . .

Page 10: Modernize Development with Agile Engineering Practices

Agility and Foundation for DevOps

Section 2

Page 11: Modernize Development with Agile Engineering Practices

11

DevOps Underpinnings*

Dev

Ops

* The Phoenix Project by Gene Kim

MonitorDeployBuild & TestCodePlan

1. Left to right flow of work from business development operations2. Constant flow and feedback3. Creating a culture that fosters continual experimentation and learning

Page 12: Modernize Development with Agile Engineering Practices

12

DevOps Needs

Culture Automation Measurement Sharing

Build trust through transparency

Unite around the business’ goals and objectives

Don’t point fingers, fix problems

Leverage existing investments

Provide easily used templates for common tasks

Actions and events triggered as part of workflow

Common KPI’s across organization

Personae based dashboards for better understanding

Trends to measure improvement

Cross team and cross organization sharing

Feedback loops at all stages that allow actions to be taken

Put actions and events in context

Page 13: Modernize Development with Agile Engineering Practices

Coding Practices

Section 3

Page 14: Modernize Development with Agile Engineering Practices

14

Distributed and Centralized SCM

Page 15: Modernize Development with Agile Engineering Practices

15

Code Practices

* 2016 State of DevOps Report Chapter 4 Page 31 by Puppet + DORA

Page 16: Modernize Development with Agile Engineering Practices

16

Branch and merge feedback

Stay

clo

se to

Tr

unk

Mer

ge D

aily

master

release-3.0

GUI-integration

feature-23

COMMIT-BASED REVIEWS

PULL REQUEST

Branches are protected and require reviews• Pushes trigger a review• Organizations set up rules around reviews

Page 17: Modernize Development with Agile Engineering Practices

17

CollabNet Approach

SVN and Git federation and replication

24x7 supportOn-premise or in the cloud

IP Security Governance

• Security and RBAC • Central repo management

• History protection • ALM tool integration

• Audit compliance • Workflows and code reviewsMaster

Flexibility, Visibility and Governance

Page 18: Modernize Development with Agile Engineering Practices

Continuous Integration/Automated Testing

Section 4

Page 19: Modernize Development with Agile Engineering Practices

19

Testing Pyramid

Unit

Service

UI Cost and Runtime

The higher we go . . .• The more unreliable• Greater cost• Slower feedback

* Concept by Mike Cohn - https://www.mountaingoatsoftware.com/company/about-mike-cohn

Page 20: Modernize Development with Agile Engineering Practices

20

What is Continuous Integration?

Page 21: Modernize Development with Agile Engineering Practices

21

What we see . . .

Source CodeBuild scripts

SCM

Unknown InputResults in Unknown Output

BuildProduct

BuildProduct

PublishedExec Deployment QA

InternalLibraries

Project andSub-projects

3rd PartyLibraries

Binaries

Downstream Dependents

?

Project ABuild Process

Project BBuild Process

? ?

??

? ? ?

Page 22: Modernize Development with Agile Engineering Practices

22

Desired StateSource CodeBuild scripts

SCM

Managed InputsResult in Trusted Outputs

BuildProduct

Project BBuild Process

BuildProduct

PublishedExec Deployment QA

Project ABuild Process

InternalLibraries

Project andSub-projects

3rd PartyLibraries

Binary Artifact Repo (Nexus)

Downstream Dependents

Binary Artifact Repo(Nexus/Artifactory)

Page 23: Modernize Development with Agile Engineering Practices

23

TestLink IntegrationTester creates

multiple Test Cases

for a Test Suite

Test Suite

Test Cases

Test PlanDefectsTracker

Req. Tracker

Test Suite automatically

created per requirement

Tester creates

Test Plan for a build

that holds multiple

Test Cases

Defects automatically

created for failed Test CaseBuild/Binary

Page 24: Modernize Development with Agile Engineering Practices

TeamForge Platform

Section 5

Page 25: Modernize Development with Agile Engineering Practices

25

CollabNet Approach

ContinuousBusiness Planning

ContinuousMonitoring and

Operations

Continuous Testing

CollaborativeDevelopment

Continuous Release &Deployment

MonitorDeployBuild & TestCodePlan

Continuous Life Cycle Integration

Traceability, Visibility & Automation

Page 26: Modernize Development with Agile Engineering Practices

26

TeamForge Platform

Event Data Store

Trackers

Project / Portfolio Administration

Collaboration

Run timeEvent Mgmt.Operational

Data StoreTool Chain setup

Teams

Users

Roles/Perms

Event Sources

Associations

Domain Objects

Activities

Universal Search

Native Artifact UI

Lifecycle Reports

Federated Tool UI

Activity Streams

Pipeline Monitors

External Listeners

Notification

Activities, Objects, Associations

Events

Events

User Workspace

Configure

Configure

Store

Federated Tools

Native Artifacts

Custom Objects

Page 27: Modernize Development with Agile Engineering Practices

27

TeamForge Capabilities

Reporting & Governance search

traceabilitydocuments

wikis

discussions

Release

Test

Build

Track

Code

Plan

My page

Reports

Projects

Monitoring

My settings

Open ALM

CollaborationArchitecture

Communities

My workspaceDeploy

GitEye

EventQ

ProcessTemplates

Dashboards & Report Catalog

Desktops

• Integrated ALM development and collaboration tools

• Flexible and repeatable process templates

• Cross-project collaboration architecture

• Reporting & Governance

Track Actions throughout the

lifecycle

Page 28: Modernize Development with Agile Engineering Practices

28

Demonstration

Page 29: Modernize Development with Agile Engineering Practices

29

CollabNet Solution Value

Leverage the tools developers want to use

Visibility and traceability across actions, activities, and events

Standardize agile development practices to increase velocity

Reports, dashboards, and actionable insight into your releases

Page 30: Modernize Development with Agile Engineering Practices

Question and Answer

Page 31: Modernize Development with Agile Engineering Practices

Thank You