Paul	
  	
  Walk
paul@paulwalk.net
@paulwalk
http://www.paulwalk.net
Working with developers
1
what’s in a name?
2
things	
  you	
  
need	
  to	
  know
3
http://freetheanimal.com/2013/01/corralling-­‐the-­‐paleo-­‐movement-­‐is-­‐like-­‐herding-­‐cats.html
4
learn some of the jargon
5
get good at estimating
• this	
  is	
  often	
  not	
  done	
  very	
  well,	
  because
• it’s	
  hard
• they’re	
  too	
  close	
  to	
  make	
  an	
  objective	
  estimation
• you	
  need	
  to	
  either	
  be	
  or	
  to	
  make	
  friends	
  with	
  an	
  
experienced	
  project	
  manager
6
understand what ‘the cloud’ means
• where	
  your	
  infrastructure	
  is	
  outsourced
• pros
• no	
  need	
  for	
  local	
  low-­‐level	
  systems-­‐support(i.e.	
  hardware,	
  operating	
  system)
• may	
  still	
  need	
  to	
  conDigure	
  and	
  maintain	
  the	
  particular	
  system,	
  even	
  if	
  it	
  is	
  
running	
  in	
  the	
  cloud
• elastic	
  ‘hardware’	
  provision	
  -­‐	
  more	
  Dlexible/responsive	
  to	
  rapidly	
  changing	
  
requirements	
  -­‐	
  easier	
  to	
  budget	
  for
• cons
• not	
  necessarily	
  cheaper	
  (contrary	
  to	
  popular	
  opinion)
• some	
  loss	
  of	
  control	
  &	
  data	
  privacy/jurisdictional	
  issues
7
understand what Software as a Service means
• where	
  your	
  system	
  or	
  service	
  is	
  outsourced
• pros
• all	
  the	
  advantages	
  of	
  using	
  cloud	
  infrastructure,	
  plus:
• reduced	
  or	
  no	
  requirement	
  to	
  maintain/conDigure	
  the	
  SaaS	
  system
• potential	
  for	
  continuous	
  improvement	
  -­‐	
  “perpetual	
  beta”
• cons
• reduction	
  in	
  control,	
  especially	
  ability	
  to	
  customise	
  to	
  local	
  requirements
• the	
  ability	
  to	
  innovate	
  locally	
  is	
  impacted.	
  The	
  provision	
  of	
  good	
  APIs	
  by	
  the	
  
remote	
  service	
  may	
  mitigate	
  this.
• the	
  con	
  that	
  might	
  actually	
  be	
  a	
  pro
• good	
  APIs	
  offer	
  a	
  good	
  opportunity	
  for	
  local	
  innovation	
  -­‐	
  better	
  than	
  
locally	
  customising	
  third-­‐party	
  software	
  
8
development	
  
paradigms
9
engineering
• software	
  development	
  is	
  called	
  many	
  things:	
  we	
  talk	
  about	
  ‘writing’	
  software,	
  
software	
  ‘engineering’,	
  software	
  as	
  a	
  ‘craft’,	
  as	
  an	
  ‘art’....
• “The	
  last	
  time	
  people	
  constructed	
  a	
  vocabulary	
  for	
  software	
  development	
  was	
  in	
  
the	
  late	
  1960s,	
  when	
  they	
  coined	
  the	
  phrase	
  software	
  engineering,	
  as	
  both	
  a	
  wish	
  
and	
  a	
  direction	
  for	
  the	
  future.”
Agile	
  Software	
  Development,	
  Alistair	
  Cockburn,	
  2000
10
http://www.Elickr.com/photos/tonymangan/349034093/sizes/l/in/photostream/
11
communications - documenting & modelling
http://www.agilemodeling.com/essays/communication.htm
12
Manifesto for Agile Software Development
We	
  are	
  uncovering	
  better	
  ways	
  of	
  developing
software	
  by	
  doing	
  it	
  and	
  helping	
  others	
  do	
  it.
Through	
  this	
  work	
  we	
  have	
  come	
  to	
  value:
Individuals	
  and	
  interactions	
  over	
  processes	
  and	
  tools
Working	
  software	
  over	
  comprehensive	
  documentation
Customer	
  collaboration	
  over	
  contract	
  negotiation
Responding	
  to	
  change	
  over	
  following	
  a	
  plan
That	
  is,	
  while	
  there	
  is	
  value	
  in	
  the	
  items	
  on
the	
  right,	
  we	
  value	
  the	
  items	
  on	
  the	
  left	
  more.
http://agilemanifesto.org
13
“rough consensus, running
code”
Internet Engineering Task Force
http://www.ietf.org/tao.html
14
http://farm6.staticElickr.com/5310/5616474374_ea5007a5a9_o_d.png
http://www.Elickr.com/photos/improveit/1684378416/sizes/o/in/photostream/
15
16
Scrum
17
local	
  
development	
  
in	
  a	
  recession
18
innovation	
  happens	
  in	
  a	
  local	
  
context
local	
  developers	
  empower	
  
the	
  organisation	
  to	
  innovate
19
the value of the local developer
• can	
  understand	
  local	
  conditions	
  better	
  than	
  an	
  external	
  supplier
• is	
  more	
  accessible	
  -­‐	
  especially	
  when	
  adopting	
  agile	
  development	
  techniques
• through	
  web	
  APIs,	
  can	
  tailor	
  remote	
  services	
  to	
  idiosyncratic	
  local	
  needs	
  -­‐	
  can	
  
make	
  cheap	
  services	
  into	
  good	
  services
• can	
  engage	
  the	
  technical	
  people	
  in	
  an	
  external	
  supplier	
  -­‐	
  not	
  just	
  the	
  pre-­‐sales	
  
people!
• can	
  engage	
  with	
  and	
  exploit	
  available	
  open	
  source	
  developments
20
use the local talent!
• Student	
  as	
  Producer	
  at	
  Lincoln	
  
University
• sourced	
  developer	
  effort	
  and	
  skills	
  
from	
  the	
  student	
  cohort
• “demonstrated	
  to	
  us	
  that	
  students	
  can	
  
have	
  the	
  requisite	
  skills,	
  enthusiasm	
  
and	
  experience	
  to	
  enable	
  us	
  to	
  innovate	
  
rapidly”
21
developers	
  
are	
  people
22
"If	
  the	
  UK's	
  creative	
  businesses	
  want	
  to	
  thrive	
  
in	
  the	
  digital	
  future,	
  you	
  need	
  people	
  who	
  
understand	
  all	
  facets	
  of	
  it	
  integrated	
  from	
  the	
  
very	
  beginning.	
  Take	
  a	
  lead	
  from	
  the	
  
Victorians	
  [...]:	
  bring	
  engineers	
  into	
  your	
  
company	
  at	
  all	
  levels,	
  including	
  the	
  top."
Eric	
  Schmidt,	
  Chairman	
  of	
  Google
23
the case of the missing career path....
24
Higher Education Institution
}
}
}?
Undergraduate
Postgrad researcher/developer
Employed developer
1 2 3 4
Academic
Manager
5
Spontaneous technical
innovation does
happens here
Strategic leadership
for technical
innovation could
happen here
?
Spontaneous technical
could happen here
24
Paul	
  	
  Walk
paul@paulwalk.net
@paulwalk
http://www.paulwalk.net
thank you!
25

Working with Developers

  • 1.
  • 2.
  • 3.
    things  you   need  to  know 3
  • 4.
  • 5.
    learn some ofthe jargon 5
  • 6.
    get good atestimating • this  is  often  not  done  very  well,  because • it’s  hard • they’re  too  close  to  make  an  objective  estimation • you  need  to  either  be  or  to  make  friends  with  an   experienced  project  manager 6
  • 7.
    understand what ‘thecloud’ means • where  your  infrastructure  is  outsourced • pros • no  need  for  local  low-­‐level  systems-­‐support(i.e.  hardware,  operating  system) • may  still  need  to  conDigure  and  maintain  the  particular  system,  even  if  it  is   running  in  the  cloud • elastic  ‘hardware’  provision  -­‐  more  Dlexible/responsive  to  rapidly  changing   requirements  -­‐  easier  to  budget  for • cons • not  necessarily  cheaper  (contrary  to  popular  opinion) • some  loss  of  control  &  data  privacy/jurisdictional  issues 7
  • 8.
    understand what Softwareas a Service means • where  your  system  or  service  is  outsourced • pros • all  the  advantages  of  using  cloud  infrastructure,  plus: • reduced  or  no  requirement  to  maintain/conDigure  the  SaaS  system • potential  for  continuous  improvement  -­‐  “perpetual  beta” • cons • reduction  in  control,  especially  ability  to  customise  to  local  requirements • the  ability  to  innovate  locally  is  impacted.  The  provision  of  good  APIs  by  the   remote  service  may  mitigate  this. • the  con  that  might  actually  be  a  pro • good  APIs  offer  a  good  opportunity  for  local  innovation  -­‐  better  than   locally  customising  third-­‐party  software   8
  • 9.
  • 10.
    engineering • software  development  is  called  many  things:  we  talk  about  ‘writing’  software,   software  ‘engineering’,  software  as  a  ‘craft’,  as  an  ‘art’.... • “The  last  time  people  constructed  a  vocabulary  for  software  development  was  in   the  late  1960s,  when  they  coined  the  phrase  software  engineering,  as  both  a  wish   and  a  direction  for  the  future.” Agile  Software  Development,  Alistair  Cockburn,  2000 10
  • 11.
  • 12.
    communications - documenting& modelling http://www.agilemodeling.com/essays/communication.htm 12
  • 13.
    Manifesto for AgileSoftware Development We  are  uncovering  better  ways  of  developing software  by  doing  it  and  helping  others  do  it. Through  this  work  we  have  come  to  value: Individuals  and  interactions  over  processes  and  tools Working  software  over  comprehensive  documentation Customer  collaboration  over  contract  negotiation Responding  to  change  over  following  a  plan That  is,  while  there  is  value  in  the  items  on the  right,  we  value  the  items  on  the  left  more. http://agilemanifesto.org 13
  • 14.
    “rough consensus, running code” InternetEngineering Task Force http://www.ietf.org/tao.html 14
  • 15.
  • 16.
  • 17.
  • 18.
    local   development   in  a  recession 18
  • 19.
    innovation  happens  in  a  local   context local  developers  empower   the  organisation  to  innovate 19
  • 20.
    the value ofthe local developer • can  understand  local  conditions  better  than  an  external  supplier • is  more  accessible  -­‐  especially  when  adopting  agile  development  techniques • through  web  APIs,  can  tailor  remote  services  to  idiosyncratic  local  needs  -­‐  can   make  cheap  services  into  good  services • can  engage  the  technical  people  in  an  external  supplier  -­‐  not  just  the  pre-­‐sales   people! • can  engage  with  and  exploit  available  open  source  developments 20
  • 21.
    use the localtalent! • Student  as  Producer  at  Lincoln   University • sourced  developer  effort  and  skills   from  the  student  cohort • “demonstrated  to  us  that  students  can   have  the  requisite  skills,  enthusiasm   and  experience  to  enable  us  to  innovate   rapidly” 21
  • 22.
  • 23.
    "If  the  UK's  creative  businesses  want  to  thrive   in  the  digital  future,  you  need  people  who   understand  all  facets  of  it  integrated  from  the   very  beginning.  Take  a  lead  from  the   Victorians  [...]:  bring  engineers  into  your   company  at  all  levels,  including  the  top." Eric  Schmidt,  Chairman  of  Google 23
  • 24.
    the case ofthe missing career path.... 24 Higher Education Institution } } }? Undergraduate Postgrad researcher/developer Employed developer 1 2 3 4 Academic Manager 5 Spontaneous technical innovation does happens here Strategic leadership for technical innovation could happen here ? Spontaneous technical could happen here 24
  • 25.