Aug 31, 2014

Robert C. Martin (Uncle Bob) - Demanding Professionalism in Software Development

http://www.youtube.com/watch?v=p0O1VVqRSK0

Professional expectations - how we will behave:

  • We will not ship shit.
  • We will always be ready. Ready to deploy/ship/execute all the time. Not all features may necessarily be done. Code gets checked in = ready to deploy.
  • Stable productivity. Keep the feature delivery rate constant. Start project fast and keep the pace. Keep the code clean.
  • Inexpensive adaptability. Customers always change their mind. Design for change.
  • Continuous improvement. Keep everything continuously clean and working. No "full system redesign". Boy scout rule - "keep/leave the campground cleaner than when you found it".
  • Fearless competence. There exists a fear of touching code that may break the system. When you see something in the code that is wrong, clean it, instantly, without fear, without hesitation. E.g.: TDD way.
  • Extreme quality.
  • QA will find nothing. QA should wonder why they are there and it's our job to make them worried about that.
  • We cover for each other. We're a team. If a member disappears, the rest of the team will be able to make progress. Become familiar with other people's code. E.g.: pair programming.
  • Honest estimates. The most honest estimate - "I don't know". Real estimate is a range that defines the uncertainty of the estimate. Keep constant updates on the estimates as work progresses. A specific date is a lie, a range is the truth.
  • You will say "No". Never say "I will try".
  • Automation! Automate your test scripts, your build scripts, your deployment scripts, etc.
  • Continuous aggressive learning.
  • Mentoring.

No comments:

Post a Comment