Acknowledging The Common Good of Agile
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Acknowledging The Common Good of Agile

on

  • 299 views

It’s a common misconception that Agile development methodology is a no-documentation-little-planning-and gun-ho-developers-on-the-loose Google style of project management compared to the traditional ...

It’s a common misconception that Agile development methodology is a no-documentation-little-planning-and gun-ho-developers-on-the-loose Google style of project management compared to the traditional Waterfall methodology.

Statistics

Views

Total Views
299
Views on SlideShare
244
Embed Views
55

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 55

http://logapps.com 55

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Acknowledging The Common Good of Agile Document Transcript

  • 1. 1         Shared  Services  Analysis     ACKNOWLEDGING  THE  COMMON  GOOD  OF  AGILE     Praising  the  good  of  Agile  and  abrogating  the  negativity  it  brings     June  5,  2013                                               Questions  or  comments?   Please  contact  Corbin  Norman,  norman@logapps.com,  703-­‐592-­‐6360  
  • 2. 2     Introduction   It’s  a  common  misconception  that  compared  to  the  traditional  Waterfall  methodology,  Agile   development  methodology  is  a  no-­‐documentation,  little-­‐planning,  and  gung-­‐ho  style  of  project   management  compared  to  the  traditional  Waterfall  methodology.    Critics  of  Agile  say  it  makes   things  worse  by  promising  solutions  it  cannot  deliver  and  that  it  promotes  sloppy  requirements   creation,  hides  the  true  cost  of  development,  and  prevents  effective  management.    Their   argument  is  that  Agile  methodology  leads  to  long-­‐running  projects,  dissatisfied  customers,  and   overall  IT  ineffectiveness.    Additionally,  critics  say  Agile  only  works  when  products  are  in  the   proof-­‐of-­‐concept  phase  of  development  and  teams  are  already  integrated.           With  software  development  cycles  getting  shorter  and  shorter  due  to  demand  for  faster  time-­‐ to-­‐market,  Agile  offers  a  project  management  style  suited  to  the  ever-­‐changing  software   development  environment.    Organizations  can  find  significant  value  in  adopting  Agile   methodologies  and  techniques  because  such  practices  help  ensure  that  they  meet  customer   expectations,  deliver  products  on  time,  and  create  a  motivated  and  adaptable  workforce.     Background:  What  is  Agile  Methodology?   Agile  software  development  is  the  process  by  which  a  software  product  is  produced  quickly  and   efficiently  by  means  of  frequent  and  complete  releases,  and  by  allowing  project  stakeholders  to   use,  test,  and  review  the  product  and  to  provide  their  input  into  its  development.  By  means  of   this  iterative  and  incremental  process,  a  prototype  or  proof  of  concept  can  more  rapidly  be   developed  into  productive  software.   Organizations  like  the  Project  Management  Institute  (PMI)  are  gradually  adopting  Agile  as  a   valid  project  management  methodology,  as  shown  in  new  certifications  such  as  the  PMI  Agile   Certified  Practitioner  (PMI-­‐ACP).    While  there  are  quite  a  few  arguments  being  made  both  for   and  against  the  Agile  methodology,  the  development  community  should  take  notice  that  the   benefits  of  this  approach  can  far  outweigh  its  drawbacks.  
  • 3. 3     Flexibility     One  of  Agile’s  key  advantages  is  that  it  provides  more  flexibility  compared  to  traditional   Waterfall  methodology.  Waterfall  tends  to  prioritize  project  scope  and  features  ahead  of  design   and  implementation,  to  the  extent  that  those  aspects  begin  to  take  control.  With  this  method,   using  project  scope  as  a  constant,  the  other  aspects  of  the  project  management  triad— schedule  and  cost—must  be  adjusted  accordingly.    However,  using  Agile,  schedule  and  cost  are   the  major  determining  factors,  while  the  scope  changes  to  accommodate  the  client’s  needs.     For  mature  Agile  teams,  this  level  of  flexibility  is  brought  about  by  years  of  experience  working   together.    Traditional  Waterfall  doesn’t  allow  this  level  of  flexibility  once  a  project  is  underway,   since  it  strictly  adheres  to  the  concept  that  once  a  stage  or  process  has  ended,  it  cannot  be   adjusted.           Instantaneous  Feedback   Another  point  in  Agile’s  favor  is  the  immediate  feedback  provided  by  interaction  between  the   client  and  management.      Agile  Scrum  methodology  calls  for  smaller  release  cycles  (known  as   interactions,  story  points,  sprints,  drops,  demos,  etc.),  in  which  the  product  is  always  in  a  ready   release  state.    This  is  made  possible  with  continuous  feedback  from  all  stakeholders,  from   product  owners  and  end  users,  to  development  and  quality  assurance  teams.  Comments,   corrections,  and  suggestions  are  immediately  passed  on  to  the  developers  and  testers,  who  in   turn  determine  if  changes  can  be  accomplished  without  negatively  affecting  the  schedule,  cost,   and  current/future  delivery  of  features.    Standard  Agile  iteration  cycles  usually  span  one  to  two   weeks,  enabling  end  users  to  see  progress  in  a  much  shorter  amount  of  time  compared  to   Waterfall  methodology,  in  which  iteration  cycles  span  1-­‐2  months.           Proactively  Hunting  Defects   Lastly,  Agile  gives  organizations  the  ability  to  present  their  final  product  with  fewer  defects.     This  is  the  result  of  quality  assurance  testing  conducted  during  each  cycle.    In  a  Chief   Information  Officer  article  critical  of  Agile  methodology,  Lajos  Moczar  argues  that  focusing  on   continuous  delivery  of  software  value  has  the  effect  of  creating  an  “unmanageable  defect  
  • 4. 4     backlog  while  developers  work  to  put  something  in  front  of  the  customer."    However,  since  a   Quality  Assurance  team  can’t  stamp  a  release  as  “’client  ready”  if  it  isn’t  working  properly,  and   the  Agile  methodology  requires  that  each  iteration  be  a  virtually  finished  end  product,  defects   are  detected  very  early  on.  Thus,  Agile  does  not  promote  the  practice  of  ignoring  defects,  but   rather  prioritizes  them,  taking  corrective  actions  on  the  fly.    The  continuous  process  to   “develop,  build  and  test”  also  cuts  down  on  the  number  of  defects  as  the  iteration  cycles  go  on.     In  addition,  using  a  combination  of  manual  and  automated  testing,  test  coverage  is  dramatically   increased  before  the  final  product  is  released.    Finally,  Agile  team  composition  usually  consists   of  at  least  one  person  who  spends  most  of  their  time  in  the  roles  of  Quality  Assurance  analyst   or  engineer,  and  one  person  who  is  dedicated  to  test  activities.    This  practice  helps  reduce  the   defect  rate  while  improving  awareness  and  mitigation  practices,  which  allow  for  further   cultivation  of  a  quality  software  product.                       Agile  may  not  be  for  everyone  and  the  same  goes  for  Waterfall,  but  that  begs  the  questions  –   what  is  the  right  project  management  methodology  for  your  organization  and  what  software   development  approach  should  you  use  for  any  given  software  project?    Well…it  depends!