New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Mark Levison on Aug 25, 2010
Rajesh Velliyatt asked whether his management idea to create a “Best Scrum Team of the Quarter” is good or bad. He was concerned about the potential downsides of the award system:
- Subjective ( like any other such system )
- If all teams are doing well (or even otherwise), picking one among them can pull other teams down
- May work against collaboration across teams
- Too much overhead (data collection) to substantiate "we are best of the pack" to the panel (for the scrum master?)
- Different product teams, no apple-to-apple comparison
In addition to the Rajesh’s point this reporter suggested that the competition was likely to be unhealthy. He also made the point that for creative tasks Dan Pink, author of Drive, has shown that while rewards work for mechanical tasks, for creative activities such as software development they don’t help. Rather than an external motivation, Pink explains that an intrinsic one is what improves productivity on a creative task. Michael James provided a reference from Dan Ariley: “In eight of the nine tasks we examined across the three experiments, higher incentives led to worse performance. In fact, we were surprised by the robustness of the effect;” - Dan Ariely, Uri Gneezy, George Loewenstein, and Nina Mazar (2005) “Large Stakes and Big Mistakes” Working Papers No. 5-011, Federal Reserve Bank of Boston.
Steve Janvrin asked his Scrum team what they would think: "how would you feel if there were multiple Scrum teams and you didn't win the award?" Their answer was "we'd be mad at them and wouldn't want to work with them."
Paul Tiseo suggests that instead of a top team award make it something that all teams can strive for. He points out that a single reward means splitting hairs over which team did best. In this spirit, Rajesh suggested some measures:
1. Velocity trend of the team (Assumption: team is consistent with point estimation, *could be* influenced by the reward system?)
2. Sprint execution effectiveness (Burn down chart, Impediments raised and How the team dealt with impediments)
3. Adherence to DoD (Data comes from PO)
4. Commitment/attitude of the team towards Scrum process (Data comes from SM)
This reporter pointed out that all of these measures, especially velocity (For more details: Misuse of Velocity of an Agile Project), can be gamed. In general any measure will invite the to work towards it, so we must consider what happens if the team does too much of this thing.
Jay Conne offered a market driven alternative: “Let business units bid on the teams they want to do their projects? That would cover many dimensions in one fell swoop. And as a balancing factor, have the teams bid on the projects. That would demonstrate earned trust both ways.”
Bachan Anand, has experience running this “healthy” competition between teams. He found that in the short term it became very unhealthy, teams started working in silos and not collaborating with other teams working on the same product. But Bachan’s organization found that coaching and mentoring sessions that involve people from more than one team helped improve collaboration.
Transforming Software Delivery: An IBM Rational Case Study
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
Why would the Scrum teams need to compete in the first place?
Seriously.
Dave Rooney
Westboro Systems
Agree. Redicolous article.
Just to be clear, I don't think Mark's article is ridiculous but rather the notion that teams have to compete.
Dave Rooney
Westboro Systems
Because it is part and parcel of our culture. It is ingrained into us as children and is in everything we do. That doesn't mean it is right.
Oh sure - I'll bet the first horse race occurred as soon as the second human learned to ride a horse. :)
When I play basketball, I sure as hell compete. Same with golf, cards, etc. When I'm working with a team, I don't feel the need to compete with others on the team or with other teams for that matter. Alistair Cockburn's assertion that software development is a cooperative game really resonated with me - everyone does their best to achieve a common goal. I derive much more satisfaction from doing that than from having someone say, "Your team is kicking Team B's butt!"
I have encountered people before, though, who just had to win somehow. Everything had to be a competition against someone else. What I felt was that those people felt that "winning", whatever they defined it to be, was the only way they could measure themselves. I have no idea if that's correct - I can only speak for myself, and what I have seen work well and not so well.
Dave Rooney
Westboro Systems
Why indeed - I think that was the point of the questions that many of us asked. Inspite of all the evidence as to its affects organizations often seem to think that competition is a good thing. I wrote the news item because I hear questions like this get asked on a regular basis. People genuinely think that competition is a good thing and that makes me sad.
Cheers
Mark Levison
Agile Pain Relief Consulting
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
6 comments
Watch Thread Reply