working with developers
DESCRIPTION
Presentation given at IWMW13TRANSCRIPT
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 developingsoftware by doing it and helping others do it.Through this work we have come to value:
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
http://agilemanifesto.org
13
“rough consensus, running code”
Internet Engineering Task Forcehttp://www.ietf.org/tao.html
14
http://farm6.staticElickr.com/5310/5616474374_ea5007a5a9_o_d.pnghttp://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