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 Vikas Hazrati on Sep 08, 2009
Agile retrospective helps the team examine what went well during the past sprint and identify the areas of improvement for the future sprints. However, sometimes the exercise of conducting a retrospective ends up as a futile effort due to lack of preparation. Moreover, key members of the team end up either not attending or not participating.
Esther Derby mentioned the following reasons for a failed retrospective,
She also mentioned that, conducting a retrospective in an organization where pervasive blame culture is rampant is a very difficult exercise. In such organizations, people are scared and reluctant to speak up. Effort needs to be spent in these organizations to prepare them in order to conduct an effective retrospective.
Steven M Smith talked about another scenario where the key members of the team might not be interested in the retrospective at all. This is especially true when retrospective is done as a routine task and then no action is taken on the outcome. Steve mentioned,
Mitch [a key team member] clearly sees the failures and would like to do something about them. But he sees retrospectives as an equally large failure. When he looks back on the his participation in retrospectives for failed projects, he sees a consistent pattern. Each retrospective would find that a root cause for the failure was insufficient or inadequate sponsorship. And in every case, nothing ever happened to improve project sponsorship.
Steve suggested the following points to engage team members and conduct a fruitful retrospective.
Steve further reiterated that, getting the team members to a retrospective by force would not solve the purpose. This would make them physically available though they would still be mentally absent.
Thus, in order to make a retrospective successful, the team needs to be present with adequate preparation and effective participation. The team and stakeholders should be prepared to take corrective action at the end of each retrospective. Conducting a retrospective without these ground rules is a waste of everyone's time.
Transforming Software Delivery: An IBM Rational Case Study
18 agile and lean practices for effective software development governance
SCM best practices for multiple processes, releases & distributed teams
Maximize your business-responsiveness with Mingle. Provide your global development team a shared space that adapts to the way they work.
I agree that without preparation, participation, and commitment to change (which means time and resources, not just will), retrospective don't result in improvements.
And, Steve and I are talking about two different types of retrospectives.
I'm talking about retrospectives that happen periodically during a project, with a focus on helping the team improve their own capability. The assumption is that the team will stay together and have a chance put the improvements they choose into action.
An iteration retrospective might focus on the team's technical practices, work process, or teamwork, for example.
Usually, teams who do iteration retrospectives focus on issues that they control, or at least can influence (in which case, the action within team control is gathering data to make a case to the person who does have control). But even when the team can't change some organizational situation, they can change their response in that situation.
Steve is talking about an end of project retrospective. The issues that come up during end of project retrospectives tend to span organizational boundaries and be beyond the control of one team.
Clearly, it makes little sense to have a team hold an end of project retrospective--especially on a failed project--unless management is present, and comitted to learning and changing.
But that's a different problem than lack of traction in an iteration retrospective.
I think the most important purpose of the retrospective meeting is to find out something that the team can improve, or do better in next sprint. Of course this includes what can be improved by each team member himself. If each member in the team has improved, the team can do a better job.
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.
2 comments
Watch Thread Reply