don’t let process hold you back: best practices for cross-functional collaboration
TRANSCRIPT
GoToWebinar Housekeeping
Check your email tomorrow for
recording and slides.
If you are having technical problems,
please contact GoToWebinar:
Toll-Free: (855) 202-7959
Long Distance: (805) 617-7049*United States Numbers
Software is created by many stakeholders Software delivery process is not limited to development and operations
05
01
02 03
04
Expected business
outcomes
Product
requirements
UX and design
considerations
Sales, marketing, and
customer feedback
Development &
production
Software
Development
Lifecycle
To quell the chaos, we create processes
AgileScrum
W
A
T
E
R
F
A
L
L
MethodologyREQUIREMENTSB
A
C
K
L
O
G
CollaborationS
T
R
U
C
T
U
R
E
PHASES
IMPLEMENTATION Sprint
● Collaboration framework
● Human interfaces
● Visibility
● Efficiency
Advantages:
Why do processes breakdown?
● Information silos
● Repeated information
● Broken telephone
● Compliance
Why did the chicken cross the road?
The Business Owner: Because I have 3 other
business initiatives riding on the chicken being
on the other side of the road that were supposed
to start 6 weeks ago.
Developer: Because the requirements said so.
The trebuchet was the most efficient method.
Oh, she had to get to the other side alive? Where
was that in the requirements?
Scrum manager: Let’s iterate, people. Let’s get
the chicken to the center line today, and we’ll talk
about the rest of the way tomorrow.
Product manager: The chicken cannot cross
until the 10 missing requirements make it back
into the functionality.
Process for the sake of process.
Understanding process
Conway's law:
"Any organization that designs a system will produce a design whose
structure is a copy of the organization's communication structure."
Process is about connecting people and ensuring that
they are communicating and collaborating effectively
Collaboration & communication are ongoing
It’s natural to have many tools, workflows, and
processes across different teams and organizations, but
the people involved still need to stay connected
throughout the process.
This can be accomplished by:
● Async work styles
● Integrated tools
● Processes that optimize for collaboration
Even when considering cross-functional workflows
1. Goals first, process second.
What you
initially thought
the goal was
What the
initial optimal
solution was
Optimal
solution
moved to
● Get all stakeholders (biz, DevOps, marketing, UX,
etc.) together up front to determine goals and
outcomes
● Establishes clear expectations and gives everyone
a chance to voice their concerns about scope
● Determine the best process for reaching the desired
outcome, review cycles, and communication
vehicles
2. Establish a single source of truth
PLAN CODE TEST DEPLOY ANALYZE
DEVELOPMENT DELIVERY
Tip for remote teams: Avoid meetings, especially when stakeholders
are scattered across time zones. Instead, determine a single source of
truth where information can be written down, conversations
documented, and collaborators can work asynchronously.
3. Clear, visible outcomes
● We use GitLab Issues to coordinate
outcomes for each phase of the project
● Issues can be linked to merge requests
so stakeholders can see the changes in
a production-like environment
● Everything is connected and publically
accessible to those involved in the
process
● Concerns or problems can be flagged at
any stage of the process by any
stakeholder
4. Work cross-functionally from start to finish
Instead of locking communication per-stage, per team, or
per-specialty principle, leave the doors as open as possible.
Tips for achieving open communication:
● Embrace principle of “Written-first online
conversations”.
● Use real-time editing tools for meetings.
Everyone can add to agenda, add notes, can
see what was discussed, and immediately
see follow-up items.
● Prevent “Not Invented Here” syndrome by
practicing Innersourcing—make it possible for
the rest of the organization to contribute.
● If you can make something public, make it
public!
5. Improve the process in iterations
● Avoid throwing out all process and
starting from scratch
● Take advantage of the tools you
have and work to pull together
disparate tools & communications
● Make small changes, test them,
and incorporate learnings
Tip for remote teams: After each release
cycle, hold an open forum retrospective to go
over what worked, what didn’t, and how the
process can be improved.
RequirementRequirement
Software
Developer
Changeset
Epic
Story 2
Story 1
Defect
Blocks
Defect
Blocks
Software
Developer
Quality
AssurerBusiness
Analyst
Requirement
Story 2
Story 1
“Structural holes are the gaps that exist within organizations between people
and groups of people. Every organization has them. They represent a lack of
communication between people, and are a limiting factor on companies’ ability
to be agile and responsive to changing conditions.”
-Dr. Ronald Burt, Professor of Sociology and Strategy
University of Chicago
Requirements Management
Agile Planning
Test Management ITSM SCM
Build Management
IT Automation
ALM
Project & Portfolio Mgmt
Change / Workflow Mgmt
Issue Tracker
Database Support
Enterprise Modeling
Content Management
Build Management
Test Automation
APM
Code Analysis
BlueprintIBM Rational DOORS NG
IBM Rational DOORSIBM Requisite Pro
iRiseJama
Serena Dimensions RM
CA Agile Central (Rally)CA Agile Planning
GitLab IssuesIBM Bluemix
JIRALeanKitMingle
Pivotal TrackerServiceNow Agile
TargetprocessVersionOne
IBM RTCHPE ALM Octane
Microsoft TFSMS VS Team Services (VSO)
Polarion
IBM RQMHPE QC/ALM
Microsoft Test ManagerTricentis ToscaZephyr for JIRA
SmartBear QAComplete
CA (Clarity) PPMHPE PPM
Microsoft Project ServerPlanview Enterprise
ServiceNow PPM
Borland StarTeamCA Harvest
IBM Rational ClearQuestSerena Business Manager
BugzillaGitHub Issues
BMC RemedyJIRA Service Desk
ServiceNowZendesk
Salesforce Service Cloud
Sparx EA
OracleMS SQL Server
MySQL
GitGitHub
BitBucketSubversion (SVN)
CVSPerforce
SonarQubeCoverityAppScanVeracode
HPE Fortify
uBuildAnt
MavenSnapGrunt
SeleniumHP UFT
ConformiqCucumber
Chef PuppetJenkinsHudsonAnsible
SaltAtlassian Bamboo
UrbanCode Deploy (uDeploy)Travis-CI
ThoughtWorks GoOpenMake
CA Release AutomationXebiaLabs DeployITJetBrains TeamCity
VagrantWindows Powershell
New RelicAppDynamics
DynatraceCompuware APM
BMC APMCA APM (Wily)
IBM APM
And more….
Microsoft SharePoint
Supports 360+ tool versionsBuilt and tested in our
“Integration Factory”• 3300 API tests in spec• 500k API tests per day
Security
WhiteHat Sentinel
RequirementRequirement
Software
Developer
Changeset
Epic EpicRequirement
Story 2
Story 1
Child Req 2
Child Req 1
Story 2
Story 1
Defect
Blocks
Defect
Blocks
Quality
AssurerBusiness
Analyst
Software
Developer
• What challenges are we facing?
• What information do our teams need to share?
• What do we hope to achieve?
• What and Why before the How
1. Goals First, Process Second
2. Establish a Single Source of the Truth
• Artifacts as the source of the truth
• Artifacts as currency of communication
Business Analyst Project Manager OPTesterDeveloper
Story Epic TestcaseDefectTicket Feature
Requirement Testcase Link Folder Request
2. Establish a Single Source of the Truth
● Direct comments/discussion/decisions to the artifacts themselves
Artifact
3. Work Cross-Functionally from Start to Finish
Networked
Communication
Slide from April Underwood Talk ‘Future of work and
scaling enterprise products’, Women In Product, 2017
Feature Team
Security Team
Testing Team
Software
development
and communication
are not linear
Architecture Team
Process is about connecting people and ensuring that
they are communicating and collaborating effectively.
Let it enable, rather than hinder, you!