SUCCESSFUL SOFTWARE PROJECTS
             Kirk van Gorkom, Woolpert
    kirk.vangorkom@woolpert.com | @kvangork
SOFTWARE IS
   HARD
SOFTWARE IS
   HARD

              Successful   Failed
SOFTWARE IS          71%
   HARD

              Successful   Failed
WHY?
       The Maus Phone | http://www.flickr.com/photos/25041332@N03/2906834393
WHY?
       The Maus Phone | http://www.flickr.com/photos/25041332@N03/2906834393
State Route 12 | http://www.flickr.com/photos/53074617@N00/2280426320
WE NEED A PLAN
          only a little off-course | http://www.flickr.com/photos/44124330110@N01/1589808066
GOOD CODE TAKES THOUGHT
                The Thinker... | http://www.flickr.com/photos/66164549@N00/2260970300
http://www.flickr.com/photos/67715696@N00/1971736315
BAD IDEA
           My Flickr Book... | http://www.flickr.com/photos/35034356424@N01/84792919
KEEP IT SIMPLE




                 Backlog of Agile Transition Steps | http://www.flickr.com/photos/14167748@N00/3352783122
KEEP IT REAL
          Interactive Sketching Notation | http://www.flickr.com/photos/purecaffeine/4328394839/
BE FLEXIBLE
              Flexible! | http://www.flickr.com/photos/17425845@N00/420878465
TOOLS




                                      FogBugz | http://www.fogbugz.com
        Defeat | http://www.flickr.com/pho...
TOOLS




                                      FogBugz | http://www.fogbugz.com
        Defeat | http://www.flickr.com/pho...
TOOLS




                                      FogBugz | http://www.fogbugz.com
        Defeat | http://www.flickr.com/pho...
TOOLS




                                      FogBugz | http://www.fogbugz.com
        Defeat | http://www.flickr.com/pho...
TOOLS




                                      FogBugz | http://www.fogbugz.com
        Defeat | http://www.flickr.com/pho...
THE MOST IMPORTANT THING I
COULD EVER TELL YOU ABOUT
    SOFTWARE PROJECTS
VERSION CONTROL
VERSION CONTROL
Repository
VERSION CONTROL
Repository



             Checkout
                        Working Copy
Repository




             Working Copy
Repository

             Commit



              Working Copy
Repository

             Commit



              Working Copy



    Update
Bearded Men of the 21st Century (1939) | http://www.paleofuture.com/blog/2008/1/16/
Repository




             Working Copy



                 ☣
Repository




             Revert
                      Working Copy
WHAT DID I DO?
            On The Road | http://www.flickr.com/photos/lucazappa/35339550/
OKAY, WHAT’S THIS GONNA
         COST?
$0
SVN SERVERS


• Roll Your   Own
 http://www.visualsvn.com/server/

• Free   Services
 http://beanstalkapp.com/
SVN CLIENTS



• IDE   integration

• The   One True Client™
TORTOISE TUTORIAL



• http://bit.ly/
 tortoisetutorial
BIG PROJECTS


• Mercurial
 http://hginit.com

• Git
 http://git-scm.com



                                http://nvie.co...
The Battle




WHAT ELSE?
             50%                               50%




              Feature List & Version Cont...
MEETINGS
       Peewee Football Huddle | http://www.flickr.com/photos/51888819@N00/279634853
WATCH OUT
   FOR
MUSHROOMS




            Huddle | http://www.flickr.com/photos/66878236@N00/2981667821
STAY CLOSE
 TO YOUR
   USERS




             My mom taking usability test | http://www.flickr.com/photos/83198397@N00/4004...
ESTIMATING
         Is Flickr an addiction? | http://www.flickr.com/photos/91903883@N00/2311427946
RESOURCES

• JoelOnSoftware.com –   blog and books

• CodingHorror.com

• StackOverflow.com    – ask questions

• Follow   ...
Keys to a Successful Software Development Project
Upcoming SlideShare
Loading in...5
×

Keys to a Successful Software Development Project

2,310

Published on

Video at vimeo.com/kvangork

Presentation given at the 2010 Washington GIS Conference in Tacoma, WA.


Abstract: Software projects have a notoriously low rate of success. This presentation will convey keys to a successful project, gleaned from years of experience both as an in-house developer and consultant. We'll avoid buzzwords and fads, focusing on practical steps you can take to ensure a successful project.
Planning — You can't get anywhere without a map.
Infrastructure — basic tools to keep everything on course whether you're working solo on geoprocessing scripts or with 100 people on an enterprise integration.
Communication — Listen to the right people and develop a decoder ring to understand what they mean.


I got some push back afterwards regarding my comments on estimation, so I'll clarify my thoughts:
Accurate estimation (+-25%) is impossible on any project big enough to be interesting. The reasons for this are two: nothing is as simple as it looks, and good software development is responsive to an evolving understanding of the need.
One exception to my estimation impossibility theory is if you're building something you've already built in the past. If that's what you do...you have my pity and you're probably not even reading this.

Published in: Technology
2 Comments
6 Likes
Statistics
Notes
  • Excelent for for new users, maybe too simple for current admins, I was hoping to see some jenkins, capistrano, buildbot, etc. Thanks for the input.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • simply great
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,310
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
2
Likes
6
Embeds 0
No embeds

No notes for slide




  • Destination Unknown
  • Why? Can’t I just start writing something?

  • Software is complex.
    Need to know the big picture/end goal.
    How do the parts fit together?
  • Writing massive documents is a bad idea because:
    People don’t read
    Things change
  • What you really need is a list of things to do,
    easy to re-prioritize.
  • Words are ambiguous.
    Avoid Illusion of Agreement
    Think of specific users, real or imagined.
  • You will get it wrong. Plan on it.
  • Where do you keep this thing?
    Solo Options: Excel, Notebook
    Teams: Post-it Notes or...
  • Where do you keep this thing?
    Solo Options: Excel, Notebook
    Teams: Post-it Notes or...
  • Where do you keep this thing?
    Solo Options: Excel, Notebook
    Teams: Post-it Notes or...
  • Where do you keep this thing?
    Solo Options: Excel, Notebook
    Teams: Post-it Notes or...
  • If you’ve been asleep, wake up.
    Once this section is over, you can get up and leave, or take a nap.
    This is the one true KEY.


  • Think with me for a moment about our future selves. The ones who will discover all the things we’re currently doing wrong.
  • Think with me for a moment about our future selves. The ones who will discover all the things we’re currently doing wrong.





  • This is so critical that people give it away just to make the world a better place.
  • Worst product name ever.
    Just call it SVN to get through your IT department.


  • Know that feeling when someone does it better than you ever could?


  • Ready for some sports analogies?
    A team can’t work together (or stick to the plan) unless they meet frequently to get synchronized. Do the same thing.
    At least twice a week.
    Basic questions - What did you work on? What are you working on? What are your problems?
    Watch for people checked out, like number 75 here.
    A productive developer is a happy developer. An enthusiastic manager is an involved manager.
    Otherwise you’ve got trouble starting.
  • Don’t treat anyone like a mushroom, don’t act like a mushroom.
    Don’t keep people in the dark.
    Cultivate trust. How? BE TRUSTWORTHY.
  • Usability testing.
    Beta testers.
  • Estimating is hard. No, it's impossible, unless you’re reinventing something (why?). Lucky guesses are more likely the smaller the problem is, so break things down. Know your weaknesses. My estimates are always low because I'm an optimist. How do I know this? I started tracking them. Pay attention to the people you work with so you can learn their offsets.

  • Keys to a Successful Software Development Project

    1. 1. SUCCESSFUL SOFTWARE PROJECTS Kirk van Gorkom, Woolpert kirk.vangorkom@woolpert.com | @kvangork
    2. 2. SOFTWARE IS HARD
    3. 3. SOFTWARE IS HARD Successful Failed
    4. 4. SOFTWARE IS 71% HARD Successful Failed
    5. 5. WHY? The Maus Phone | http://www.flickr.com/photos/25041332@N03/2906834393
    6. 6. WHY? The Maus Phone | http://www.flickr.com/photos/25041332@N03/2906834393
    7. 7. State Route 12 | http://www.flickr.com/photos/53074617@N00/2280426320
    8. 8. WE NEED A PLAN only a little off-course | http://www.flickr.com/photos/44124330110@N01/1589808066
    9. 9. GOOD CODE TAKES THOUGHT The Thinker... | http://www.flickr.com/photos/66164549@N00/2260970300
    10. 10. http://www.flickr.com/photos/67715696@N00/1971736315
    11. 11. BAD IDEA My Flickr Book... | http://www.flickr.com/photos/35034356424@N01/84792919
    12. 12. KEEP IT SIMPLE Backlog of Agile Transition Steps | http://www.flickr.com/photos/14167748@N00/3352783122
    13. 13. KEEP IT REAL Interactive Sketching Notation | http://www.flickr.com/photos/purecaffeine/4328394839/
    14. 14. BE FLEXIBLE Flexible! | http://www.flickr.com/photos/17425845@N00/420878465
    15. 15. TOOLS FogBugz | http://www.fogbugz.com Defeat | http://www.flickr.com/photos/30744708@N00/311380970
    16. 16. TOOLS FogBugz | http://www.fogbugz.com Defeat | http://www.flickr.com/photos/30744708@N00/311380970
    17. 17. TOOLS FogBugz | http://www.fogbugz.com Defeat | http://www.flickr.com/photos/30744708@N00/311380970
    18. 18. TOOLS FogBugz | http://www.fogbugz.com Defeat | http://www.flickr.com/photos/30744708@N00/311380970
    19. 19. TOOLS FogBugz | http://www.fogbugz.com Defeat | http://www.flickr.com/photos/30744708@N00/311380970
    20. 20. THE MOST IMPORTANT THING I COULD EVER TELL YOU ABOUT SOFTWARE PROJECTS
    21. 21. VERSION CONTROL
    22. 22. VERSION CONTROL Repository
    23. 23. VERSION CONTROL Repository Checkout Working Copy
    24. 24. Repository Working Copy
    25. 25. Repository Commit Working Copy
    26. 26. Repository Commit Working Copy Update
    27. 27. Bearded Men of the 21st Century (1939) | http://www.paleofuture.com/blog/2008/1/16/
    28. 28. Repository Working Copy ☣
    29. 29. Repository Revert Working Copy
    30. 30. WHAT DID I DO? On The Road | http://www.flickr.com/photos/lucazappa/35339550/
    31. 31. OKAY, WHAT’S THIS GONNA COST?
    32. 32. $0
    33. 33. SVN SERVERS • Roll Your Own http://www.visualsvn.com/server/ • Free Services http://beanstalkapp.com/
    34. 34. SVN CLIENTS • IDE integration • The One True Client™
    35. 35. TORTOISE TUTORIAL • http://bit.ly/ tortoisetutorial
    36. 36. BIG PROJECTS • Mercurial http://hginit.com • Git http://git-scm.com http://nvie.com/git-model
    37. 37. The Battle WHAT ELSE? 50% 50% Feature List & Version Control ?
    38. 38. MEETINGS Peewee Football Huddle | http://www.flickr.com/photos/51888819@N00/279634853
    39. 39. WATCH OUT FOR MUSHROOMS Huddle | http://www.flickr.com/photos/66878236@N00/2981667821
    40. 40. STAY CLOSE TO YOUR USERS My mom taking usability test | http://www.flickr.com/photos/83198397@N00/4004256777
    41. 41. ESTIMATING Is Flickr an addiction? | http://www.flickr.com/photos/91903883@N00/2311427946
    42. 42. RESOURCES • JoelOnSoftware.com – blog and books • CodingHorror.com • StackOverflow.com – ask questions • Follow me on Twitter @kvangork • Email kirk.vangorkom@woolpert.com or call 720.279.4700

    ×