Modernize Development with Agile Engineering Practices
Transcript of 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
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
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
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
6
The realityProliferation of unconnected teams, processes and tools• Limit agility and scale• Block visibility and governance• Tie up resources
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
8
Focus on People, Processes, PracticesAgile and Certified Scrum Training and Coaching
Workshops
SVN and Git AppliedWorkshops
DevOps Applied Workshop
Agile Development Applied Workshop
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
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
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
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
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
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
? ?
??
? ? ?
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)
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
25
CollabNet Approach
ContinuousBusiness Planning
ContinuousMonitoring and
Operations
Continuous Testing
CollaborativeDevelopment
Continuous Release &Deployment
MonitorDeployBuild & TestCodePlan
Continuous Life Cycle Integration
Traceability, Visibility & Automation
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
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
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