SLIDE 1 Simon Brown
@simonbrown
Sustainable competence
(the people vs process and technology)
SLIDE 2 simon.brown@codingthearchitecture.com
@simonbrown on Twitter
Jersey, Channel Islands
SLIDE 3 I help software teams understand
software architecture, technical leadership and the balance with agility I code too
⇧ ;
SLIDE 4 Software architecture needs to be more
accessible
Training
In-house and public courses
Book
leanpub.com
Speaking
Conferences and user groups
SLIDE 5 Not all software teams are created equal
SLIDE 6 Developer Developer Developer Developer Developer
Small teams of generalising specialists, everybody does everything
SLIDE 8 Many IT teams simply do
what they’ve always done
A n d t h i s i s u s u a l l y a v a r i a t i
. . .
SLIDE 9 The “Waterfall” Model
Test Design Analysis Requirements Code W a t e r f a l l n e e d s p r e d i c t a b i l i t y t
k
SLIDE 10 IT system
Work is broken into
timeboxes
and managed
visually
Minimum viable product
followed by regular high quality releases
Team
SLIDE 11 “ ”
Let’s use DSDM Atern
SLIDE 12 Me
Have you read the DSDM Atern book?
SLIDE 13 Why not?!
SLIDE 14 A workshop to talk about requirements in DSDM Atern
SLIDE 15 How do we do this?
SLIDE 16 The PRL was
dropped
SLIDE 17 DSDM Atern was
dropped
SLIDE 18 IT system
Work is broken into
timeboxes
and managed
visually
Minimum viable product
followed by regular high quality releases
Team
SLIDE 19 A tester
X is broken. I’ll send you an e-mail.
W h a t h a p p e n e d t
e f e c t t r a c k i n g a n d c
f i g u r a t i
m a n a g e m e n t ?
SLIDE 20 Supplier
Here’s a new release; it contains
new stuff plus the defects we fixed
W h e n d i d c
f i g u r a t i
m a n a g e m e n t g
t
f a s h i
?
SLIDE 21 Process is often dropped when things get
frantic
SLIDE 22 Project
and
programme management
SLIDE 23 In my experience, most IT project managers are
non-technical
SLIDE 24 Are we there yet?
T h i s i s n ’ t p r
e c t m a n a g e m e n t :
SLIDE 25 Simply *having* a
project plan
doesn’t mean that you’re doing project management either
(This is Matt; he’s approximately my height)
SLIDE 26 :-( :-| :-)
Week 1
:-( :-| :-)
Week 2
:-( :-| :-)
Week 3
:-( :-| :-)
Week 27
...
Status reports are useful but they often
don’t reflect reality
:-/
Week 28 #epicfail
SLIDE 27 Project Manager
We need another £200,000
H
c a n y
p
s i b l y k n
t h i s w h e n y
d
’ t u n d e r s t a n d t h e s c
e ? !
SLIDE 28 We use
PRINCE2
... but we scale it down
SLIDE 29 You have <20 risks for a
£1,000,000+ project?
SLIDE 31 “ ”
We have good people
(we trust them; they will do the right thing)
SLIDE 32 Project Poker
We’re running late, but I’m sure the
behind schedule too We’re all on track to deliver 30th September Us too! We’re late, but I think they are too; let them break the news to the sponsor to buy us some more time
SLIDE 33 “ ”
I want you to bust your
ass!
SLIDE 34 I want you to bust your ass!
Project Manager
S t r
g t e c h n i c a l t e a m ; t h e p r
e c t m a n a g e r b r
g h t u s t
e t h e r !
SLIDE 35 Technical leadership
SLIDE 36 “Any fool can deliver crap”
SLIDE 37 What’s the incentive for
quality?
(especially if there’s a long testing phase
- r large maintenance contract has been agreed)
I n t e r n a l q u a l i t y
( c l e a n c
e , g
s t r u c t u r e , m a i n t a i n a b l e , f l e x i b l e , e t c )
E x t e r n a l q u a l i t y
( i t “ w
k s ” , l
& f e e l , r
u s t , d e l i v e r s v a l u e , e t c )
SLIDE 38 That’s for
eyes only
SLIDE 39 Layers are good, let’s have lots
them!
H
m a n y l a y e r s s h
l d w e h a v e ? I t d e p e n d s
t h e d e v e l
e r . . . :
SLIDE 40 Collective code
(except when some of the code is “too complex”)
SLIDE 41 Technical Requirements Document
(1) The system must be fast. (2) The system must be highly secure. (3) We need the system to be available 24x7. Remainder of document is the grey text from the template this document was based upon, but nobody understood what it meant so it never got deleted... M a n y I T p r
e c t s f a i l b e c a u s e t h e t e c h n i c a l r e q u i r e m e n t s w e r e n
f u l l y u n d e r s t
. . . b y a n y b
y !
SLIDE 42 The irresponsible architect
Cross-site scripting attacks possible; weak passwords allowed; HTTP sessions didn’t timeout; ... Basic functionality errors; little or no quality assurance; rework required late in the project because
Oh, did I mention this was supposed to be a “strategic platform”? No non-functional testing (e.g. penetration testing or load testing); ... No documentation; ...
SLIDE 44 _ _ _ _ _ _ _ _ _ _
isn’t the answer you’re looking for
S h a r e P o i n t
SLIDE 45 We do automated unit
testing & continuous integration
SLIDE 46 Modern software development practices are
not optional
for software “professionals” in 2013
SLIDE 47 Have you read any books by
_ _ _ _ _ _ _ _ _ _
?
SLIDE 48 Director of a consulting company (that specialised in SharePoint)
SharePoint isn’t “software development”
SLIDE 49 Winston Zeddemore, Ghostbusters (1984)
We have the tools, and we have the
talent.
R e a l l y ? :
SLIDE 50 “ ”
This clearly
hasn’t
been tested :-/
SLIDE 52 Outsourcing and offshoring complicate the situation
Supplier Customer
SLIDE 53 Many organisations outsource because
IT isn’t their core business
H
d
e f f e c t i v e l y m a n a g e s u p p l i e r s i f t h i s i s t h e c a s e ?
SLIDE 54 Supplier
We’re an
ABC Certified Partner
(we got invited to their conference and we have a badge to prove it)
SLIDE 55 Vendor certifications & qualifications aren’t the same as having
real-world experience
B e w a r y a b
t u s i n g t h e m a s a d i f f e r e n t i a t
. . .
SLIDE 56 S t a t e m e n t
W
k
D e a r v a l u e d c u s t
e r , W e h a v e p l e a s u r e i n p r
i d i n g y
w i t h t h e f
l
i n g q u
e r e l a t e d t
r r e c e n t d i s c u s s i
s .
a l c
t : £ 1 4 9 , 9 5
W e h
e i t m e e t s y
r n e e d s . L
s
l
e , Y
r t r u s t e d s u p p l i e r
x
Assumptions are the mother of all ...
SLIDE 57 S t a t e m e n t
W
k
D e a r v a l u e d c u s t
e r , W e h a v e p l e a s u r e i n p r
i d i n g y
w i t h t h e f
l
i n g q u
e .
- Replace system X with technology Y
- Test
- Deploy
- T
- t
a l c
t : £ 1 4 9 , 9 5
W e h
e i t m e e t s y
r n e e d s . L
s
l
e , Y
r t r u s t e d s u p p l i e r
x
E r r . . . w h a t d
s s y s t e m X a c t u a l l y d
!
SLIDE 58 “Them” and “Us” policies are often
pointless
SLIDE 59 S
e b
y e l s e d e p l
s / i n s t a l l s t h e s
t w a r e Development team builds the software
Big live
environment
“Them” “Us”
SLIDE 61 That’s just the way that the organisation works
SLIDE 62 Co-worker: We need to deliver this, despite being two weeks and $2,000 over budget? Boss: Well... ...we are where we are
Commonly used in the business world, meaning "We are in the shit, but suck it up"...
SLIDE 63 It’s all about the people, stupid
SLIDE 64 Why Don’t We Learn!?
http://www.infoq.com/presentations/Why-Dont-We-Learn
SLIDE 65
SLIDE 66 How do you get such teams to
learn
and
adopt
“modern software development practices”?
SLIDE 67 Productivity ... or other motivations
SLIDE 68 Director of a consulting company
They’re a
challenging team
T h e y w
k i n a n a d h
m a n n e r , n
t t e n t i
t
e t a i l , e t c . . .
SLIDE 69 Jèrriais
The native language of Jersey (a form of the Norman language)
shit
SLIDE 70 The conclusion from an organisational review (after seven months!)
The problems are caused by the
culture
SLIDE 71 Any approach can work with
good people
SLIDE 72 Every software development team needs a master builder
1 or many
SLIDE 73 From chaos to self-organising
Dedicated software architect
Single point of responsibility for the technical aspects of the software project
Everybody is a software architect
Joint responsibility for the technical aspects of the software project
The software architecture role
Elastic Leadership (Roy Osherove)
S u r v i v a l ( c
m a n d a n d c
t r
) , l e a r n i n g ( c
c h i n g ) , s e l f
g a n i s i n g ( f a c i l i t a t i
)
SLIDE 74 Software architects should be
coaches and mentors
Explain the rationale and intent of decisions... S t r
g t e c h n i c a l l e a d e r s h i p b u t
e n t
d e a s . . .
SLIDE 75 Be proactive and take the lead
T a k e
n e r s h i p , r e s p
s i b i l i t y
a n d
l e a d b y e x a m p l e
SLIDE 76 Software architect
and
project manager
as peers
Software Architect Project Manager Team Member Team Member Team Member
SLIDE 77 How are you all? Anything I can do to help? Fancy some lunch?
A little management
Account Manager
SLIDE 78 Transparency, honesty and
Take an iterative and incremental approach to all deliverables Be honest about progress!
SLIDE 79
SLIDE 80 Hiring
software people +
SLIDE 81 Interviewer
What was the last technical book that you read?
SLIDE 82 Interviewer
How do you keep up to date?
SLIDE 84 Depth
Deep hands-on technology skills and knowledge
Breadth
Broad knowledge of patterns, designs, approaches, technologies, non-functional requirements ...
Generalising Specialist
SLIDE 85 GROW people
(technical and soft skills)
SLIDE 87 Change
the model from “them and us”
to just “us”
SLIDE 88 In The Brain of Linda Rising Who do You Trust? Beware of Your Brain
http://skillsmatter.com/podcast/agile-scrum/who-do-you-trust-beware-of-your-brain
SLIDE 89 Shared goals; win-win
No more “them” and “us” ... there is just “us”
SLIDE 90 “Project as a Service”
vs
“Team as a Service”
The traditional approach:
“ w e w a n t X f
Y b y Z ”
T h e a g i l e a p p r
c h :
“ w e w a n t a t e a m t
e l i v e r b u s i n e s s v a l u e , a n d f a s t ”
SLIDE 91 A
mixed customer/ supplier team
m e a n s c
s t a n t c r
s
r a i n i n g a n d t h e c u s t
e r r e t a i n s t h e a b i l i t y t
u p p
t / m a i n t a i n / e n h a n c e t h e s
u t i
Me
SLIDE 92 Continuous improvement is
- nly achievable if you have
sustainable competence
:-)
SLIDE 93 educate
We have a duty to
simon.brown@codingthearchitecture.com
@simonbrown on Twitter