Rotating People On Scrum Projects

Despite the idea of dedicated teams, we really haven’t encountered much in the way of problems with rotating staff on and off Scrum projects in general. Sometimes people come on and off because they tend to specialize in something like UI design and are constantly called out on multiple projects. Other times the work on the project has changed focus or we need someone to start something new. And finally, sometimes someone is just getting burned out an needs a change.

On Scrum teams the main swapping out of resources that gets discussed is when one of the weaker team members is voted off the island for failing to meet any of their commitments. We’ve had that as well, but the majority of our swaps have been for more benign reasons. I have no idea if we’re typical, but rolling people off at releases tends to work really well, or at least at the end of Scrum.

CIO Magazine Selling SOA

Why SOA Is Good for CIOs

CIOs working with service oriented architecture are at the leading edge of their profession. They make more money, have bigger budgets, have more strategic impact and play a larger role in innovation.

— The State of the CIO Survey 2007, CIO Magazine Dec 2006

Just more self-reinforcing reasons to do SOA. It all comes down to the bottom line. If you’re pushing SOA as the CIO:

Average Compensation of CIOs Working With an SOA

  • $250,000

Average Compensation of CIOs Working Without an SOA

  • $159,000

My question is can you just brand whatever you’re currently doing as SOA. Then just deploy a web service or two and you’re a leading edge SOA shop? And if that works can you walk into the CEO and ask for a $100,000 raise?

Wasting Money On Expensive Enterprise Tools

I’ve seen the symptoms occur in every IT shop I’ve worked in, though rarely in consulting firms. They symptoms are:

  • The CIO/CTO sees something about a new product that’s buzzword compliant be that Y2K certified, agile, or SOA.
  • The tool costs at least six figures.
  • The tool is “enterprise class” whatever that means.
  • The tool is a must have when pitching the business on a new project. “Well, we need Product X to allow us to build a true enterprise system, otherwise it won’t scale.”
  • No one asks anyone who’s going to actually use the tool what they think about it.
  • It sits somewhere in a Gartner magic quadrant.
  • Once some momentum is started there’s no way the purchase isn’t going to happen.
  • It’s standards compliant–the vendor’s proprietary standard.

The end result is the product gets purchased and the line IT employees get screwed. Real alternatives to spending money on an expensive tool that may become just shelfware are ignored. I can think of tons better ways to spend six figures:

  • New developer boxes for developers who haven’t had a new machine in years. Total cost maybe $6000.00 per developer for a nice high end box with dual 30″ monitors. Productivity goes up and for $100k you can outfit at least fifteen developers. On top of that you get a huge morale boost because the developers actually believe the line about really appreciating the employees.
  • Bring in a high end mentor/trainer/coach at say $200/hr to teach things like TDD, real OO design, refactoring, XP practices. Total hours covered 500 or enough to spend an individual week with twelve developers.
  • At about $3500 per conference send 28 developers to conferences. Conferences like like TSS Symposium, JavaOne, OSCON, SD West, RubyConf, NFJS, ETech, etc expand their abilities and vision.
  • Setup a break room for developers and stock it with Foosball tables, video game systems, and free snacks, water, coffee, and soda.
  • Buy Areon chairs for all the developers and hand out the rest as bonuses for high performing teams.

Chris Richardson at SACJUG

On Jan 9th, 2007 Chris Richardson, author of POJOs in Action, gave a talk on POJOs using Spring and Hibernate. The talk was a pretty good overview and I learned a few things along the way. Chris’s current preferred TDD development stack is:

  • Hibernate
  • Spring
  • Jetty
  • Selenium

The idea is to avoid anything that will slow down testing hence an in-memory HSQLDB, Jetty, and Selenium to deal with the view layer testing. Chris also expressed that he was really happy with using Selenium, which just gives me another reason to spend some time and actually try out Selenium. He also starts up Jetty in debugging mode to avoid having to do many restarts.

He was of the opinion that you really shouldn’t use Spring in unit tests. The dependencies are something you should probably mock, and Spring beans get in the way of unit tests. On most of our projects were just using a testing specific Spring contexts for the tests, so it might be worth exploring just taking out the Spring dependencies.

His opinion of options like EJB3 was that he wasn’t too impressed and out of the app servers he really disliked Websphere.

And again on the note of thought leaders who started off in things like Smalltalk, Chris explained he started out doing Common Lisp, and then mistakenly took a job doing C++ just because it was a 50% pay raise.

Hardware Upgrade

17″ Dual Core MacBook Pro came home today. It’s very, very nice. I love the backlight keyboard effect.