hybrid development workshop presentation (san francisco)
TRANSCRIPT
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.
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