Agile Development Best Practices

I spent Monday through Thursday in Dubuque visiting the Cartegraph offices again.  We were out there again to talk through common agile software development process mistakes, discussing the mistakes that they were making and how to improve their process. 

Some of the high level points we were highlighting were:

  • It’s about getting real software in the hands of users as soon as possible
  • Avoid “water-scrum-fall”
  • Start by building what you know
  • Allow for feedback & course correction
  • Don’t lose sight of the big picture
  • Don’t do product owner by committee
  • Estimate using relative story points
  • Don’t confuse tasks with stories
  • Don’t spend too much time on architecture
  • User experience (UX) matter and needs to be an integral part of each sprint
  • Agile/scrum is not an obligation

I really think the first and last points are probably the most important for most development organizations.  I realize that agile and/or scrum is the big buzzword for development methodology at this point, but the reality is that agile isn’t a fit for every organization.  There are a number of cultural issues that can make agile development unsuccessful in a given organization and it is important to have the self-awareness within the organization to recognize and correct those shortcomings or choose a different methodology that suits the organization better.