Software ...and allthat comes with it alberto.brandolini@avanscoperta.it          twitter: ziobrando
Forewordintroducing the speaker
About
meIn
the
IT
field
since
ZX
SpectrumGenerally
in
large
scale
projects
(I
might
be
biased)Freelance
consultant:
NotOnly...
www.avanscoperta.itavanscoperta.wordpress.comalberto.brandolini@avanscoperta.it                               ©
Alberto
Br...
Augmented RealitySee what’s around us with different eyes
In
1988    John
 Carpenterwas
already
   there
In
1988    John
 Carpenterwas
already
   there
Part I          Build softwareAbout the step forward done and the ones still to come
SoGwareComputer software, or just software is a general termprimarily used for digitally stored data such as computerprogr...
Main Entry: soft·warePronunciation: ˈsȯft-ˌwerFunction: nounDate: 1958: something used or associated with and usuallycont...
Hardware:
the
computer
part
that
gets
hit
when
the
soMware
crashes
1)
SoMware
triggers
strong
feelings2)
SoMware
developers
can
change
people’s
mood
A computer program tells a computerwhat to do. It is a sequence ofinstructions to be executed in order. Acomputer program ...
soGware
is
what
allows
 hardware
to
do
what
    the
user
needs
So
...what’s
really
our
job?Which
are
the
necessary
skills?
So
...what’s
really
our
job?        Guess?Which
are
the
necessary
skills?
So
...what’s
really
our
job?         Guess? Understand?Which
are
the
necessary
skills?
So
...what’s
really
our
job?         Guess?                       Do? Understand?Which
are
the
necessary
skills?
So
...what’s
really
our
job?         Guess?                        Do? Understand?                  Translate?Which
are
th...
So
...what’s
really
our
job?         Guess?                        Do? Understand?                  Translate?      Imagin...
So
...what’s
really
our
job?         Guess?                        Do? Understand?                  Translate?      Imagin...
So
...what’s
really
our
job?         Guess?                                Do?                 Build? Understand?         ...
Deliver valueSomething somewhere is deeply wrong
b ud       ge t              The
ideal
process                                a l ue                            v         ...
Might
work
for
some
b ud       ge          The
ideal
waterfall        t                         v a l ue                                    time
...and
the
real
oneb ud       ge t                              lu e                        v a                           ...
Success
or
failure?
Success!! b ud        ge t                                 lu eExpectations               v a                             ...
…
more
or
less
bu     dg          et               P.A.
Waterfall                         v a l ue                                    time
we
can
do
be9er
than
        this
aggressively
agileb ud       ge t                            v a l ueExp e c t at i o n s
Minumum
Viable
ProductValue
Based
PlanningConXnuous
deploymentTest
driven
developmentConXnuous
IntegraXonCode
coverageBusi...
Interlude        Holiday picturesHow to abuse of people’s patience to pretend that agile and overwheight do not clash
3
easy
steps
3
easy
stepsMove
the
first
hook
3
easy
stepsMove
the
first
hook       Move
the
second
hook
3
easy
stepsMove
the
first
hook       Move
the
second
hook             Move
to
the
next
plaorm
3
Easy
steps
3
Easy
stepsRed
3
Easy
stepsRed      Green
3
Easy
stepsRed      Green         Refactor
we
can
dare
the
       impossible...
“non
regression”
is
a
not
ambiXous
enough
There,
where
no
man
has
      been
before
Expectations and         constraintsAre we focusing on the right bottleneck?
Things
to
decide
before
the
start
Things
to
decide
before
the
startBudget
Things
to
decide
before
the
start              ScopeBudget
Things
to
decide
before
the
start Staff              ScopeBudget
Things
to
decide
before
the
start Staff                    LogisXcs              ScopeBudget
Things
to
decide
before
the
start Staff                    LogisXcs    Technology                 ScopeBudget
Things
to
decide
before
the
start Staff                    LogisXcs    Technology                 ScopeBudget              ...
Things
to
decide
before
the
start Staff       Requirements                           LogisXcs    Technology                ...
Things
to
decide
before
the
start Staff       Requirements                             LogisXcs    Technology              ...
Things
to
decide
before
the
start Staff        Requirements                              LogisXcs    Technology            ...
Non
reversible
decisions
SoGware
architecture
is
meant
to
deal
with
hardly
  reversible
decisions…
SoGware
architecture
is
 meant
to
deal
with
hardly
   reversible
decisions…But
the
most
irreversible
decisions
have
nothin...
“Can
you
suggest
me
a
  good
noise
    reduc4on
   headset?”
Can
we
really
say
we’re
     doing
agile?How
many
permissions
do
we
need?How
much
potenXal
are
we
missing? Can
we
ignore
t...
But
the
worst
upfront
     decision
is...
But
the
worst
upfront
     decision
is...     Legacy
Adoring
the
monolyth
Trapped
in
the
Big
Ball
of
Mud
Abbiamo
i
test?
Don’t
touch
the
wires  Abbiamo
i
test?
MummificaXon
In
2010
(in
Italy)‐ ...a
bank
to
bank
payment
sUll
takes
from
2
to
  5
days
(even
with
some
recent
good
news)‐ ...I
sUll
c...
Why
so
many
project

Why
so
many
project
‐ Is
it
the
crisis?
Why
so
many
project
‐ Is
it
the
crisis?‐ Or
...the
other
crisis?
Why
so
many
project
‐ Is
it
the
crisis?‐ Or
...the
other
crisis?‐ Or
the
one
before?
Why
so
many
project
‐ Is
it
the
crisis?‐ Or
...the
other
crisis?‐ Or
the
one
before?‐ Or
...did
we
simply
fail
to
  deliver?
IT == wasteOfMoney?
How
to
recover
trust?
Part II  What are we really doing?Are we still developing software or ...what?
The
product•What’s
really
the
 product?• How
much
of
this
 is
soMware?
Complexity      Application Complexity               Domain Complexity
...seen
by
the
user           Application Complexity                    Domain Complexity   User
...seen
by
the
user           Application Complexity                    Domain Complexity   User
...seen
by
the
user           Application Complexity                    Domain Complexity   User
...seen
by
the
user           Application Complexity                    Domain Complexity   User
...seen
by
the
user           Application Complexity                    Domain Complexity   User
...seen
by
the
user           Application Complexity                    Domain Complexity   User
...seen
by
the
user           Application Complexity                    Domain Complexity   User
InterludeStory of a username
Whose
ball
is
this?
One
product
‐
one
team one
product
owner
with
a
high
level
 vision
of
the
product a
team
with
all
the
necessary
skills
to
...
for        es s
   Ar     ma     in   us st          ch Xo B                   ite n
        ly Project
 ct     na        ...
Have
we
got
all
the
skills?          skill
or
roles?Have
we
got
the
structures
to
work
            together? Are
the
resou...
Part III            LearningDoing our job better means doing our job                  well
Noop.nl
big
Agile
PracXces
Survey: “Build
a
system
metaphor”
 among
the
less
used
agile
           pracUces
...what
if
we
try
to
see
it
in
a
different
way?soMware
is
a
side
effect
of
a
    learning
process
• Eliminate
waste
‐‐>
what
is
really
  necessary?
Reduce
the
cogniXve
load• Amplify
learning
‐‐>
amplify
learning  2
==
  ...
Can
I
plan
learning?Can
I
learn
faster?Can
I
learn
less
things?
Primary
School
Burn
Down
Chart           10                        2           9                                3         ...
1   2   3   4   5   6   7   8   9   102   4   6   8   10 12 14 16 18 203   6   9   12 15 18 21 24 27 304   8   12 16 20 24...
The art of learningA few interesting things I found on the topic
EducaXon
in
Finlandschool
starts
at
7no
individual
marks
unUl
the
age
of
12‐13self
assessmentmany
group
acXviXesfew
exams
Best
TeachersSurvey
on
teachers
that
sistema;cally
obtained
above
the
average
results
in
“heavy”
suburbsNo
common
pracUce
...
Montessori
methodmulX‐sensorial
experiencefree
experimentaXontopics
and
Xmes
chosen
by
students,
not
teachers
(pull
vs
pus...
Esempi
vs
parole
The
Rosenthal
experimentThree
students
group
selected
as
“best
of
breed”Three
teachers
selected
as
“best
of
breed”
Excelle...
The
Rosenthal
experimentThree
students
groups
selected
randomlyThree
teachers
selected
randomly
Excellence
objecUves  Obje...
What
to
learn? Problem Domain    Conventions     Admin dutiesPMP    Legacy code              Office space Project Manageme...
Can
we
do
it
alone?
Swarm
learning
OrganizaXonal
bandwidth    Marketing                                     another team                              teamDom...
CommunicaXon
toolsMassive
improvements
possible
in
the
way
we
communicate
and
share
informa4onConverging
on
a
soluUon
is
a...
DOLEARN
DOLEARN
Conclusions… no, really, these are probably more               questions
Let’s
raise
expectaXons:       we
can
do
be9er  we
know
how
to
do
be9erit’s
legi4mate
to
ask
something
             be9er
Can
we
allow
our
human
   capital
to
deliver?

“jumping
around”...
“jumping
                  around”......or
dare
the
impossible?
“jumping
                  around”......or
dare
the
impossible?
Stop
spoonfeeding
the
             team                                 ‐Requirements              ‐Requirements          ...
Boss, I have  an idea!
Boss, I have  an idea!
Boss, I have  an idea!
Boss, I have  an idea!
Thank YouTired and hungry, but questions welcome   alberto.brandolini@avanscoperta.it            twitter: ziobrando
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Software and all that comes with it
Upcoming SlideShare
Loading in …5
×

Software and all that comes with it

1,351 views
1,305 views

Published on

Developing a software project is definitely not like building a house. If you focus on the learning aspects instead of the simple building you'll probably discover something interesting and unexpected.

Published in: Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,351
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
35
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software and all that comes with it

  1. 1. Software ...and allthat comes with it alberto.brandolini@avanscoperta.it twitter: ziobrando
  2. 2. Forewordintroducing the speaker
  3. 3. About
meIn
the
IT
field
since
ZX
SpectrumGenerally
in
large
scale
projects
(I
might
be
biased)Freelance
consultant:
NotOnlyCodeTrainer
(Freelance
&
Skills
MaBer
+
Zenika)Technical
WriterBlogger:
h9p://ziobrando.blogspot.comTwiBer:
ziobrando
My
e‐mail:
alberto.brandolini@gmail.com
  4. 4. www.avanscoperta.itavanscoperta.wordpress.comalberto.brandolini@avanscoperta.it ©
Alberto
Brandolini
2009
  5. 5. Augmented RealitySee what’s around us with different eyes
  6. 6. In
1988 John
 Carpenterwas
already
 there
  7. 7. In
1988 John
 Carpenterwas
already
 there
  8. 8. Part I Build softwareAbout the step forward done and the ones still to come
  9. 9. SoGwareComputer software, or just software is a general termprimarily used for digitally stored data such as computerprograms and other kinds of information read andwritten by computers. Today, this includes data that hasnot traditionally been associated with computers, suchas film, tapes and records.[1]The term was coined in order to contrast to the old termhardware (meaning physical devices); in contrast tohardware, software is intangible, meaning it "cannot betouched".[2] Software is also sometimes used in a morenarrow sense, meaning application software only.
  10. 10. Main Entry: soft·warePronunciation: ˈsȯft-ˌwerFunction: nounDate: 1958: something used or associated with and usuallycontrasted with hardware: as a : the entire set ofprograms, procedures, and related documentationassociated with a system and especially a computersystem; specifically :computer programs b : materialsfor use with audiovisual equipmentA computer program tells a computer what todo. It is a sequence of instructions to beexecuted in order. A computer program consistsof a set of instructions that the computerunderstands.
  11. 11. Hardware:
the
computer
part
that
gets
hit
when
the
soMware
crashes
  12. 12. 1)
SoMware
triggers
strong
feelings2)
SoMware
developers
can
change
people’s
mood
  13. 13. A computer program tells a computerwhat to do. It is a sequence ofinstructions to be executed in order. Acomputer program consists of a set ofinstructions that the computerunderstands.
  14. 14. soGware
is
what
allows
 hardware
to
do
what
 the
user
needs
  15. 15. So
...what’s
really
our
job?Which
are
the
necessary
skills?
  16. 16. So
...what’s
really
our
job? Guess?Which
are
the
necessary
skills?
  17. 17. So
...what’s
really
our
job? Guess? Understand?Which
are
the
necessary
skills?
  18. 18. So
...what’s
really
our
job? Guess? Do? Understand?Which
are
the
necessary
skills?
  19. 19. So
...what’s
really
our
job? Guess? Do? Understand? Translate?Which
are
the
necessary
skills?
  20. 20. So
...what’s
really
our
job? Guess? Do? Understand? Translate? Imagine?Which
are
the
necessary
skills?
  21. 21. So
...what’s
really
our
job? Guess? Do? Understand? Translate? Imagine? Assemble?Which
are
the
necessary
skills?
  22. 22. So
...what’s
really
our
job? Guess? Do? Build? Understand? Translate? Imagine? Assemble?Which
are
the
necessary
skills?
  23. 23. Deliver valueSomething somewhere is deeply wrong
  24. 24. b ud ge t The
ideal
process a l ue v time
  25. 25. Might
work
for
some
  26. 26. b ud ge The
ideal
waterfall t v a l ue time
  27. 27. ...and
the
real
oneb ud ge t lu e v a time
  28. 28. Success
or
failure?
  29. 29. Success!! b ud ge t lu eExpectations v a time
  30. 30. …
more
or
less
  31. 31. bu dg et P.A.
Waterfall v a l ue time
  32. 32. we
can
do
be9er
than
 this
  33. 33. aggressively
agileb ud ge t v a l ueExp e c t at i o n s
  34. 34. Minumum
Viable
ProductValue
Based
PlanningConXnuous
deploymentTest
driven
developmentConXnuous
IntegraXonCode
coverageBusiness
interacXon...
  35. 35. Interlude Holiday picturesHow to abuse of people’s patience to pretend that agile and overwheight do not clash
  36. 36. 3
easy
steps
  37. 37. 3
easy
stepsMove
the
first
hook
  38. 38. 3
easy
stepsMove
the
first
hook Move
the
second
hook
  39. 39. 3
easy
stepsMove
the
first
hook Move
the
second
hook Move
to
the
next
plaorm
  40. 40. 3
Easy
steps
  41. 41. 3
Easy
stepsRed
  42. 42. 3
Easy
stepsRed Green
  43. 43. 3
Easy
stepsRed Green Refactor
  44. 44. we
can
dare
the
 impossible...
“non
regression”
is
a
not
ambiXous
enough
  45. 45. There,
where
no
man
has
 been
before
  46. 46. Expectations and constraintsAre we focusing on the right bottleneck?
  47. 47. Things
to
decide
before
the
start
  48. 48. Things
to
decide
before
the
startBudget
  49. 49. Things
to
decide
before
the
start ScopeBudget
  50. 50. Things
to
decide
before
the
start Staff ScopeBudget
  51. 51. Things
to
decide
before
the
start Staff LogisXcs ScopeBudget
  52. 52. Things
to
decide
before
the
start Staff LogisXcs Technology ScopeBudget
  53. 53. Things
to
decide
before
the
start Staff LogisXcs Technology ScopeBudget Tools
  54. 54. Things
to
decide
before
the
start Staff Requirements LogisXcs Technology ScopeBudget Tools
  55. 55. Things
to
decide
before
the
start Staff Requirements LogisXcs Technology Process ScopeBudget Tools
  56. 56. Things
to
decide
before
the
start Staff Requirements LogisXcs Technology Process ScopeBudget Workplace Tools
  57. 57. Non
reversible
decisions
  58. 58. SoGware
architecture
is
meant
to
deal
with
hardly
 reversible
decisions…
  59. 59. SoGware
architecture
is
 meant
to
deal
with
hardly
 reversible
decisions…But
the
most
irreversible
decisions
have
nothing
to
 do
with
architecture
  60. 60. “Can
you
suggest
me
a
 good
noise
 reduc4on
 headset?”
  61. 61. Can
we
really
say
we’re
 doing
agile?How
many
permissions
do
we
need?How
much
potenXal
are
we
missing? Can
we
ignore
the
surroundings?
  62. 62. But
the
worst
upfront
 decision
is...
  63. 63. But
the
worst
upfront
 decision
is... Legacy
  64. 64. Adoring
the
monolyth
  65. 65. Trapped
in
the
Big
Ball
of
Mud
  66. 66. Abbiamo
i
test?
  67. 67. Don’t
touch
the
wires Abbiamo
i
test?
  68. 68. MummificaXon
  69. 69. In
2010
(in
Italy)‐ ...a
bank
to
bank
payment
sUll
takes
from
2
to
 5
days
(even
with
some
recent
good
news)‐ ...I
sUll
can’t
change
a
composite
train
Ucket
 online‐ …
more
funny
things
I
probably
can’t
reveal
  70. 70. Why
so
many
project

  71. 71. Why
so
many
project
‐ Is
it
the
crisis?
  72. 72. Why
so
many
project
‐ Is
it
the
crisis?‐ Or
...the
other
crisis?
  73. 73. Why
so
many
project
‐ Is
it
the
crisis?‐ Or
...the
other
crisis?‐ Or
the
one
before?
  74. 74. Why
so
many
project
‐ Is
it
the
crisis?‐ Or
...the
other
crisis?‐ Or
the
one
before?‐ Or
...did
we
simply
fail
to
 deliver?
  75. 75. IT == wasteOfMoney?
  76. 76. How
to
recover
trust?
  77. 77. Part II What are we really doing?Are we still developing software or ...what?
  78. 78. The
product•What’s
really
the
 product?• How
much
of
this
 is
soMware?
  79. 79. Complexity Application Complexity Domain Complexity
  80. 80. ...seen
by
the
user Application Complexity Domain Complexity User
  81. 81. ...seen
by
the
user Application Complexity Domain Complexity User
  82. 82. ...seen
by
the
user Application Complexity Domain Complexity User
  83. 83. ...seen
by
the
user Application Complexity Domain Complexity User
  84. 84. ...seen
by
the
user Application Complexity Domain Complexity User
  85. 85. ...seen
by
the
user Application Complexity Domain Complexity User
  86. 86. ...seen
by
the
user Application Complexity Domain Complexity User
  87. 87. InterludeStory of a username
  88. 88. Whose
ball
is
this?
  89. 89. One
product
‐
one
team one
product
owner
with
a
high
level
 vision
of
the
product a
team
with
all
the
necessary
skills
to
 realize
the
product
  90. 90. for es s
 Ar ma in us st ch Xo B ite n
 ly Project
 ct na r designe Web
 A Manager istec 
 UX ial QAsp Cu sto Developers Arc me r Coach hite ct
  91. 91. Have
we
got
all
the
skills? skill
or
roles?Have
we
got
the
structures
to
work
 together? Are
the
resources
all
available? How? Under
whick
contract? where? when? ...
  92. 92. Part III LearningDoing our job better means doing our job well
  93. 93. Noop.nl
big
Agile
PracXces
Survey: “Build
a
system
metaphor”
 among
the
less
used
agile
 pracUces
  94. 94. ...what
if
we
try
to
see
it
in
a
different
way?soMware
is
a
side
effect
of
a
 learning
process
  95. 95. • Eliminate
waste
‐‐>
what
is
really
 necessary?
Reduce
the
cogniXve
load• Amplify
learning
‐‐>
amplify
learning 2
==
 learning
to
learn• Decide
as
late
as
possible
…
:‐/• Deliver
as
fast
as
possible
‐‐>
short
 iteraUons,
creaXve
collaboraXon
with
 domain
experts,
experience
on
the
fiels• Empower
the
team
‐‐>
empower
the
 team• Build
integrity
in
‐‐>
learn
consistently• See
the
whole
‐‐>
no
specialists –
  96. 96. Can
I
plan
learning?Can
I
learn
faster?Can
I
learn
less
things?
  97. 97. Primary
School
Burn
Down
Chart 10 2 9 3 8 4 7 5 6 6 Numeri 5 7 4 8 Vacanza 3 9 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Settimane
  98. 98. 1 2 3 4 5 6 7 8 9 102 4 6 8 10 12 14 16 18 203 6 9 12 15 18 21 24 27 304 8 12 16 20 24 28 32 36 405 10 15 20 25 30 35 40 45 506 12 18 24 30 36 42 48 54 607 14 21 28 35 42 49 56 63 708 16 24 32 40 48 56 64 72 809 18 27 36 45 54 63 72 81 9010 20 30 40 50 60 70 80 90 100
  99. 99. The art of learningA few interesting things I found on the topic
  100. 100. EducaXon
in
Finlandschool
starts
at
7no
individual
marks
unUl
the
age
of
12‐13self
assessmentmany
group
acXviXesfew
exams
  101. 101. Best
TeachersSurvey
on
teachers
that
sistema;cally
obtained
above
the
average
results
in
“heavy”
suburbsNo
common
pracUce
‐‐>
conUnuous
evoluXonEnthusiasm
was
the
only
common
trait.
  102. 102. Montessori
methodmulX‐sensorial
experiencefree
experimentaXontopics
and
Xmes
chosen
by
students,
not
teachers
(pull
vs
push)no
pressuresXmulaXon
environmentone‐on‐one
mentoring
  103. 103. Esempi
vs
parole
  104. 104. The
Rosenthal
experimentThree
students
group
selected
as
“best
of
breed”Three
teachers
selected
as
“best
of
breed”
Excellence
objecUves ObjecXves
accomplished
  105. 105. The
Rosenthal
experimentThree
students
groups
selected
randomlyThree
teachers
selected
randomly
Excellence
objecUves ObjecXves
accomplished
  106. 106. What
to
learn? Problem Domain Conventions Admin dutiesPMP Legacy code Office space Project Management Agile XP TDDCMMI SOA Domain Driven Design CQRS Web 2.0 EDA Scrum Software Craftmanship Kanban Back to Basics System Thinking JQuery Git User ExperienceRuby languages Scala Erlang Information Architecture
  107. 107. Can
we
do
it
alone?
  108. 108. Swarm
learning
  109. 109. OrganizaXonal
bandwidth Marketing another team teamDomain Experts offshore team Operations
  110. 110. CommunicaXon
toolsMassive
improvements
possible
in
the
way
we
communicate
and
share
informa4onConverging
on
a
soluUon
is
an
artTypical
toolset
largely
insufficient
  111. 111. DOLEARN
  112. 112. DOLEARN
  113. 113. Conclusions… no, really, these are probably more questions
  114. 114. Let’s
raise
expectaXons: we
can
do
be9er we
know
how
to
do
be9erit’s
legi4mate
to
ask
something
 be9er
  115. 115. Can
we
allow
our
human
 capital
to
deliver?

  116. 116. “jumping
around”...
  117. 117. “jumping
 around”......or
dare
the
impossible?
  118. 118. “jumping
 around”......or
dare
the
impossible?
  119. 119. Stop
spoonfeeding
the
 team ‐Requirements ‐Requirements ‐Requirements‐Requirements ‐Requirements ‐Requirements ‐Requirements ‐Requirements ‐Requirements ‐Requirements
  120. 120. Boss, I have an idea!
  121. 121. Boss, I have an idea!
  122. 122. Boss, I have an idea!
  123. 123. Boss, I have an idea!
  124. 124. Thank YouTired and hungry, but questions welcome alberto.brandolini@avanscoperta.it twitter: ziobrando

×