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 Kurt Christensen on Feb 13, 2007
...he wanted complete geographical transparency. Mainly to optimize the project, but also he wanted to build a positive competitive dynamic between the teams where every member of every team on either shore, knew that somebody off shore could do their work tomorrow. So, he decided something that is very unique and there was a lot of controversy about. He decided that every team would be half in Utah and half in St Petersburg.Martin Fowler and others have written about the difficulties of merging an agile process with offshore teams, and so some might be surprised to learn about an unqualified agile offshore success story. According to Jeff, two things helped the distributed Scrum teams at SirsiDynix work effectively with one another. One was the use of automated planning and tracking tools:
When you have many teams, every team needs to oversee the state of other teams, in particular when you have outsourced teams it’s even a bigger problem. So, you need some automated tool where all the data flows in and everybody can see it all the time.The other enabling factor was the organization of the teams:
It is really crucial to have all the product owners, in the Scrum sense, very close to the customer. And you want the product owners close to the teams. Now, what SirsiDynix did... is that all the Scrum masters were in Utah, all the product owners were in Utah, and all the architects were in Utah. So they had very tight centralized control over the product and the product direction.
Case Study: IBM's Agile Transformation
18 agile and lean practices for effective software development governance
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!
Since the Architects/product owners/ scrum masters were in Utah does it mean that the team in Russia was just being fed with architectural decision taken and they were not involved in the process?
Were there any issues because of the Scrum master being geographically distributed? Did the team in Russia have to wait for a while for getting the impediments resolved?
Though the results seem encouraging the one team concept seems to be missing within teams.
Jeff Sutherland's case study on this team might provide the details you seek:
www.infoq.com/news/SirsiDynix-Case-Study
Lacking trackbacks I'm abusing the comment mechanism. This post was featured in the most recent Carnival of the Agilists: www.notesfromatooluser.com/2007/02/carnival_of_....
Thanks, Mark :-)
deb
One of my first jobs out of college was working at SirsiDynix at the time they were working with the outsource teams. I was doing support so I wasn't directly involved with development so I can't speak from the perspective of a developer.
However, everything that I heard from the developers was that the Russian team was constantly messing things up... i.e. the build would be broken whenever they'd come in for the morning... their tests would all be screwed up... the project that they were doing this huge coordinated effort on ended up being canceled in part because of some major overruns in the project.
Jack Blount - who is mentioned in this article (I'm pretty sure he was CEO not CTO - but maybe he considered himself both) went on to found another startup and in that startup he didn't do any offshore agile teams. You would think that if this method were successful for him at SirsiDynix he would want to use it again at his next company to replicate the success. Nope.
So... Be careful putting too much weight into this study as it being a 'positive'. I'm not saying that it's impossible for this offshore agile to work - but I am saying that using SirsiDynix as the example might leave you looking like a fool once someone digs a bit deeper into the story to hear about what really happened with it.
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.
5 comments
Watch Thread Reply