Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
(without introducing more risk)
Communication between Tribes
Puppet
Gareth Rushgrove
A story of silos, Devops and Government
(without introducing more risk)
@garethr
(without introducing more risk)
Gareth Rushgrove
(without introducing more risk)
Backstory
The very abridged version
Gareth Rushgrove
GDS
Government Digital Service
Gareth Rushgrove
Gareth Rushgrove
Gareth Rushgrove
Technical Architect
Government Digital Service
@garethr
I’m no longer a civil servant.
Thank you to everyone who is.
Gareth Rushgrove
I learned the importance of
communication first hand;
from successes, failures
and relentless observation
Gareth Rushgrove
- Stories from Government
- The importance of language
- The power of stereotypes
- A few
Gareth Rushgrove
Tips
(without introducing more risk)
Different
Languages
One for each silo
Gareth Rushgrove
Appreciating you’re a silo
Agile, lean, scrum, containers,
iteration, stack, hypervisor, nosql,
serverless, cloud, velocity…
Gareth Rushgrove
Agile, lean, scrum, containers,
iteration, stack, hypervisor, nosql,
serverless, cloud, velocity…
Gareth Rushgrove
Developer silo
Incident, event, problem, COBIT,
configuration management,
capacity management, CAB…
Gareth Rushgrove
Incident, event, problem, COBIT,
configuration management,
capacity management, CAB…
Gareth Rushgrove
IT silo
APT, threat model, risk, cyber,
mitigation, control, kill chain,
threat intelligence, opsec
Gareth Rushgrove
APT, assume compromise, threat
model, risk, mitigation, control
Gareth Rushgrove
Security silo
SPAD, MCO, GPG, CESG,
CERT, GDS, IDP, DTO, 18F,
USDS, IL3, OCTO, EUD
Gareth Rushgrove
SPAD, MCO, GPG, CESG, CERT,
GDS, IDP, DTO, 18F, USDS
Gareth Rushgrove
Government silo
the language and speech,
especially the jargon, slang or
argot, of a particular field, group
or individual
Gareth Rushgrove
lingo
noun
plural noun: lingoes
Language acts as a barrier to
entry to different communities
Gareth Rushgrove
Language differences reinforce
organisational silos
Gareth Rushgrove
Gareth Rushgrove
Identify words in your organisation
that are only in use in certain
groups or teams
Tip
(without introducing more risk)
The New Service
Management
Talking ITIL and agile
At GDS we talked a lot about
Design, User Research, Agile and
Open Source because they were
fairly new to Government
Gareth Rushgrove
Gareth Rushgrove
We talked a lot about discovery and
alpha because people started there
Gareth Rushgrove
We hired a lot of software
developers because
Government had very few
Gareth Rushgrove
We didn’t talk enough about
operations
We didn’t talk enough about
operations (to begin with because
we weren’t running anything)
Gareth Rushgrove
Gareth Rushgrove
Don’t take things for granted,
communicate about everything
you care about
Tip
Gareth Rushgrove
Words often carry the weight of
past experiences and other
organisations
Tip
Will the release really work?
Gareth Rushgrove
Paraphrasing one of my colleagues from 2012
”
“
Yes. We’ve done it more than
1000 times. I’m confident it
works now
Gareth Rushgrove
Paraphrasing me
”
“
Early members of GDS were
mainly from media, startup and
technology backgrounds
Gareth Rushgrove
The formal language of
Service Management* was
unfamiliar to most
Gareth Rushgrove
*Ironically, ITIL was a creation of CCTA, a UK Government agency
But practices like automation,
developers on-call, configuration
management, continuous
deployment, and automated
testing were second nature
Gareth Rushgrove
Gareth Rushgrove
Transformation often means
new types of people. They will
bring their own language
and assumptions
Tip
We cancelled one configuration
management effort because we
couldn’t keep the spreadsheet
up to date
Gareth Rushgrove
Remembering one conversation with an Government department
”
“
The recommendation was to move
from quarterly releases to one
release every 6 months
Gareth Rushgrove
Remembering one conversation with an Government department
”
“
Oh, we use an open source
configuration management tool
which reports state every
30 minutes for every device
Gareth Rushgrove
Remembering one conversation with an Government department
”
“
Overlapping words from different
tribes are often a great place to
start collaborating
Gareth Rushgrove
Tip
(without introducing more risk)
Stereotypes
Understanding what people think of you
A lack of personal relationships,
sometimes caused by the
inability to communicate,
leads to stereotypes
Gareth Rushgrove
a widely held but fixed and
oversimplified image or idea of a
particular type of person or thing.
Gareth Rushgrove
stereotype
noun
plural noun: stereotypes
No
Gareth Rushgrove
Shiny new
technology!
We need
bimodal IT
What grade
are you?
No
Gareth Rushgrove
Shiny new
technology!
We need
bimodal IT
What grade
are you?
Developer
No
Gareth Rushgrove
Shiny new
technology!
We need
bimodal IT
What grade
are you?
Government
No
Gareth Rushgrove
Shiny new
technology!
We need
bimodal IT
What grade
are you?
IT
No
Gareth Rushgrove
Shiny new
technology!
We need
bimodal IT
What grade
are you?
Security
Some silos are organisational
Gareth Rushgrove
Many silos are personal
Gareth Rushgrove
a fictional rogue systems
administrator who takes out his
anger on users and others who
pester him with computer problems
Gareth Rushgrove
BOFH
Bastard Operator from Hell
Subverting stereotypes as a way
to build relationships
Gareth Rushgrove
Tip
(without introducing more risk)
Security Says No?
Experts, intermediaries and end users
Gareth Rushgrove
Scaling finite expertise is often
done with stacks of paper policy
Gareth Rushgrove
Making use of stacks of paper
policy often involves middlemen
Gareth Rushgrove
Having direct access to real
domain experts* is awesome
Gareth Rushgrove
*Unfairly in my case that mean
I think you’ll find you can’t do that
because of my interpretation of this
wording in GPG13
Gareth Rushgrove
Unfairly paraphrasing countless conversations with intermediaries”
“
Let’s just ring Richard from
GCHQ and see what he thinks
Gareth Rushgrove
”
“
Unfairly paraphrasing countless conversations with intermediaries
…!
Gareth Rushgrove
Paraphrasing countless conversations with intermediaries
”
“
Don’t let scarcity of expertise lead
to unapproachable stereotypes
Gareth Rushgrove
Tip
(without introducing more risk)
Code as a
Communication Medium
Bridging policy and practice
The dreaded incident severity
conversation
Gareth Rushgrove
Critical, Major, Minor, P1, Sev2
Gareth Rushgrove
Stage 1
Everyone thinks
everything is critical
Gareth Rushgrove
Stage 2
Everyone thinks all incidents for
there own service are critical
Gareth Rushgrove
(without introducing more risk)
Feature: Search
@high
Scenario: check search results on unified search
Given I am testing through the full stack
And I force a varnish cache miss
When I search for "tax" using unified search
Then I should see some search results
@normal
Scenario: check organisation filtering on unified search
Given I am testing through the full stack
And I force a varnish cache miss
When I search for "policy" using unified search
Then I should see organisations in the unified organisation filter
@normal
Scenario: check sitemap
Given I am testing through the full stack
And I force a varnish cache miss
When I get the sitemap index
Then It should contain a link to at least one sitemap file
And I should be able to get all the referenced sitemap files
GOV.UK Smoke Tests
(without introducing more risk)
Feature: Search
@high
Scenario: check search resul
Given I am testing through
And I force a varnish cach
When I search for "tax" us
The ambiguous nature of the
written word
Gareth Rushgrove
Lots of opportunities for
policy as code
Gareth Rushgrove
(without introducing more risk)
// Should cache responses for the period defined in a `Cache-Control:
// max-age=n` response header.
func TestCacheCacheControlMaxAge(t *testing.T) {
ResetBackends(backendsByPriority)
const cacheDuration = time.Duration(5 * time.Second)
headerValue := fmt.Sprintf("max-age=%.0f", cacheDuration.Seconds())
handler := func(w http.ResponseWriter) {
w.Header().Set("Cache-Control", headerValue)
}
req := NewUniqueEdgeGET(t)
testRequestsCachedDuration(t, req, handler, cacheDuration)
}
CDN Acceptance Tests
(without introducing more risk)
Scenario: The application should not contain SQL injection vulnerabilities
Meta: @id scan_sql_injection @cwe-89
Given a scanner with all policies disabled
And the SQL-Injection policy is enabled
And the attack strength is set to High
And the alert threshold is set to Low
When the scanner is run
And the XML report is written to the file sql_injection.xml
Then no Medium or higher risk vulnerabilities should be present
BDD Security
(without introducing more risk)
package { 'openssh':
ensure => latest
}
Puppet
Where possible combine policy
with implementation
Gareth Rushgrove
Tip
(without introducing more risk)
Conclusions
If all you remember is…
Share language as much
as possible
Gareth Rushgrove
Because sharing language makes
shared tooling and process easier
Gareth Rushgrove
And learning the language of
another tribe is a fantastic way
of breaking down silos
Gareth Rushgrove
(without introducing more risk)
What I Don’t Know
How to Do
Devops Enterprise Ask
What macro organisational
structures limit the
emergence of silos?
Gareth Rushgrove
(without introducing more risk)
Thanks
Ask me questions later

More Related Content

Communications Between Tribes