Sustainable competence (the people vs process and technology) Simon Brown @simonbrown
simon.brown @ coding the architecture .com @ simonbrown on Twitter Jersey, Channel Islands
I help software teams understand software architecture , technical leadership and the balance with agility I code too ; - 0 ⇧ ⇧
Software architecture needs to be more accessible Training Book Speaking In-house and public courses leanpub.com Conferences and user groups
Not all software teams are created equal
Developer Developer Developer Developer Developer Small teams of generalising specialists, everybody does everything
Process
Many IT teams simply do what they’ve always done a y l a l u s u s i s i h t d n A . . f . o n o i t a i r a v
The “Waterfall” Model Requirements s d e e n l l a f r e t a W k r o w o t y t i l i b a t c i d e r p Analysis Design Code Test
Work is broken into timeboxes and managed visually Minimum viable product followed by regular high quality releases IT system Team
“ ” Let’s use DSDM Atern
Have you read the DSDM Atern book? Me
Why not?!
A workshop to talk about requirements in DSDM Atern
How do we do this?
The PRL was dropped
DSDM Atern was dropped
Work is broken into timeboxes and managed visually Minimum viable product followed by regular high quality releases IT system Team
X is broken . I’ll send you an e-mail. o t d e n e p p a h t a h W A tester d n a g n k i c a t r t c e f e d ? t n e m e g a n a m n o t i a r u g i f n o c
Here’s a new release; it contains new stuff plus the defects we fixed d d i n e h W Supplier t n e m e g a n a m n o i t a r u g f i n o c ? n o h i s a f f o t u o o g
Process is often dropped when things get frantic
Project and programme management
In my experience, most IT project managers are non-technical
Are we there yet? t c e j o r p t n ’ s i s h i T / - : t n e m e g a n a m
Simply *having* a project plan doesn’t mean that you’re doing project management either (This is Matt; he’s approximately my height)
Status reports are useful but they often don’t reflect reality Week 1 Week 2 Week 3 Week 27 Week 28 :-( :-( :-( :-( :-/ ... :-| :-| :-| :-| :-) :-) :-) :-) #epicfail
We need another £200,000 y l b s i s o p u o y n a c w o H t n ’ o d u o y n e h w s h i t w o n k ! Project Manager ? e p o c s e h t d n a t s r e d n u
We use PRINCE2 ... but we scale it down
You have <20 risks for a £1,000,000+ project ?
Common sense?
“ ” We have good people (we trust them; they will do the right thing)
We’re all on track to deliver 30th September We’re late, but I think We’re running late, they are too; let them but I’m sure the break the news to the other team are sponsor to buy us behind schedule too some more time Us too! Project Poker
“ ” I want you to bust your ass!
I want you to Project Manager bust your ass! m ; a e t l a c i n h c e t g n o r t S r e g a n a m t c e j o r p e h t ! r e h t e g o t s u t h g u o r b
Technical leadership
“Any fool can deliver crap”
What’s the incentive for quality ? (especially if there’s a long testing phase or large maintenance contract has been agreed) y t i l a u q l a n r e t n I E x t e r n a l q u a l i t y e , u r t c u r t s d o o g , e o d c n a l e c ( ( i t “ w o r k s c ) ” , l o o k t & f e e e l , r o b u , s t , l e b x i e f l e , l b n a i t a n a i m d e l i v e r s v a l u e , e t c )
That’s for our eyes only
Layers are good, d u l o h s s r e y a l y n a m w o H s d n e p e let’s d t I ? e v a h e w / - : . . . r e p o l e v e d e h t n o have lots of them!
Collective code ownership is great (except when some of the code is “too complex”)
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. l a i f s t c e j o r p T I y n a M l c a n i h c t e e h t e s u a c e b o t n e r e w s n t e m e r u i q e r d o o t s r e d n u y l u l f Remainder of document is the grey text ! y d o b y n a y b . . . from the template this document was based upon, but nobody understood what it meant so it never got deleted...
The irresponsible architect Cross-site scripting attacks possible; weak passwords allowed; HTTP sessions didn’t timeout; ... Basic functionality errors; No non-functional testing little or no quality (e.g. penetration testing or assurance; rework required load testing); ... late in the project because of assumptions; ... No documentation; ... Oh, did I mention this was supposed to be a “strategic platform”?
Technology
_ _ _ _ _ _ _ _ _ _ S h a r e P o i n t isn’t the answer you’re looking for
We do automated unit testing & continuous integration
Modern software development practices are not optional for software “professionals” in 2013
Have you read any books by _ _ _ _ _ _ _ _ _ _ ?
SharePoint isn’t “software development” Director of a consulting company (that specialised in SharePoint)
We have the tools, and we have the talent . Winston Zeddemore, Ghostbusters (1984) / - : ? y l a l e R
“ ” This clearly hasn’t been tested :-/
Outsourcing and offshoring
Supplier Customer Outsourcing and offshoring complicate the situation
Many organisations outsource because IT isn’t their core business y l e v t i c e f f e u o y o d w o H f i s r e i p l p u s e g a n a m ? e s a c e h t s i s i h t
We’re an ABC Certified Partner (we got invited to their conference and we have a badge to prove it) Supplier
Vendor certifications & qualifications aren’t the same as having real-world experience m e h t g n s i u t u o b a y r a w e B . . . r o t a t i n e e r f f d i a s a
r k o W f o t e n m e t a Assumptions are the S t mother of all ... , r e m o t s u c d e u l a v a r e D h t i w u o y g n i d v i o r p n i e r u s a e p l e v a h e W r u o o t d e t a l e r e t o u q g n w i o l l o f e h t . s n o i s s u c s d i t n e c e r 0 5 9 , 9 4 £ 1 : t s o c l a • t o T s . d e e n r u o y s t e e m t i e p o h e W e , v o l f o s t o L x r e l i p p u s d e t s u t r r u o Y
m e s t s y s r k e o o W d t f a o h w t e n m . . e . t r a r S t E ! ? o d y l a l u t c a X , r e m o t s u c d e u l a v a r e D h t i w u o y g n i d v i o r p n i e r u s a e p l e v a h e W . e t o u q g n w i o l l o f e h t • Replace system X with technology Y • Test • Deploy 0 5 9 , 9 4 £ 1 : t s o c l a • t o T s . d e e n r u o y s t e e m t i e p o h e W e , v o l f o s t o L x r e l i p p u s d e t s u t r r u o Y
“Them” and “Us” policies are often pointless
Development team builds the software Big live environment e s l e y d o e b m o S s l l a s t n / i s y o l p d e r e a w t f o s e h t “Them” “Us”
So what?
That’s just the way that the organisation works
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"...
It’s all about the people, stupid
Why Don’t We Learn!? http://www.infoq.com/presentations/Why-Dont-We-Learn
“modern software development practices” ? How do you get such teams to learn and adopt
Productivity ... or other motivations
They’re a challenging team c o h d a n a n i k r o w y e h T Director of a consulting company o t n o t i n e t t a o n r , e n n a m . . . c t e , i l a t e d
shit Jèrriais The native language of Jersey (a form of the Norman language)
The problems are caused by the culture The conclusion from an organisational review (after seven months!)
Recommend
More recommend