Hybrid Development Workshop Presentation (San Francisco)

Post on 15-Apr-2017

435 views 0 download

Transcript of Hybrid Development Workshop Presentation (San Francisco)

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

CollabNetHybrid DevelopmentBringing together people, processes and tools

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

Presenter - Brian Dawson

•19 years working in and across software and IT disciplines

•Experience with 100’s of developers and development teams

• Focused on distributing knowledge and solving unique problems within software development organizations

At CollabNet, as Manager of Enterprise Transformation I work with large and small software development organizations to improve the Application Lifecycle Management (ALM) process through the use of TeamForge, OSS, and best practices, including successful implementations of enterprise-wide Continuous Integration, Continuous Delivery and DevOps Practices.

Prior to CollabNet, I spent 12 years in software development. Much of that was spent at Sony Computer Entertainment including work as the Director of Tools and Technology, overseeing the development and deployment of a worldwide collaboration portal, and managing tools and process adoption and standardization.

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

1st Cloud-Based ALMAgile Transformations

Open Agile ALM

1999 2005 2014Apache / Subversion

2010

Market Leader• Gartner MQ Leader –

– Federated ALM Solutions

• ALM, SCM, Cloud, Agile• Enterprise Agility Experts

Legacy and Leadership• Creator of Subversion (SVN)• Open Source Federation• First Cloud-based ALM solution

Scalable and Secure• 10,000 Customers• Impressive Client list• Six Million Users Worldwide • DOD Secure

About CollabNet

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

• Goals– Understand Hybrid Development– Understanding of common Development Methodologies and Challenges teams face– Development practices that improve quality and productivity regardless of process– Leave better informed

• Format– Interactive workshop– Meetup-style– Split into 4 topics:

• Problem/Solution review • Moderated group discussion

Workshop Goals & Format

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

• 4:00 – 5:00 PM : Appetizers and Drinks , Networking

• 5:00 – 5:10 PM : Kick-off, Post-it Goals

• 5:10 – 5:25 PM : Hybrid or Bimodal Development

• 5:25 – 5:40 PM : Development Processes

• 5:40 – 6:00 PM : Development Practices

• 6:00 – 6:10 PM : Break

• 6:10 – 6:25 PM : Case Study

• 6:25 – 6:50 PM : Solution Example

• 6:50 – 7:00 PM : Questions and Wrap Up

Workshop Agenda

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

Hybrid or Bimodal Development

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

• Enterprises have a need to support various methodologies and practices

• Proliferation of un-connected teams, processes and tools are:– Limiting agility & scale– Blocking visibility & governance– Tying up resources better spent on delivering value & innovation

The Challenges & Issues

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

• Mode 1 traditional – Emphasizing Safety & Accuracy

Gartner: Two Modes of IT

• Mode 2 – Emphasizing Agility & Speed

Gartner © Whiteside, Ian. (2014). Coming to grips with DevOps. Gartner Symposium Barcelona 2014.

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

Spectrum of processes & tools to support

STABILITYPredictability

AGILITYVelocity

• Agile and Waterfall are two poles, and • Teams select to work in the myriad of processes and

toolchains in between.

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

Shared Process Example

Project 1 Project 2 Project 3 Project 4 Project 5

Dev Process 1

Dev Process

2

CM Process

Release and Deploy Process

Application 1

Application 2

Application 3

Application 4

Application 5

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

Blueprint for Enterprise Agility

- Centralize access & visibility- Plug-in & collaborate – code, issues, people

- Map business/enterprise architecture (project hierarchies, workspaces, artifacts, roles)

- Be social (e.g. code reuse)

- Support Agile and mixed process- Codify data definitions, tool integrations, workflows- Gain end-to-end visibility, traceability, repeatability

EmbraceCloud

ImplementCommunityArchitecture

Codify DevProcesses

OrchestrateDevOps

Leverage ExternalCloudsLeading Enterprise CIOs

have based Agile and DevOps transformations on these pillars

Collaboration & Insight

Valu

e

- Automate Continuous Delivery & DevOps- Collaborate enterprise-wide

- Extend DevOps to ext. clouds- Integrate & govern 3rd party

services

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

TeamForge Platform

Open ALMPlatform

FlexibleProcess

Templates

CollaborationArchitecture

Connect disparatedevelopment and collaboration tools

to drive SW lifecycletraceability

Create libraries of common, repeatable

workflows

Map EA into business and technologyhierarchies to enable organizational-wide

discovery, collaboration, re-use and reporting

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

Development Processes

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

Traditional Software Development Models

Requirements Analysis

Design

Code

Integration

Test

Deploy

WaterfallLinear and sequential phases with distinct goals

or gates between each phase

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

What traditional models do you use?

TraditionalWaterfall

IterativeV-modelRUP

RAD

System development model that is often found in

government programs

Iterative development allows consideration of

changes after each iteration in a

development cycle

SSADStructured system analysis

and design includes a feasibility study Rational unified process is built

upon the iterative process model and implemented in IBM

Rational Tools

Rapid Application Development is often

used with UI design and brings in prototyping

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

Agile Process

Every Sprint

Requirements Analysis Design Code Integration Test Deploy

Collaboration and Automation

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

So what Agile processes do you use?

AgileKanban

Scrum LeanXP

LeSS

SAFe

Devops

Mature Scrum teams all use XP practices

Kanban incorporates a continuous flow of

development versus iterations in Scrum

Devops could be considered “XP for Operations” and is

certainly Agile

Lean thinking heavily influences Product

Owners in Scrum and is undoubtedly Agile in

nature.

SAFe contains a great deal of Agile thinking, but also

includes old style Waterfall ideas

Large Scale Scrum is proving to be a fine Agile framework for

Scaling Scrum organizations

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

• Do you support mixed methodologies across your organization? How?

• What tools make up your common tool chain across teams?

• What stakeholders are represented as part of your teams?

Group Discussion

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

Analyze, Design and Code

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

Requirements Gathering

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

Empirical vs. Predictive Approaches

Start with Plan and all requirements

End with all requirements completed (someday, maybe…)

Waterfall is Predictive

Start with a Project Goal and some high priority requirements

End with Project Goal met

Agile is Empirical

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

Elaboration = Collaboration

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

Centralized or Distributed SCM?

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

Tool assisted Code Review

Story/Task Story/Task

• Work item picked up by developer• Associated to push/commit• Reviewed and tied to review

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

• Please describe your requirements gathering process?

• What tools do you use for design? How do you track the relationship between the design and the requirement?

• How do you verify that requirements are met or when are items considered done?

Group Discussion

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

Break

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

Testing and Continuous Integration

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

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

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

What is CI?

31 Copyright ©2015 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 visibility and team ownership

• Increased team productivity

• Higher quality software, faster!

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

Link Testing to Requirement or any Work Item

Tester creates

multiple Test Cases

for a Test SuiteTest Suite

Test Cases

Test Plan

DefectsTracker

Req’s, Stories,

Tasks

Test Suite automatically

created per requirement

Tester creates

Test Plan for a build

that holds multiple

Test Cases

Defects automatically

created for failed Test Case

TeamForge

TestLink or HP

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

Continuous Delivery and Deployment

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

*Do standup, burndown/burnup, and short iterations; product owner; and constant feedback.

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

WaterfallUpstreamWaterfall requirements, planning

oriented, phase gates

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

• Continuous Delivery extends the CI process from build to include test and deploy phases– Release ready, deployable software– Ensure fluid coordination and communication between stakeholders– Handle need for governance

Continuous Integration vs. Continuous Delivery

Continuous Delivery

Plan

Define

Assign

Deploy

Maintain

Code Test

Commit Integrate

Test

Promote

ReleaseContinuous Integration

“Continuous delivery of software needs processes that encompass the entire delivery process..”

Monitor

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

DevOps is an set of emerging principles…• Leveraging collaboration, tools integrations, automation and the cloud

• Advocating process standardizations across development teams and IT operations

• Bridging gaps between development and delivery

DevOps optimizes processes …. …to increase business value.

• Continuous Development

• Continuous Integration

• Continuous Delivery/Deployment

• Continuous Monitoring/Management

• Continuous Improvement

• Continuous Alignment

What is DevOps?

QA/Test Operations

Development

DevOps

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

Source CodeBuild scripts

SCM

Binary Artifact Management

Unknown InputResults in Unknown Output

BuildProduct Build

Product

PublishedExec Deployment QA

InternalLibraries

Project andSub-projects

3rd PartyLibraries

Binaries

Downstream Dependents

?

Project ABuild Process

Project BBuild Process

? ?

??

? ? ?

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

Source CodeBuild scripts

SCM

Binary Artifact Management

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)

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

CI/CD Implementation 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.

BD
Refactor diagram to focus on CI portion, CI to Dev

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

• How frequently to you deploy to Q/A? Stage? Production?

• How to you govern production deployments?

• Is anyone using an Application Release Automation tool? How is feedback provided to the team? What type of feedback?

Group Discussion

41 Copyright ©2015 CollabNet, Inc. All Rights Reserved.41 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Case Study

42 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Deutsche Post DHL – Agile Delivery / DevOps

Development Challenges• “Needed to unify decentralized application development teams using

multiple processes and to create a centralized IT with governance and visibility.”

• Rapid growth paired with a strong push into online services accelerated the business demand for new software applications

• Extremely large and complex – 300 active software projects ; More than 2,000 project members

spanning geographical and organizational boundaries– 100 distinct service providers provide essential services including

development and testing, maintenance and IT operations services– Projects range from ERP integration projects like SAP, to online

customer portals and innovative electronic service offerings built to generate new revenue streams.

• Delivery cycle times vary widely - from two days to six months per release.

43 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Deutsche Post DHL – Agile Delivery / DevOps

Solution– Hosted TeamForge provided ALM platform for Dev,

Maintenance and IT Ops (DevOps)– Implementation – implemented codified set of Agile

processes to support CI, CD and DevOps – Integrations - deep integrations with HP Quality Center (HP

QC), HP Operations Orchestrator (HP OO) and HP Server Automation (HP SA) software was seen as critical, as well as the ability to seamlessly interface with Hudson, Eclipse and Subversion open-source technology.

– Enteprise Delivery / DevOps Dashboards & Metrics Reporting – benchmark across projects and processes

44 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Deutsche Post DHL – Agile Delivery / DevOps

• Reduced IT ops budget by 20% • Decreased time to market by up to 40%• Improved developer productivity up to 30%• Achieved ISO/IEC compliance• 10 days to migrate a project• Rapid 8 Figure ROI

45 Copyright ©2015 CollabNet, Inc. All Rights Reserved.45 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Section 4: Solution Example

46 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Event Data Store

TeamForge Platform

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

47 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

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

Orchestrate

ProcessTemplates

Dashboards & Report Catalog

Desktops

• Integrated ALM development and collaboration tools

• Flexible and repeatable process templates

• Cross-project collaboration architecture

• Reporting & Governance

48 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Single portal for all teams

Map teams to your organizationGive visibility across your teams

49 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Integrate in your tool chain

50 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Standardize your process template

51 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Plan, breakdown, elaborate, and link your work

52 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Traceability from idea to build

53 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Visibility and Reporting across all teams

54 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Regardless of the process

55 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Services, Training and Coaching

Agile and Certified Scrum Training and Coaching

Workshops

SVN and Git AppliedWorkshops

DevOps Applied Workshop

Agile Development Applied Workshop

56 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Enterprise Agility Assessment

Findings & Recommendations Presentations Plans & Proposals

Assessment by Process, Practice &

Platform

Assessment by Blueprint Steps

57 Copyright ©2015 CollabNet, Inc. All Rights Reserved.57 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

Questions

58 Copyright ©2015 CollabNet, Inc. All Rights Reserved.

• Schedule an Enterprise Agility Assessment

• Schedule a session like this for your organization

• Schedule a TeamForge demonstration

• Sign up for our next workshop on Governance and Compliance

• Additional Resources– Integrating Agile Planning through Software Delivery Across the Enterpris

e with CollabNet TeamForge®

– The Executive's Guide to Enterprise Agile Adoption– Agile e-learning

Next Steps