Friday, July 25, 2008

WikingLaws_small While I was on vacation in the southern part of Norway (Flekkefjord) I found a postcard with the "Viking Laws". Not sure of the authenticity of these laws, but I still found them quite interesting. Surprisingly I also found them quite agile and a set of good rules to follow for any development team!

Here's the laws and how I link them to software and agile thinking:

§1 Be Brave and Aggressive

  • Be direct
    • Hmmm... I think I'll go for N/A for this one.
  • Grab all opportunities
    • And another N/A...(?)
  • Use varying methods of attack (attack is interpreted as testing
  • Attack one target at a time
  • Don't plan everything in detail
  • Use top quality weapons
    • Use good software tools
    • Use simple planning tools like whiteboard, story cards etc.

§2 Be Prepared

  • Keep weapons in good conditions
    • Keep plans up to date (e.g. sprint burndown, release burndown etc) 
    • If 3. party components are used, make sure you upgrade when new versions are available to avoid work to add up
  • Keep in shape
    • To be fit will let you be more effective at work and also have a lot of energy left when you get home, which in turn hopefully means you're motivated and energized for work the day after
  • Find good battle comrades
    • A great team of people will do great things
  • Agree on important points
    • Common understanding/common code base
  • Choose one chief
    • Hmmm... Who's the chief on an agile team? The team or the customer? I would go for the team together with the customer and not one single person.

§3 Be a Good Merchant

  • Find out what the market needs
  • Don't promise what you can't keep
    • Tell the customer the truth and keep them updated on time schedules and in the loop by utilizing review meetings etc.
  • Don't demand overpayment
    • I'll let the sales people cover this one :-) 
  • Arrange things so that you can return

§4 Keep the Camp in Order

  • Keep things tidy and organized
    • Keep code and architecture clean and easy to read and understand
  • Arrange enjoyable activities which strengthen the group
    • Have fun at work, use breaks for fun activities like fußball or other team games and have a beer on Friday night from time to time.
  • Make sure everybody does useful work
    • Have everybody involved and work as a team
  • Consult all members of the group for advice
    • Do agile modeling when you don't know exactly what to do or how to solve a problem
    • Involve the team and ask for advice whenever in doubt
    • Do pair programming
All comments require the approval of the site owner before being displayed.
Name
E-mail
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview
 
Aggregate Me!
Feed your aggregator (RSS 2.0)  Rss
  Comments
On this page....
Locations of visitors to this page