Showing posts with label community. Show all posts
Showing posts with label community. Show all posts

Thursday, March 04, 2010

Sydney Scrum Meetup (March)

Jeff Sutherland and Jens Østergaard visited the Sydney Scrum Meetup last Thursday. We had some great pizza and then they got everyone doing the Nokia test!

My Test Results

Iteration length, 2 weeks – 10

Testing, customer acceptance testing – 8

Agile specifications, poor user stories – 4 (good enabling specifications might be 3-5 pages long – before sprint planning)

(for venture companies Jeff finds that 2 sprints planned is necessary)

Product owner, product owner with backlog – 5 (or 2 with last project!)

Product backlog, single product backlog - 3

Estimates, backlog estimated by BA – 0

(Jeff said that usually as teams get better their stories get smaller and eventually are about the size of tasks, and then estimating changes to use points vs hours – surprising what can be untangled and done separately)

Sprint burndown chart, no chart, but team knows velocity – 0 + 3 + 2

(Jeff mentioned that partial completion of tasks creates a high-risk environment)

Team disruption, project leaders telling people what to do – 3

(self-organise to maximise velocity)

Team, no emergent leadership - 1

Total = 4.33

Most of the room were between 2 and 5, and apparently, most of OpenView’s venture companies start out around 4, but when they work on it they end up around 6. It looks like TIDC might have a great Scrum team as someone from there scored 8 for their team! (they were the only one higher than 5)

If your reference stories change then so do the story points. But Jeff said it is really the delta in velocity that is interesting. One of the symptoms of hyper-productive teams is that you get asked to slow down!

  • Sustainable pace
  • Quality
  • Velocity
  • “Balanced Scorecard” (not right term, but Jeff couldn’t remember what it was)

Jens recommends the XP game for teams to learn about velocity.

How long does it take to fix a bug from CI/automated testing. If longer than 2 hours then create an impediment list and get the Scrum master to remove them. Simple metric, track the day you start a story and the day you finish a story and then compare to your standard process efficiency (usually around 20% – measures the quality of your backlog) {calc elapsed days versus theoretical ideal days based on velocity}. Raising the efficiency meant getting the backlog well enough detailed that you spend less time waiting to do a particular item. Measuring the time to Done.

Speed of testing is usually the bottleneck, and is more important than the speed of coding. So interrupt devs immediately with a bug, rather than leaving them to finish what they’re doing. The availability of testable code is another way of thinking of it.

Just evaluate the code in production is one way of incentivising people.

I asked about how to handle client projects using Scrum, Jeff mentioned that Systematic is doing big fixed price contracts using Scrum. They provide 2 bids on every project, with the Scrum bid at around half the price.

In response to someone’s question about Scrum, Jeff mentioned he’d written about the answer in an article titled Future of Scrum from the Agile 2005 conference.

Metrics to Live By

Jeff got me hooked on metrics as it is obvious when talking to him that empirical process control requires metrics to be successful. Some of these metrics assume that you use story points for estimating, which we have done with some success on one project. To do this well you need a range of reference stories of various sizes and rough sizing (e.g. Fibonacci numbers) that the team can agree on the size of.

Here are some of the metrics Jeff mentioned:

Backlog Velocity = story points/sprint

Sprint Velocity = story points ‘done’/day

Efficiency = story’s ideal days/actual elapsed days from ‘start’ to ‘done’
(if an item should have taken 2 ideal days, but it actually took 10 days from the ‘start’ to the ‘done’ date, then you have 20% efficiency)

Churn = % of ‘done’ items that testers send back to developers for fixing
(if all items churns once then you have 100% churn, if half of those churn again then you have 150% churn! Ignore size of item when calculating)

Jeff has an upcoming conference session on this very topic and he discusses it further in his Excel Spreadsheet for Hyperproductive Scrum Teams post. The spreadsheet seems a little hard to get into, but I’ve given it to our Solutions team to review.

Wednesday, October 29, 2008

ALT.NET Sydney - NHibernate and ASP.NET MVC

(Microsoft are definitely capitalists, just look at all the caps in that title!)

I went to the second ALT.NET Sydney meeting last night and really enjoyed myself. Richard Banks from ThoughtWorks is organising the event and pizzas, saucy chicken wings, beer and caffeinated beverages were kindly provided by ThoughtWorks (which looked like it had plenty of people working back).

After Richard hit off with the news and we ate/drank we had a joint presentation by Damian McLennan (NHibernate) and Ali Shafai (ASP.NET MVC). I think the point was to show each separately and then point out how easy NHibernate made the back-end in ASP.NET MVC - but we distracted Ali and had a more interesting general discussion about MVC.

I probably got more out of the NHibernate session as that was the piece I was least familiar with. We had a few people in the audience who have "been there, done that" which was great because it gave us some very interesting discussions.

See Richard's summary post on the group blog, or Damian's NHibernate post for more links.

Sunday, April 27, 2008

Do you know your IDE?

Had a great Code Camp Oz session this morning from Mahesh Krishnanm about shortcuts in the Visual Studio IDE. Unfortunately his presentation was biased towards C# (which was probably good for the audience there). Fortunately the VB team blog has some great Did You Know posts that explain new Visual Studio features for VB2008. Check them out, there are some great ones there, like the ability to bring back snippet highlighting when you want to edit the snippet.

Saturday, April 26, 2008

Photos from Code Camp Oz

There are some great photos from CCOz on Flickr. I even managed to find one on Mitch's blog that showed me ... I'm the bloke slouching inside the big yellow ellipse (thanks to the Expression Design eval I picked up).

CCOz

 

It has been great meeting so many friendly and helpful people and Twitter has had some very lively threads on it. If you want to check out what is happening realtime (or afterwards), look for the ccoz tag on Hashtags.

Jeff Wharton challenged me to do a presentation myself, I guess because of my smart aleck comments from the peanut gallery. I'd like to do one on XML literals in VB9 having just spent the last month working on our branching pathways diagram code for Elcom's Learning Management System and being up to my elbows in it (and Prototype).

Code Camp Oz 2008

I'm really enjoying being here. We've had some great sessions from favourites like Greg Low (SQL Server 2008 and how to present at events) and new guys like Shane Morris (User eXperience). Right now Paul Stovell is giving me a headache trying to keep up with his Reactive Programming via SyncLINQ.

It's also been great discussing things with guys from Readify, SSW, and the tons of other companies represented here, I even met the AFP alumni from Canberra.

Coming out of this I am sure that Craig and I will be raving about Windows Server 2008 Hypervisor and looking for greater use of VMs internally (as well as SQL clusters) and pushing for more emphasis on UX in the dev team at Elcom, which should make Anthony happy!

Next up, TDD of DotNetNuke Modules by Philip Beadle ... very relevant to us.

Monday, April 14, 2008

Code Camp Oz 2008

CodeCampOzLogo

I'm all set to go to Code Camp Oz 2008 but I'm wondering who else I'll know there. Craig Bailey and I will be sharing a car to/from the event (we're both staying in Wagga Wagga city centre).

Personally I'm most looking forward to Greg Low's workshop on presenting at events, Philip Beadle's TDD 'in the trenches' session and Luke Drumm's swashbuckling DLR session. It will also be interesting to grill the MVP's that come to Code Camp Oz on the back of the MVP Global Summit in Seattle.

Finally, what is it with the Code Camp Oz logo? I'm going to have to see if I can carve out a spare couple of hours to improve upon it ...

Wednesday, May 09, 2007

Agile and Ruby on Rails thinking

I attended the Ruby on Rails Oceania meetup tonight and learned some interesting things about RDoc (PDF) from Tim Lucas, got some good pointers on how to involve customers in Agile projects (PDF) from Max Muerrman and lastly some great tips on geocoding in Rails (PDF) from Cameron Barrie.

[UPDATE: Got more details (like full names) from Tim's blog. Also Tim's got his slides up on SlideShare.]

I've been playing with Ruby on Rails to broaden my understanding of Agile development concepts and practices, and it's going well. The principles of the Agile Manifesto sounded good when I first read them over a year ago, but since listening to Jason Yip from ThoughtWorks talk about them they've come to life for me, so I will be doing a series of posts about them and how they relate to my experience in over 13 years of IT consulting and contracting.

It's also been nice to read about how Rails is finally getting some traction in the Enterprise arena, firstly through Thoughtworks delivering their project management application, Mingle on JRuby, which basically re-writes Ruby in Java. This means that we now have applications written in Ruby on Rails, but deployed on Java in the enterprise. Very nice.

Secondly we have Microsoft announcing the Dynamic Language Runtime, which allows projects like their IronRuby (a different beastie than Wilco Bauwer's). In an interview with eWeek one of the developers behind the DLR, Jim Hugunin explains how they developed the DLR:
“Hugunin: Where this all came from is I joined Microsoft with IronPython, but I joined to make the CLR [Common Language Runtime] a better platform for dynamic languages. In some ways this is what we've been working on for the past two and a half years. The way that we did that is we started by building one real high-quality production implementation of a language, which was IronPython, and getting a lot of users to beat on it and make sure that we could do it well. Now that we have that one quality implementation we started saying, 'Well, how can we make more languages run well on the platform and make them run even better?'”