SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
6/2/15	
  
1	
  
Enough	
  About	
  Processes,	
  
Lets	
  Use	
  Pa9erns	
  
Paul	
  E.	
  McMahon	
  
Principal,	
  PEM	
  Systems	
  
ObjecDves	
  
•  Explain	
  common	
  
mistakes	
  
•  MoDvate	
  and	
  explain	
  a	
  
be9er	
  approach	
  
•  Share	
  approach	
  with	
  
examples	
  
Copyright	
  2015	
  PEM	
  Systems	
   2	
  
6/2/15	
  
2	
  
Background	
  and	
  	
  MoDvaDon	
  
Copyright	
  2015	
  PEM	
  Systems	
   3	
  
What	
  is	
  SoOware	
  Development?	
  
How	
  can	
  we	
  do	
  be+er	
  helping	
  so3ware	
  prac44oners	
  	
  	
  
with	
  the	
  common	
  challenges	
  they	
  face	
  each	
  day?	
  
Reusing	
  Design	
  Pa9erns	
  
Copyright	
  2015	
  PEM	
  Systems	
   4	
  
…But	
  so3ware	
  development	
  extends	
  far	
  beyond	
  	
  
just	
  design	
  and	
  programming	
  
6/2/15	
  
3	
  
Typical	
  SoOware	
  Developer’s	
  Day	
  
•  Design	
  0.5	
  hour	
  
•  Programming	
  1.0	
  hour	
  
•  Requirements	
  gathering/analysis	
  0.5	
  hour	
  
•  Customer	
  support	
  0.5	
  hour	
  
•  EsDmaDng/statusing/improvements	
  0.5	
  hour	
  
•  TesDng/bug	
  fixing	
  2.0	
  hours	
  
•  Admin	
  tasks	
  (email,	
  meeDngs)	
  3.0	
  hours	
  
Copyright	
  2015	
  PEM	
  Systems	
   5	
  
For	
  every	
  1.5	
  hours	
  of	
  programming/design,	
  typical	
  developer	
  spends	
  
3.5	
  hours	
  working	
  other	
  common	
  so>ware	
  development	
  ac?vi?es	
  
1.5	
  hrs	
  
3.5	
  hrs	
  
Another	
  QuesDon	
  
•  Are	
  there	
  other	
  pa9erns	
  
beyond	
  design	
  and	
  
programming	
  –	
  that	
  we	
  
haven’t	
  been	
  paying	
  close	
  
enough	
  a9enDon	
  to–	
  that	
  
could	
  help	
  soOware	
  
pracDDoners	
  with	
  the	
  common	
  
challenges	
  they	
  face	
  each	
  day?	
  
Copyright	
  2015	
  PEM	
  Systems	
   6	
  
6/2/15	
  
4	
  
Pa9erns	
  Beyond	
  Design	
  and	
  
Programming	
  
Copyright	
  2015	
  PEM	
  Systems	
   7	
  
Uses	
  pa9erns	
  as	
  aids	
  to	
  get	
  	
  you	
  thinking	
  	
  
about	
  how	
  to	
  balance	
  conflicDng	
  ideas	
  
MoDvaDng	
  “Thinking	
  Pa9erns”	
  
Copyright	
  2015	
  PEM	
  Systems	
   8	
  
Why	
  wouldn’t	
  it	
  make	
  sense	
  to	
  build	
  and	
  deploy	
  the	
  prac?ces	
  	
  
we	
  want	
  our	
  developers	
  to	
  follow	
  in	
  small	
  slices?	
  
6/2/15	
  
5	
  
PracDce	
  slice	
  and	
  thinking	
  pa9erns	
  
Copyright	
  2015	
  PEM	
  Systems	
   9	
  
A	
  prac?ce	
  slice	
  is	
  a	
  common	
  scenario	
  or	
  a	
  small	
  set	
  of	
  related	
  
scenarios	
  that	
  a	
  soOware	
  pracDDoner	
  typically	
  faces	
  each	
  day	
  	
  
A	
  thinking	
  paDern	
  is	
  the	
  essenDals	
  of	
  a	
  pracDce	
  slice	
  with	
  key	
  
related	
  quesDons,	
  Dps	
  and	
  warnings	
  added	
  in	
  
More	
  MoDvaDon	
  for	
  Thinking	
  Pa9erns	
  
Copyright	
  2015	
  PEM	
  Systems	
   10	
  
•  PracDces	
  then	
  become	
  a	
  vehicle	
  to	
  
help	
  pracDDoners	
  perform	
  be9er	
  	
  
•  What	
  if	
  organizaDons	
  viewed	
  their	
  
soOware	
  pracDDoners	
  as	
  their	
  
customer	
  for	
  their	
  organizaDonal	
  
pracDces?	
  
•  “Study	
  this	
  because	
  it	
  contains	
  how-­‐we-­‐
expect-­‐you-­‐to-­‐operate”	
  
6/2/15	
  
6	
  
What	
  We	
  Have	
  Done	
  in	
  the	
  Past	
  
Copyright	
  2015	
  PEM	
  Systems	
   11	
  
•  Processes	
  so	
  light	
  
they	
  become	
  
useless	
  
•  Extremely	
  
heavyweight	
  
processes	
  
What	
  prac??oners	
  really	
  need	
  falls	
  in	
  between	
  these	
  
two	
  extremes	
  
•  Requirements	
  Before	
  Design	
  
•  Design	
  Before	
  Code	
  
•  Test	
  Before	
  Release	
  
What	
  pracDDoners	
  need	
  to	
  help	
  them	
  
perform	
  (two	
  types	
  of	
  informaDon)	
  	
  	
  
Copyright	
  2015	
  PEM	
  Systems	
   12	
  
•  Basic	
  informa?on	
  about	
  pracDces	
  
–  How	
  to	
  conduct	
  the	
  pracDce	
  
–  Competencies	
  need	
  
–  Checklists	
  	
  
•  To	
  be	
  prepared	
  
•  CompleDon	
  criteria	
  
TradiDonal	
  processes	
  
have	
  done	
  reasonably	
  
good	
  job	
  	
  
Where	
  thinking	
  
pa9erns	
  can	
  help	
  
most	
  
•  Things	
  to	
  watch	
  out	
  for	
  when	
  
conduc?ng	
  the	
  pracDce	
  
–  Including	
  how	
  to	
  handle	
  common	
  
scenarios	
  where	
  difficult	
  decision	
  needed	
  
6/2/15	
  
7	
  
How	
  we	
  discovered	
  “thinking	
  
pa9erns”	
  	
  
Copyright	
  2015	
  PEM	
  Systems	
   13	
  
I	
  don’t	
  know	
  how	
  I	
  can	
  
apply	
  these	
  principles	
  
in	
  the	
  “fog	
  of	
  war”	
  of	
  
my	
  real	
  project	
  
Pa9ern	
  #1:	
  “I	
  don’t	
  understand	
  a	
  
requirement”	
  or	
  “Fly	
  high	
  go	
  fast”	
  	
  
•  User	
  story:	
  “As	
  a	
  so9ware	
  
developer,	
  I	
  want	
  more	
  
guidance	
  in	
  what	
  I	
  should	
  
do	
  when	
  I	
  don’t	
  
understand	
  a	
  requirement,	
  
so	
  that	
  I	
  can	
  build	
  the	
  best	
  
so9ware	
  in	
  the	
  least	
  
amount	
  of	
  Cme	
  to	
  meet	
  my	
  
customer’s	
  needs	
  &	
  my	
  
commitments.”	
  	
  
Copyright	
  2015	
  PEM	
  Systems	
   14	
  
We	
  need	
  simulated	
  
missiles	
  that	
  fly	
  high	
  
and	
  go	
  fast!	
  
6/2/15	
  
8	
  
Pa9ern	
  #1:	
  “I	
  don’t	
  understand	
  a	
  
requirement”	
  or	
  “Fly	
  high	
  go	
  fast”	
  (cont.)	
  	
  
•  Ques?ons	
  to	
  ask:	
  	
  	
  
–  Is	
  my	
  customer	
  collaboraDve	
  and	
  working	
  
closely	
  with	
  me	
  to	
  discover	
  the	
  
requirements?	
  
–  Do	
  I	
  have	
  a	
  fixed	
  schedule	
  and	
  cost?	
  
•  Tips:	
  	
  
–  Do	
  nothing	
  different	
  if	
  customer	
  understands	
  
cost	
  of	
  iteraDng	
  to	
  discover	
  requirements	
  
and	
  is	
  working	
  closely	
  with	
  you	
  
–  Raise	
  a	
  risk	
  if	
  non-­‐collaboraDve	
  customer	
  and	
  
fixed	
  cost/schedule	
  
Copyright	
  2015	
  PEM	
  Systems	
   15	
  
Fly	
  high,	
  Go	
  Fast	
  
Pa9ern	
  #2:	
  “My	
  tesDng	
  is	
  taking	
  too	
  
long”	
  or	
  “How	
  much	
  is	
  enough?”	
  	
  
•  User	
  story:	
  “As	
  a	
  
so9ware	
  developer	
  (or	
  
tester),	
  I	
  want	
  to	
  know	
  
what	
  to	
  do	
  when	
  my	
  
tesCng	
  is	
  taking	
  too	
  
long,	
  so	
  that	
  I	
  can	
  
respond	
  to	
  the	
  pressure	
  
from	
  my	
  manager	
  to	
  
finish.”	
  
Copyright	
  2015	
  PEM	
  Systems	
   16	
  
I	
  need	
  to	
  run	
  all	
  these	
  
tests	
  to	
  be	
  sure	
  
everything	
  is	
  perfect!	
  
6/2/15	
  
9	
  
Pa9ern	
  #2:	
  “My	
  tesDng	
  is	
  taking	
  too	
  
long”	
  or	
  “How	
  much	
  is	
  enough?”(cont.)	
  
•  Ques?ons	
  to	
  ask:	
  
–  Does	
  soOware	
  have	
  life-­‐criDcal/high	
  cost	
  failure	
  consequences?	
  
–  Does	
  my	
  project	
  have	
  an	
  agreed	
  way	
  of	
  working	
  with	
  respect	
  to	
  
tesDng?	
  If	
  so,	
  have	
  I	
  reviewed	
  my	
  tesDng	
  	
  opDons?	
  
•  Tips:	
  
–  Consider	
  focusing	
  your	
  low	
  level	
  tesDng	
  just	
  on	
  areas	
  you	
  have	
  
changed,	
  if	
  allowed	
  by	
  your	
  agreed	
  way	
  of	
  working.	
  
–  Consider	
  focusing	
  tests	
  	
  on	
  high	
  risk	
  areas,	
  if	
  allowed	
  by	
  your	
  
agreed	
  way	
  of	
  working.	
  
•  Warnings:	
  	
  
–  Be	
  sure	
  to	
  assess	
  any	
  risk	
  involved	
  in	
  reduced	
  tesDng	
  	
  such	
  as:	
  
–  	
  Missing	
  key	
  dependencies.	
  
–  	
  Not	
  following	
  the	
  agreed	
  way	
  of	
  working.	
  
Copyright	
  2015	
  PEM	
  Systems	
   17	
  
Pa9ern	
  #3:	
  “How	
  should	
  I	
  handle	
  a	
  
design	
  risk?”	
  or	
  “I’m	
  a	
  new	
  developer”	
  	
  	
  
•  User	
  Story:	
  “As	
  a	
  
so9ware	
  developer,	
  I	
  
want	
  more	
  help	
  in	
  how	
  	
  
to	
  handle	
  a	
  design	
  risk,	
  
when	
  the	
  alternaCve	
  
design	
  is	
  going	
  to	
  extend	
  
the	
  schedule,	
  so	
  that	
  I	
  
can	
  respond	
  to	
  the	
  
pressure	
  to	
  finish	
  on	
  
Cme.”	
  
Copyright	
  2015	
  PEM	
  Systems	
   18	
  
Why	
  don’t	
  you	
  just	
  ask	
  
Fred?	
  He’s	
  an	
  expert	
  
in	
  that	
  system.	
  	
  
6/2/15	
  
10	
  
Pa9ern	
  #3:	
  “How	
  should	
  I	
  handle	
  a	
  
design	
  risk?”	
  or	
  “I’m	
  a	
  new	
  developer”	
  	
  
•  Ques?ons	
  to	
  ask:	
  
–  Have	
  I	
  discussed	
  my	
  design	
  with	
  an	
  experienced	
  coworker	
  
or	
  colleague	
  who	
  has	
  implemented	
  a	
  similar	
  design?	
  
–  Have	
  we	
  teamed	
  up	
  new	
  developers	
  with	
  mentors?	
  
•  Tips:	
  
–  Call	
  for	
  a	
  peer	
  review.	
  
–  Call	
  for	
  a	
  limited	
  peer	
  review	
  with	
  key	
  people	
  focusing	
  just	
  
on	
  the	
  design	
  risk,	
  if	
  allowed	
  by	
  your	
  agreed	
  way	
  of	
  
working.	
  
•  Warning:	
  
–  Less	
  experienced	
  pracDDoners	
  someDmes	
  hesitate	
  asking	
  
for	
  help	
  for	
  fear	
  of	
  being	
  perceived	
  as	
  lacking	
  competency	
  
	
   Copyright	
  2015	
  PEM	
  Systems	
   19	
  
Ask	
  for	
  help	
  
Is	
  training	
  in	
  common	
  pa9erns	
  
enough?	
  
•  Does	
  performance	
  improvement	
  
always	
  result	
  just	
  from	
  making	
  
pracDDoners	
  aware	
  of	
  pa9erns?	
  
•  Also	
  need	
  to	
  recognize	
  pa9erns	
  
when	
  faced	
  with	
  a	
  similar	
  situaDon	
  
Copyright	
  2015	
  PEM	
  Systems	
   20	
  
6/2/15	
  
11	
  
Example:	
  Pa9ern	
  recogniDon	
  from	
  
non-­‐soOware	
  development	
  domain	
  
•  Story	
  about	
  Tom	
  Brady,	
  Quarterback,	
  
New	
  England	
  Patriots,	
  NaDonal	
  Football	
  
League	
  
–  Brady’s	
  posiDve	
  a9ribute:	
  “decision-­‐making”	
  
–  “I	
  don’t	
  know	
  how	
  I	
  know	
  where	
  to	
  pass.	
  
There	
  are	
  no	
  firm	
  rules.	
  You	
  just	
  ‘feel’	
  like	
  
you	
  are	
  going	
  to	
  the	
  right	
  place….And	
  that	
  is	
  
where	
  I	
  throw	
  it.”	
  
Copyright	
  2015	
  PEM	
  Systems	
   21	
  
Tom	
  says	
  he	
  doesn’t	
  know	
  how	
  	
  
he	
  knows	
  where	
  to	
  pass,	
  but	
  do	
  you	
  know?	
  
Spending	
  hours	
  reviewing	
  videos	
  of	
  
next	
  opponent	
  before	
  the	
  game	
  
•  Brady	
  spends	
  hours	
  and	
  hours	
  
looking	
  at	
  videos	
  of	
  the	
  team	
  
he	
  is	
  about	
  to	
  face	
  looking	
  for	
  
strengths/	
  weaknesses	
  of	
  his	
  
next	
  opponent	
  
	
  
Copyright	
  2015	
  PEM	
  Systems	
   22	
  
•  Do	
  you	
  think	
  soOware	
  
pracDDoners	
  can	
  learn	
  
anything	
  from	
  this	
  example?	
  
	
  
6/2/15	
  
12	
  
Two	
  sides	
  to	
  our	
  brain	
  
•  Quick	
  thinking	
  emoDonal	
  
side	
  (System	
  1)	
  
•  Slow	
  thinking	
  logical	
  side	
  
–  (System	
  2)	
  
•  Quick	
  thinking	
  emo?onal	
  
side	
  
–  In	
  charge	
  inside	
  most	
  of	
  us	
  
and	
  makes	
  most	
  decisions	
  
–  Loves	
  pa9erns	
  
Copyright	
  2015	
  PEM	
  Systems	
   23	
  
To	
  make	
  beDer	
  decisions,	
  need	
  to	
  recognize	
  “right	
  paDerns,”	
  
But	
  how?	
  
What	
  is	
  Brady	
  doing	
  when	
  he	
  is	
  
spending	
  	
  hours	
  watching	
  videos?	
  
•  He	
  is	
  preparing	
  (or	
  pracDcing)	
  
–  You	
  prepare	
  by	
  thinking	
  ahead	
  of	
  Dme	
  about	
  
what	
  you	
  are	
  about	
  to	
  face	
  
•  Using	
  slow	
  thinking	
  logical	
  side	
  to	
  refresh	
  the	
  right	
  
pa9erns	
  for	
  your	
  fast	
  thinking	
  emoDonal	
  side	
  
•  You	
  know	
  what	
  they	
  are	
  be9er	
  than	
  anyone	
  else!	
  
•  Do	
  you	
  want	
  to	
  become	
  an	
  expert	
  fast?	
  
–  Kahneman	
  tells	
  us	
  expert	
  intuiDon	
  is	
  nothing	
  
more	
  and	
  nothing	
  less	
  than	
  pa9ern	
  
recogniDon	
  and	
  it	
  only	
  comes	
  from	
  sufficient	
  
opportunity	
  to	
  pracDce	
  
Copyright	
  2015	
  PEM	
  Systems	
   24	
  
6/2/15	
  
13	
  
So	
  how	
  might	
  this	
  relate	
  to	
  a	
  soOware	
  
pracDDoner’s	
  work	
  day?	
  
•  Recall	
  all	
  those	
  other	
  acDviDes	
  beyond	
  
design	
  and	
  programming	
  that	
  a	
  
soOware	
  pracDDoner	
  typically	
  does	
  
each	
  day	
  
– Ask	
  yourself:	
  
•  Which	
  will	
  be	
  most	
  challenging	
  for	
  me	
  today?	
  
•  What	
  are	
  the	
  pa9erns	
  that	
  will	
  help	
  me	
  
respond	
  most	
  effecDvely?	
  
•  What	
  decisions	
  might	
  I	
  face?	
  
•  What	
  opDons	
  do	
  I	
  have?	
  
Copyright	
  2015	
  PEM	
  Systems	
   25	
  
More	
  Sample	
  Scenarios	
  &	
  Guidance	
  to	
  
Kick-­‐Start	
  Your	
  Pa9ern	
  Development	
  
•  With	
  quesDons,	
  Dps	
  and	
  
warnings	
  
•  Based	
  on	
  real	
  experiences	
  
(“real	
  stories”)	
  that	
  tend	
  to	
  
repeat	
  in	
  many	
  organizaDons	
  
•  Includes	
  soOware	
  supporDng	
  
roles	
  
Copyright	
  2015	
  PEM	
  Systems	
   26	
  
6/2/15	
  
14	
  
Pa9ern	
  #4:	
  “How	
  can	
  I	
  help	
  my	
  team	
  improve	
  
performance?“	
  or	
  “Coachable	
  moments”	
  	
  
Copyright	
  2015	
  PEM	
  Systems	
   27	
  
Should	
  I	
  re-­‐start	
  my	
  2	
  
hour	
  weekly	
  meeDng?	
  	
  
•  User	
  Story:	
  “As	
  a	
  team	
  
leader,	
  I	
  want	
  more	
  
guidance	
  in	
  what	
  I	
  should	
  
do	
  when	
  my	
  team	
  isn’t	
  
following	
  the	
  new	
  
expected	
  behavior,	
  so	
  
that	
  we	
  can	
  benefit	
  from	
  
our	
  new	
  improved	
  
pracCces.”	
  
Pa9ern	
  #4:	
  QuesDons,	
  Tips,	
  Warnings	
  
•  Ques?ons	
  to	
  ask:	
  
–  Have	
  you	
  worked	
  through	
  any	
  conflicts	
  between	
  new	
  agreed	
  way	
  
of	
  working	
  and	
  org.	
  policies,	
  culture?	
  
–  If	
  using	
  mulDple	
  coaches,	
  have	
  you	
  agreed	
  on	
  way	
  of	
  working?	
  
•  Tips:	
  
–  Consider	
  using	
  a	
  head-­‐coach	
  for	
  consistent	
  guidance	
  
–  Examples	
  where	
  issues	
  	
  might	
  arise	
  include:	
  
•  Constraints	
  on	
  who	
  can	
  sign	
  up	
  for	
  certain	
  task	
  types	
  
•  Capacity	
  planning	
  and	
  risk	
  assessment	
  expectaDons	
  
•  ExpectaDons	
  on	
  basis	
  of	
  task	
  esDmates,	
  	
  velocity,	
  burn-­‐down	
  charts	
  
–  Watch	
  for	
  “coachable	
  moments”…	
  “Have	
  you	
  considered…”	
  
•  Warnings:	
  
–  Keep	
  an	
  eye	
  out	
  for	
  coaches	
  who	
  just	
  coach	
  to	
  their	
  own	
  
experiences	
  and	
  are	
  not	
  a9une	
  to	
  needs	
  of	
  your	
  organizaDon	
  
Copyright	
  2015	
  PEM	
  Systems	
   28	
  
6/2/15	
  
15	
  
Pa9ern	
  #5:	
  “The	
  Non-­‐Engaged	
  
Stakeholder”	
  	
  or	
  “We	
  need	
  test	
  data!”	
  
Copyright	
  2015	
  PEM	
  Systems	
   29	
  
We	
  need	
  test	
  data!	
  
•  User	
  Story:	
  “As	
  a	
  sub-­‐
contract	
  	
  manager,	
  I	
  
want	
  more	
  guidance	
  in	
  
what	
  I	
  should	
  do	
  when	
  a	
  
stakeholder	
  	
  won’t	
  give	
  
me	
  the	
  data	
  we	
  need,	
  so	
  
that	
  we	
  can	
  meet	
  our	
  
schedule	
  and	
  cost	
  
commitments.”	
  
Copyright	
  2015	
  PEM	
  Systems	
   30	
  
Pa9ern	
  #5:	
  QuesDons,	
  Tips,	
  Warnings	
  
•  Ques?ons	
  to	
  ask:	
  
–  Have	
  you	
  let	
  your	
  customer	
  know	
  immediately	
  when	
  they	
  are	
  impacDng	
  
your	
  performance?	
  
–  Has	
  a	
  stakeholder	
  representaDve	
  been	
  appointed?	
  
–  Have	
  they	
  agreed	
  to	
  take	
  on	
  their	
  responsibiliDes?	
  
•  Tips:	
  
–  If	
  fixed	
  cost/schedule	
  and	
  impacted,	
  alert	
  customer	
  at	
  once	
  
–  OOen	
  stakeholder	
  reps	
  have	
  not	
  been	
  appointed	
  or	
  don’t	
  realize	
  impact	
  
–  Second	
  step,	
  dig	
  to	
  see	
  if	
  you	
  can	
  uncover	
  root	
  cause	
  
–  Example	
  of	
  possible	
  reasons	
  include:	
  
•  Too	
  much	
  work	
  on	
  their	
  plate	
  
•  Lack	
  of	
  communicaDons/understanding	
  of	
  real	
  need	
  
•  Poor	
  processes	
  within	
  subcontractor	
  organizaDon	
  
•  Lack	
  of	
  authorizaDon	
  
•  Warnings:	
  
–  Don’t	
  hesitate	
  to	
  alert	
  customer	
  
–  Keep	
  an	
  eye	
  out	
  for	
  stakeholder	
  reps	
  who	
  lack	
  authorizaDon	
  
6/2/15	
  
16	
  
Pa9ern	
  #6:	
  “Why	
  can’t	
  we	
  hit	
  our	
  schedule	
  
commitments?”	
  or	
  “That	
  won’t	
  work!”	
  
Copyright	
  2015	
  PEM	
  Systems	
   31	
  
Our	
  product	
  backlog	
  is	
  
never	
  properly	
  
prepared!	
  	
  
•  User	
  Story:	
  “As	
  a	
  team	
  
lead,	
  I	
  want	
  more	
  
guidance	
  in	
  what	
  I	
  should	
  
do	
  to	
  help	
  my	
  team,	
  so	
  
that	
  we	
  can	
  consistently	
  
meet	
  our	
  schedule	
  
commitments.”	
  
Copyright	
  2015	
  PEM	
  Systems	
   32	
  
Pa9ern	
  #6:	
  QuesDons,	
  Tips,	
  Warnings	
  
•  Ques?ons	
  to	
  ask:	
  
–  Are	
  we	
  esDmaDng	
  our	
  future	
  work	
  based	
  on	
  our	
  real	
  
recent	
  velocity/performance?	
  
•  Tips:	
  
–  Keep	
  personal	
  data	
  on	
  actual	
  Dme	
  spent	
  clarifying	
  
backlog	
  items	
  as	
  well	
  as	
  other	
  common	
  soOware	
  
acDviDes	
  
–  Use	
  actual	
  recent	
  personal	
  data	
  to	
  esDmate	
  
•  Warnings:	
  
–  OOen	
  teams	
  fail	
  to	
  consider	
  real	
  velocity	
  when	
  predict	
  
–  Keep	
  on	
  lookout	
  for	
  “going	
  through	
  the	
  moDons”	
  in	
  
retrospecDves,	
  not	
  a9acking	
  the	
  “hard	
  problems”	
  	
  
6/2/15	
  
17	
  
	
  
	
  	
  
•  Another	
  Tip:	
  
– If	
  the	
  culture	
  in	
  your	
  
organizaDon	
  is	
  one	
  where	
  
management	
  uses	
  power	
  to	
  
pressure	
  pracDDoners	
  to	
  make	
  
esDmates	
  they	
  are	
  not	
  
comfortable	
  with-­‐-­‐-­‐	
  
•  Keep	
  in	
  	
  mind	
  the	
  story	
  of	
  Korean	
  
Airlines	
  in	
  the	
  1990s	
  
–  PotenDal	
  devastaDng	
  effects	
  of	
  
inappropriate	
  deference	
  to	
  
authority	
  (e.g.	
  “miDgated	
  speech”)	
  
Copyright	
  2015	
  PEM	
  Systems	
   33	
  
Pa9ern	
  #6:	
  QuesDons,	
  Tips,	
  Warnings	
  	
  
(cont.)	
  
A	
  simple	
  way	
  to	
  pilot	
  the	
  thinking	
  
pa9ern	
  idea	
  in	
  your	
  organizaDon	
  	
  
•  Set	
  up	
  a	
  brainstorming	
  session	
  where	
  you	
  ask	
  parDcipants	
  to	
  
share	
  real	
  stories	
  related	
  to	
  common	
  challenges	
  faced	
  
•  Include	
  at	
  least	
  1	
  or	
  2	
  experts	
  to	
  sDmulate	
  	
  discussion	
  	
  to	
  
understand	
  issues,	
  ask	
  key	
  quesDons,	
  share	
  Dps,	
  and	
  warnings	
  
•  Capture	
  scenario	
  essenDals,	
  key	
  quesDons,	
  Dps,	
  and	
  warnings,	
  
prioriDze	
  based	
  on	
  consensus	
  and	
  select	
  small	
  set	
  to	
  train	
  to	
  
wider	
  group	
  
•  Provide	
  on-­‐the-­‐job	
  pa9ern	
  reminder	
  aids	
  and	
  conduct	
  survey	
  to	
  
determine	
  if	
  useful	
  
Copyright	
  2015	
  PEM	
  Systems	
   34	
  
6/2/15	
  
18	
  
Capturing	
  pa9erns	
  on	
  cards	
  as	
  
reminder	
  aids	
  
Copyright	
  2015	
  PEM	
  Systems	
   35	
  
Could	
  add	
  memory	
  jogger	
  	
  reference	
  
to	
  “real	
  story”	
  	
  
Reference:	
  “Fly	
  high,	
  go	
  fast”	
  
What	
  makes	
  thinking	
  pa9erns	
  any	
  
be9er	
  than	
  checklists?	
  
•  Gives	
  your	
  pracDDoners	
  context	
  
•  SDmulates	
  “criDcal-­‐thinking”	
  through	
  the	
  
quesDons,	
  Dps,	
  and	
  warnings	
  leading	
  to	
  
be9er	
  decisions	
  
•  They	
  are	
  fun	
  to	
  create	
  and	
  stories	
  are	
  great	
  
memory	
  aids!	
  
Copyright	
  2015	
  PEM	
  Systems	
   36	
  
6/2/15	
  
19	
  
How	
  to	
  avoid	
  non-­‐value-­‐add	
  pa9erns	
  
•  Select	
  only	
  pa9erns	
  
– That	
  are	
  common	
  and	
  tend	
  to	
  repeat	
  
– Where	
  pracDDoners	
  oOen	
  need	
  help	
  making	
  
related	
  decisions	
  
– That	
  present	
  potenDal	
  significant	
  impact	
  to	
  
performance	
  
•  Prune	
  pa9erns	
  regularly	
  
– When	
  add	
  new	
  pa9erns	
  consider	
  deleDng	
  older	
  
pa9erns	
  that	
  are	
  not	
  providing	
  payback	
  	
  	
  
Copyright	
  2015	
  PEM	
  Systems	
   37	
  
Conclusion	
  
•  Pa9erns	
  don’t	
  replace	
  your	
  
company	
  processes,	
  or	
  what	
  
your	
  team	
  is	
  doing	
  today	
  
•  They	
  are	
  an	
  aid	
  that	
  can	
  help	
  
your	
  team’s	
  criDcal-­‐thinking	
  
and	
  decision-­‐making	
  
Copyright	
  2015	
  PEM	
  Systems	
   38	
  
6/2/15	
  
20	
  
Contact	
  InformaDon	
  
•  Paul	
  E.	
  McMahon,	
  Principal,	
  PEM	
  Systems	
  
•  www.pemsystems.com	
  	
  
•  pemcmahon@acm.org	
  
•  Phone:	
  607-­‐798-­‐7740	
  
39	
  Copyright	
  2015	
  PEM	
  Systems	
  

Contenu connexe

Tendances

Xp presentation 2003
Xp presentation 2003Xp presentation 2003
Xp presentation 2003
eaiti
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
Igor Moochnick
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)
Peter Kofler
 
Classic Testing Mistakes 0226
Classic Testing Mistakes 0226Classic Testing Mistakes 0226
Classic Testing Mistakes 0226
MBA_Community
 

Tendances (20)

The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
Xp presentation 2003
Xp presentation 2003Xp presentation 2003
Xp presentation 2003
 
Test Estimation Hacks: Tips, Tricks and Tools Webinar
Test Estimation Hacks: Tips, Tricks and Tools WebinarTest Estimation Hacks: Tips, Tricks and Tools Webinar
Test Estimation Hacks: Tips, Tricks and Tools Webinar
 
Rsdc Nppm01
Rsdc Nppm01Rsdc Nppm01
Rsdc Nppm01
 
There's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannThere's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna Heiermann
 
Chicago Code Camp 2014 - Agile Testing in a waterfall world
Chicago Code Camp 2014 - Agile Testing in a waterfall worldChicago Code Camp 2014 - Agile Testing in a waterfall world
Chicago Code Camp 2014 - Agile Testing in a waterfall world
 
Try Before You Buy: User Experience Testing in Your RFP Process Can Save You ...
Try Before You Buy: User Experience Testing in Your RFP Process Can Save You ...Try Before You Buy: User Experience Testing in Your RFP Process Can Save You ...
Try Before You Buy: User Experience Testing in Your RFP Process Can Save You ...
 
Test automation Anecdotes
Test automation AnecdotesTest automation Anecdotes
Test automation Anecdotes
 
Continuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceContinuous Deployment Through Technical Excellence
Continuous Deployment Through Technical Excellence
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)
 
Scrum overview
Scrum overviewScrum overview
Scrum overview
 
Pair programming demystified
Pair programming demystifiedPair programming demystified
Pair programming demystified
 
Classic Testing Mistakes 0226
Classic Testing Mistakes 0226Classic Testing Mistakes 0226
Classic Testing Mistakes 0226
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 

En vedette

En vedette (17)

Security Testing: What Testers Can Do
Security Testing: What Testers Can DoSecurity Testing: What Testers Can Do
Security Testing: What Testers Can Do
 
The Next Decade of Agile Software Development and Test
The Next Decade of Agile Software Development and TestThe Next Decade of Agile Software Development and Test
The Next Decade of Agile Software Development and Test
 
What Do Defects Really Cost? Much More Than You Think
What Do Defects Really Cost? Much More Than You ThinkWhat Do Defects Really Cost? Much More Than You Think
What Do Defects Really Cost? Much More Than You Think
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
 
Business Analysis: From Interviews through Implementation
Business Analysis: From Interviews through ImplementationBusiness Analysis: From Interviews through Implementation
Business Analysis: From Interviews through Implementation
 
Leadership for Test Managers and Testers
Leadership for Test Managers and TestersLeadership for Test Managers and Testers
Leadership for Test Managers and Testers
 
Automate Legacy-System Testing: Easy, Reliable, and Extendible
Automate Legacy-System Testing: Easy, Reliable, and ExtendibleAutomate Legacy-System Testing: Easy, Reliable, and Extendible
Automate Legacy-System Testing: Easy, Reliable, and Extendible
 
Leadership for Test Managers and Testers
Leadership for Test Managers and TestersLeadership for Test Managers and Testers
Leadership for Test Managers and Testers
 
Lightning Strikes the Keynotes
Lightning Strikes the KeynotesLightning Strikes the Keynotes
Lightning Strikes the Keynotes
 
Create Products That Customers Love: A Testing Perspective
Create Products That Customers Love: A Testing PerspectiveCreate Products That Customers Love: A Testing Perspective
Create Products That Customers Love: A Testing Perspective
 
Testing the Internet of Everything
Testing the Internet of EverythingTesting the Internet of Everything
Testing the Internet of Everything
 
Automate Your Way to Sanity in the Chaos of Mobile App Development
Automate Your Way to Sanity in the Chaos of Mobile App DevelopmentAutomate Your Way to Sanity in the Chaos of Mobile App Development
Automate Your Way to Sanity in the Chaos of Mobile App Development
 
How We NOW Test Software at Microsoft
How We NOW Test Software at MicrosoftHow We NOW Test Software at Microsoft
How We NOW Test Software at Microsoft
 
Plotting a Better Beer with Geolocation: An Untappd Case Study
Plotting a Better Beer with Geolocation: An Untappd Case StudyPlotting a Better Beer with Geolocation: An Untappd Case Study
Plotting a Better Beer with Geolocation: An Untappd Case Study
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
 
The Art of Complex System Testing
The Art of Complex System TestingThe Art of Complex System Testing
The Art of Complex System Testing
 
Improve Your Test Process from the Bottom Up
Improve Your Test Process from the Bottom UpImprove Your Test Process from the Bottom Up
Improve Your Test Process from the Bottom Up
 

Similaire à Enough about Process, Let’s Use Patterns

Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
Terry Bunio
 
Bestoutcome Agile crouch touch pause engage scrum
Bestoutcome Agile  crouch touch pause engage  scrumBestoutcome Agile  crouch touch pause engage  scrum
Bestoutcome Agile crouch touch pause engage scrum
Bestoutcome
 
Sprint. Don't Waterfall
Sprint. Don't WaterfallSprint. Don't Waterfall
Sprint. Don't Waterfall
GiedriusTS
 
Session 1 - The Agile vs Non agile divide.pptx
Session 1 - The Agile vs Non agile divide.pptxSession 1 - The Agile vs Non agile divide.pptx
Session 1 - The Agile vs Non agile divide.pptx
WatchDogs6
 

Similaire à Enough about Process, Let’s Use Patterns (20)

Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
 
Roadmap
RoadmapRoadmap
Roadmap
 
Adam Ochs - Office 365 Roadmap
Adam Ochs - Office 365 RoadmapAdam Ochs - Office 365 Roadmap
Adam Ochs - Office 365 Roadmap
 
Rapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPARapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPA
 
Putting sprint development into operation
Putting sprint development into operationPutting sprint development into operation
Putting sprint development into operation
 
Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in Agile
 
Bestoutcome Agile crouch touch pause engage scrum
Bestoutcome Agile  crouch touch pause engage  scrumBestoutcome Agile  crouch touch pause engage  scrum
Bestoutcome Agile crouch touch pause engage scrum
 
eSavvy webinar: Top 5+1 Tips of How to Maximize the ROI of a CRM Investment
eSavvy webinar: Top 5+1 Tips of How to Maximize the ROI of a CRM InvestmenteSavvy webinar: Top 5+1 Tips of How to Maximize the ROI of a CRM Investment
eSavvy webinar: Top 5+1 Tips of How to Maximize the ROI of a CRM Investment
 
Patterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps ToolsPatterns and Antipatterns for Adopting IBM DevOps Tools
Patterns and Antipatterns for Adopting IBM DevOps Tools
 
BizTech-How to Manage ERP Implementation Risks
BizTech-How to Manage ERP Implementation RisksBizTech-How to Manage ERP Implementation Risks
BizTech-How to Manage ERP Implementation Risks
 
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
 
Sprint. Don't Waterfall
Sprint. Don't WaterfallSprint. Don't Waterfall
Sprint. Don't Waterfall
 
Overcome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesOvercome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challenges
 
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
 
AEM.Design - Project Introduction
AEM.Design - Project IntroductionAEM.Design - Project Introduction
AEM.Design - Project Introduction
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid Programs
 
The Divide.pptx
The Divide.pptxThe Divide.pptx
The Divide.pptx
 
How to Apply a Product Mindset to Your Platform Team Tomorrow
How to Apply a Product Mindset to Your Platform Team TomorrowHow to Apply a Product Mindset to Your Platform Team Tomorrow
How to Apply a Product Mindset to Your Platform Team Tomorrow
 
Session 1 - The Agile vs Non agile divide.pptx
Session 1 - The Agile vs Non agile divide.pptxSession 1 - The Agile vs Non agile divide.pptx
Session 1 - The Agile vs Non agile divide.pptx
 
Neil Potter Presentation
Neil Potter Presentation Neil Potter Presentation
Neil Potter Presentation
 

Plus de TechWell

Plus de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Dernier

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Dernier (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Enough about Process, Let’s Use Patterns

  • 1. 6/2/15   1   Enough  About  Processes,   Lets  Use  Pa9erns   Paul  E.  McMahon   Principal,  PEM  Systems   ObjecDves   •  Explain  common   mistakes   •  MoDvate  and  explain  a   be9er  approach   •  Share  approach  with   examples   Copyright  2015  PEM  Systems   2  
  • 2. 6/2/15   2   Background  and    MoDvaDon   Copyright  2015  PEM  Systems   3   What  is  SoOware  Development?   How  can  we  do  be+er  helping  so3ware  prac44oners       with  the  common  challenges  they  face  each  day?   Reusing  Design  Pa9erns   Copyright  2015  PEM  Systems   4   …But  so3ware  development  extends  far  beyond     just  design  and  programming  
  • 3. 6/2/15   3   Typical  SoOware  Developer’s  Day   •  Design  0.5  hour   •  Programming  1.0  hour   •  Requirements  gathering/analysis  0.5  hour   •  Customer  support  0.5  hour   •  EsDmaDng/statusing/improvements  0.5  hour   •  TesDng/bug  fixing  2.0  hours   •  Admin  tasks  (email,  meeDngs)  3.0  hours   Copyright  2015  PEM  Systems   5   For  every  1.5  hours  of  programming/design,  typical  developer  spends   3.5  hours  working  other  common  so>ware  development  ac?vi?es   1.5  hrs   3.5  hrs   Another  QuesDon   •  Are  there  other  pa9erns   beyond  design  and   programming  –  that  we   haven’t  been  paying  close   enough  a9enDon  to–  that   could  help  soOware   pracDDoners  with  the  common   challenges  they  face  each  day?   Copyright  2015  PEM  Systems   6  
  • 4. 6/2/15   4   Pa9erns  Beyond  Design  and   Programming   Copyright  2015  PEM  Systems   7   Uses  pa9erns  as  aids  to  get    you  thinking     about  how  to  balance  conflicDng  ideas   MoDvaDng  “Thinking  Pa9erns”   Copyright  2015  PEM  Systems   8   Why  wouldn’t  it  make  sense  to  build  and  deploy  the  prac?ces     we  want  our  developers  to  follow  in  small  slices?  
  • 5. 6/2/15   5   PracDce  slice  and  thinking  pa9erns   Copyright  2015  PEM  Systems   9   A  prac?ce  slice  is  a  common  scenario  or  a  small  set  of  related   scenarios  that  a  soOware  pracDDoner  typically  faces  each  day     A  thinking  paDern  is  the  essenDals  of  a  pracDce  slice  with  key   related  quesDons,  Dps  and  warnings  added  in   More  MoDvaDon  for  Thinking  Pa9erns   Copyright  2015  PEM  Systems   10   •  PracDces  then  become  a  vehicle  to   help  pracDDoners  perform  be9er     •  What  if  organizaDons  viewed  their   soOware  pracDDoners  as  their   customer  for  their  organizaDonal   pracDces?   •  “Study  this  because  it  contains  how-­‐we-­‐ expect-­‐you-­‐to-­‐operate”  
  • 6. 6/2/15   6   What  We  Have  Done  in  the  Past   Copyright  2015  PEM  Systems   11   •  Processes  so  light   they  become   useless   •  Extremely   heavyweight   processes   What  prac??oners  really  need  falls  in  between  these   two  extremes   •  Requirements  Before  Design   •  Design  Before  Code   •  Test  Before  Release   What  pracDDoners  need  to  help  them   perform  (two  types  of  informaDon)       Copyright  2015  PEM  Systems   12   •  Basic  informa?on  about  pracDces   –  How  to  conduct  the  pracDce   –  Competencies  need   –  Checklists     •  To  be  prepared   •  CompleDon  criteria   TradiDonal  processes   have  done  reasonably   good  job     Where  thinking   pa9erns  can  help   most   •  Things  to  watch  out  for  when   conduc?ng  the  pracDce   –  Including  how  to  handle  common   scenarios  where  difficult  decision  needed  
  • 7. 6/2/15   7   How  we  discovered  “thinking   pa9erns”     Copyright  2015  PEM  Systems   13   I  don’t  know  how  I  can   apply  these  principles   in  the  “fog  of  war”  of   my  real  project   Pa9ern  #1:  “I  don’t  understand  a   requirement”  or  “Fly  high  go  fast”     •  User  story:  “As  a  so9ware   developer,  I  want  more   guidance  in  what  I  should   do  when  I  don’t   understand  a  requirement,   so  that  I  can  build  the  best   so9ware  in  the  least   amount  of  Cme  to  meet  my   customer’s  needs  &  my   commitments.”     Copyright  2015  PEM  Systems   14   We  need  simulated   missiles  that  fly  high   and  go  fast!  
  • 8. 6/2/15   8   Pa9ern  #1:  “I  don’t  understand  a   requirement”  or  “Fly  high  go  fast”  (cont.)     •  Ques?ons  to  ask:       –  Is  my  customer  collaboraDve  and  working   closely  with  me  to  discover  the   requirements?   –  Do  I  have  a  fixed  schedule  and  cost?   •  Tips:     –  Do  nothing  different  if  customer  understands   cost  of  iteraDng  to  discover  requirements   and  is  working  closely  with  you   –  Raise  a  risk  if  non-­‐collaboraDve  customer  and   fixed  cost/schedule   Copyright  2015  PEM  Systems   15   Fly  high,  Go  Fast   Pa9ern  #2:  “My  tesDng  is  taking  too   long”  or  “How  much  is  enough?”     •  User  story:  “As  a   so9ware  developer  (or   tester),  I  want  to  know   what  to  do  when  my   tesCng  is  taking  too   long,  so  that  I  can   respond  to  the  pressure   from  my  manager  to   finish.”   Copyright  2015  PEM  Systems   16   I  need  to  run  all  these   tests  to  be  sure   everything  is  perfect!  
  • 9. 6/2/15   9   Pa9ern  #2:  “My  tesDng  is  taking  too   long”  or  “How  much  is  enough?”(cont.)   •  Ques?ons  to  ask:   –  Does  soOware  have  life-­‐criDcal/high  cost  failure  consequences?   –  Does  my  project  have  an  agreed  way  of  working  with  respect  to   tesDng?  If  so,  have  I  reviewed  my  tesDng    opDons?   •  Tips:   –  Consider  focusing  your  low  level  tesDng  just  on  areas  you  have   changed,  if  allowed  by  your  agreed  way  of  working.   –  Consider  focusing  tests    on  high  risk  areas,  if  allowed  by  your   agreed  way  of  working.   •  Warnings:     –  Be  sure  to  assess  any  risk  involved  in  reduced  tesDng    such  as:   –   Missing  key  dependencies.   –   Not  following  the  agreed  way  of  working.   Copyright  2015  PEM  Systems   17   Pa9ern  #3:  “How  should  I  handle  a   design  risk?”  or  “I’m  a  new  developer”       •  User  Story:  “As  a   so9ware  developer,  I   want  more  help  in  how     to  handle  a  design  risk,   when  the  alternaCve   design  is  going  to  extend   the  schedule,  so  that  I   can  respond  to  the   pressure  to  finish  on   Cme.”   Copyright  2015  PEM  Systems   18   Why  don’t  you  just  ask   Fred?  He’s  an  expert   in  that  system.    
  • 10. 6/2/15   10   Pa9ern  #3:  “How  should  I  handle  a   design  risk?”  or  “I’m  a  new  developer”     •  Ques?ons  to  ask:   –  Have  I  discussed  my  design  with  an  experienced  coworker   or  colleague  who  has  implemented  a  similar  design?   –  Have  we  teamed  up  new  developers  with  mentors?   •  Tips:   –  Call  for  a  peer  review.   –  Call  for  a  limited  peer  review  with  key  people  focusing  just   on  the  design  risk,  if  allowed  by  your  agreed  way  of   working.   •  Warning:   –  Less  experienced  pracDDoners  someDmes  hesitate  asking   for  help  for  fear  of  being  perceived  as  lacking  competency     Copyright  2015  PEM  Systems   19   Ask  for  help   Is  training  in  common  pa9erns   enough?   •  Does  performance  improvement   always  result  just  from  making   pracDDoners  aware  of  pa9erns?   •  Also  need  to  recognize  pa9erns   when  faced  with  a  similar  situaDon   Copyright  2015  PEM  Systems   20  
  • 11. 6/2/15   11   Example:  Pa9ern  recogniDon  from   non-­‐soOware  development  domain   •  Story  about  Tom  Brady,  Quarterback,   New  England  Patriots,  NaDonal  Football   League   –  Brady’s  posiDve  a9ribute:  “decision-­‐making”   –  “I  don’t  know  how  I  know  where  to  pass.   There  are  no  firm  rules.  You  just  ‘feel’  like   you  are  going  to  the  right  place….And  that  is   where  I  throw  it.”   Copyright  2015  PEM  Systems   21   Tom  says  he  doesn’t  know  how     he  knows  where  to  pass,  but  do  you  know?   Spending  hours  reviewing  videos  of   next  opponent  before  the  game   •  Brady  spends  hours  and  hours   looking  at  videos  of  the  team   he  is  about  to  face  looking  for   strengths/  weaknesses  of  his   next  opponent     Copyright  2015  PEM  Systems   22   •  Do  you  think  soOware   pracDDoners  can  learn   anything  from  this  example?    
  • 12. 6/2/15   12   Two  sides  to  our  brain   •  Quick  thinking  emoDonal   side  (System  1)   •  Slow  thinking  logical  side   –  (System  2)   •  Quick  thinking  emo?onal   side   –  In  charge  inside  most  of  us   and  makes  most  decisions   –  Loves  pa9erns   Copyright  2015  PEM  Systems   23   To  make  beDer  decisions,  need  to  recognize  “right  paDerns,”   But  how?   What  is  Brady  doing  when  he  is   spending    hours  watching  videos?   •  He  is  preparing  (or  pracDcing)   –  You  prepare  by  thinking  ahead  of  Dme  about   what  you  are  about  to  face   •  Using  slow  thinking  logical  side  to  refresh  the  right   pa9erns  for  your  fast  thinking  emoDonal  side   •  You  know  what  they  are  be9er  than  anyone  else!   •  Do  you  want  to  become  an  expert  fast?   –  Kahneman  tells  us  expert  intuiDon  is  nothing   more  and  nothing  less  than  pa9ern   recogniDon  and  it  only  comes  from  sufficient   opportunity  to  pracDce   Copyright  2015  PEM  Systems   24  
  • 13. 6/2/15   13   So  how  might  this  relate  to  a  soOware   pracDDoner’s  work  day?   •  Recall  all  those  other  acDviDes  beyond   design  and  programming  that  a   soOware  pracDDoner  typically  does   each  day   – Ask  yourself:   •  Which  will  be  most  challenging  for  me  today?   •  What  are  the  pa9erns  that  will  help  me   respond  most  effecDvely?   •  What  decisions  might  I  face?   •  What  opDons  do  I  have?   Copyright  2015  PEM  Systems   25   More  Sample  Scenarios  &  Guidance  to   Kick-­‐Start  Your  Pa9ern  Development   •  With  quesDons,  Dps  and   warnings   •  Based  on  real  experiences   (“real  stories”)  that  tend  to   repeat  in  many  organizaDons   •  Includes  soOware  supporDng   roles   Copyright  2015  PEM  Systems   26  
  • 14. 6/2/15   14   Pa9ern  #4:  “How  can  I  help  my  team  improve   performance?“  or  “Coachable  moments”     Copyright  2015  PEM  Systems   27   Should  I  re-­‐start  my  2   hour  weekly  meeDng?     •  User  Story:  “As  a  team   leader,  I  want  more   guidance  in  what  I  should   do  when  my  team  isn’t   following  the  new   expected  behavior,  so   that  we  can  benefit  from   our  new  improved   pracCces.”   Pa9ern  #4:  QuesDons,  Tips,  Warnings   •  Ques?ons  to  ask:   –  Have  you  worked  through  any  conflicts  between  new  agreed  way   of  working  and  org.  policies,  culture?   –  If  using  mulDple  coaches,  have  you  agreed  on  way  of  working?   •  Tips:   –  Consider  using  a  head-­‐coach  for  consistent  guidance   –  Examples  where  issues    might  arise  include:   •  Constraints  on  who  can  sign  up  for  certain  task  types   •  Capacity  planning  and  risk  assessment  expectaDons   •  ExpectaDons  on  basis  of  task  esDmates,    velocity,  burn-­‐down  charts   –  Watch  for  “coachable  moments”…  “Have  you  considered…”   •  Warnings:   –  Keep  an  eye  out  for  coaches  who  just  coach  to  their  own   experiences  and  are  not  a9une  to  needs  of  your  organizaDon   Copyright  2015  PEM  Systems   28  
  • 15. 6/2/15   15   Pa9ern  #5:  “The  Non-­‐Engaged   Stakeholder”    or  “We  need  test  data!”   Copyright  2015  PEM  Systems   29   We  need  test  data!   •  User  Story:  “As  a  sub-­‐ contract    manager,  I   want  more  guidance  in   what  I  should  do  when  a   stakeholder    won’t  give   me  the  data  we  need,  so   that  we  can  meet  our   schedule  and  cost   commitments.”   Copyright  2015  PEM  Systems   30   Pa9ern  #5:  QuesDons,  Tips,  Warnings   •  Ques?ons  to  ask:   –  Have  you  let  your  customer  know  immediately  when  they  are  impacDng   your  performance?   –  Has  a  stakeholder  representaDve  been  appointed?   –  Have  they  agreed  to  take  on  their  responsibiliDes?   •  Tips:   –  If  fixed  cost/schedule  and  impacted,  alert  customer  at  once   –  OOen  stakeholder  reps  have  not  been  appointed  or  don’t  realize  impact   –  Second  step,  dig  to  see  if  you  can  uncover  root  cause   –  Example  of  possible  reasons  include:   •  Too  much  work  on  their  plate   •  Lack  of  communicaDons/understanding  of  real  need   •  Poor  processes  within  subcontractor  organizaDon   •  Lack  of  authorizaDon   •  Warnings:   –  Don’t  hesitate  to  alert  customer   –  Keep  an  eye  out  for  stakeholder  reps  who  lack  authorizaDon  
  • 16. 6/2/15   16   Pa9ern  #6:  “Why  can’t  we  hit  our  schedule   commitments?”  or  “That  won’t  work!”   Copyright  2015  PEM  Systems   31   Our  product  backlog  is   never  properly   prepared!     •  User  Story:  “As  a  team   lead,  I  want  more   guidance  in  what  I  should   do  to  help  my  team,  so   that  we  can  consistently   meet  our  schedule   commitments.”   Copyright  2015  PEM  Systems   32   Pa9ern  #6:  QuesDons,  Tips,  Warnings   •  Ques?ons  to  ask:   –  Are  we  esDmaDng  our  future  work  based  on  our  real   recent  velocity/performance?   •  Tips:   –  Keep  personal  data  on  actual  Dme  spent  clarifying   backlog  items  as  well  as  other  common  soOware   acDviDes   –  Use  actual  recent  personal  data  to  esDmate   •  Warnings:   –  OOen  teams  fail  to  consider  real  velocity  when  predict   –  Keep  on  lookout  for  “going  through  the  moDons”  in   retrospecDves,  not  a9acking  the  “hard  problems”    
  • 17. 6/2/15   17         •  Another  Tip:   – If  the  culture  in  your   organizaDon  is  one  where   management  uses  power  to   pressure  pracDDoners  to  make   esDmates  they  are  not   comfortable  with-­‐-­‐-­‐   •  Keep  in    mind  the  story  of  Korean   Airlines  in  the  1990s   –  PotenDal  devastaDng  effects  of   inappropriate  deference  to   authority  (e.g.  “miDgated  speech”)   Copyright  2015  PEM  Systems   33   Pa9ern  #6:  QuesDons,  Tips,  Warnings     (cont.)   A  simple  way  to  pilot  the  thinking   pa9ern  idea  in  your  organizaDon     •  Set  up  a  brainstorming  session  where  you  ask  parDcipants  to   share  real  stories  related  to  common  challenges  faced   •  Include  at  least  1  or  2  experts  to  sDmulate    discussion    to   understand  issues,  ask  key  quesDons,  share  Dps,  and  warnings   •  Capture  scenario  essenDals,  key  quesDons,  Dps,  and  warnings,   prioriDze  based  on  consensus  and  select  small  set  to  train  to   wider  group   •  Provide  on-­‐the-­‐job  pa9ern  reminder  aids  and  conduct  survey  to   determine  if  useful   Copyright  2015  PEM  Systems   34  
  • 18. 6/2/15   18   Capturing  pa9erns  on  cards  as   reminder  aids   Copyright  2015  PEM  Systems   35   Could  add  memory  jogger    reference   to  “real  story”     Reference:  “Fly  high,  go  fast”   What  makes  thinking  pa9erns  any   be9er  than  checklists?   •  Gives  your  pracDDoners  context   •  SDmulates  “criDcal-­‐thinking”  through  the   quesDons,  Dps,  and  warnings  leading  to   be9er  decisions   •  They  are  fun  to  create  and  stories  are  great   memory  aids!   Copyright  2015  PEM  Systems   36  
  • 19. 6/2/15   19   How  to  avoid  non-­‐value-­‐add  pa9erns   •  Select  only  pa9erns   – That  are  common  and  tend  to  repeat   – Where  pracDDoners  oOen  need  help  making   related  decisions   – That  present  potenDal  significant  impact  to   performance   •  Prune  pa9erns  regularly   – When  add  new  pa9erns  consider  deleDng  older   pa9erns  that  are  not  providing  payback       Copyright  2015  PEM  Systems   37   Conclusion   •  Pa9erns  don’t  replace  your   company  processes,  or  what   your  team  is  doing  today   •  They  are  an  aid  that  can  help   your  team’s  criDcal-­‐thinking   and  decision-­‐making   Copyright  2015  PEM  Systems   38  
  • 20. 6/2/15   20   Contact  InformaDon   •  Paul  E.  McMahon,  Principal,  PEM  Systems   •  www.pemsystems.com     •  pemcmahon@acm.org   •  Phone:  607-­‐798-­‐7740   39  Copyright  2015  PEM  Systems