Tapestry for Nonbelievers
A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.
Tracking change and innovation in the enterprise software development community
Interview with Nils Haugen on Jul 27, 2007 12:34 PM
IBM software architect eKit: Grady Booch podcast, whitepapers, articles
IBM Web 2.0 Developer eKit: Free Tutorials, Webcasts, Whitepapers
Rational Model Driven Development eKit: Examples, Tutorials, Webcasts
Evaluation Guide: Is Your SCM Tool Ready for Agile?
Fighter Jets and Agile Development at Lockheed Martin (Case study)
I thought this game is about bluffing and not trusting what the others are saying/doing. I think this planning game is not for shy people.
> I think this planning game is not for shy people. I can see why you'd say that - similarly, you could say Agile itself is not for shy people. However, I've seen shy people happily embrace Agile... the key is to remove judgement from the process. So, in planning poker, if everyone says "4" and the shy person says "2" they will be invited to share what they know. Perhaps it turns out they see a different way to do it, which is great!. Without freedom to speak freely, this person may not have contributed this idea. But with planning poker, there is a way for them to do so without having to "butt in" to the conversation. There is an explicit invitation to speak in planning poler, which I think helps shy people learn to trust their team mates. Conversely, it teaches more outgoing team members to listen to this quiet person, to value their input. It is important that the person with the different estimate is valued for bringing different information to the team, rather than ridiculed for "not getting it". If, in fact, it turns out they didn't "get it", they will realize it naturally as the team discusses their idea, there is no blame involved. The discussion is about ideas, not individuals - this builds trust, which is essential to the function of an Agile team. Without trust, yes, the shy people on a team will remain silent and real teamwork is thwarted. But many Agile disciplines are specifically designed to build trust.
Pet peeve: Estimating and Planning are different. This is estimating. To be hideously short about it: Estimate= How Much; Plan= How Long. I think its critical to know which you are doing when for the same reasons that we care about abstraction in code.
yes - but wouldn't you agree that estimation is one of the important pieces of information to plan effectively?
I have used planning poker myself as well as introduced it with clients. I totally agree that it is about estimating (complexity) but I disagree that it is not planning. The way I see planning poker is that it is for estimating complexity and thus in the end iteration planning. When you know your teams velocity, in terms of complexity points per iteration, you can get a clear view what can be done in an iteration; thus the iteration planning. My personal experience is that, after a baseline on complexity and velocity, estimations get more and more accurate and the in the end the estimations are way more accurate then any kind of "expert opinion estimations".
> planning poker is ... for estimating complexity and thus in the end iteration planning. I agree. Estimates are a key factor in iteration planning. Teams typically also go into iteration planning knowing a) their real-to-ideal ratio (ex: takes real two days to do one ideal day's work) and b) their availability (who's on vacation, taking training, etc.). So when the team reaches the iteration planning meeting, the only thing missing to create a plan is the estimate. That's where planning poker provides the "ideal time" estimates to complete the equation. In addition, there is a need for longer-term planning (done with a high degree of uncertainty, in Agile). I call this "release planning" and it's a different thing from iteration planning.
Jim's point is well taken. It would be more accurate to call this game (which I use and love, BTW) "estimation poker." Estimation informs planning, but someone else (in Scrum it's the Product Owner) still has to make a call on prioritization. "Estimation poker" doesn't have the nice alliterative ring that "planning poker" has though. --mj
I got this really cool die at Agile2007 - flashy and electronic, does the usual "dice" thing - give you a random number. Perfect for Release Planning Craps!! :-D
Yes I agree, planning and estimating are two different activities. Here is how we do it in our projects. Planning poker (we call it Agile Auction) is a tool or technique. It's outcome is a relative size for a task (can also be for a non-software project) in comparison to other known tasks. A release (= 3 months) consists of a set of iterations. Before we start a release we do a release planning. It is based on high-level stories and high-level estimates. We know that we need to adapt as we go but we still spend enough effort to get a full backlog to which the team can commit. And the team is cross-functional so there are more than just developers. At the beginning of each iteration (= 1 week) we use Agile Auction (aka Planning Poker) to confirm the estimates of the stories in the release backlog. By monitoring how many stories are completed in each week we can track the progress of the project. We can also determine the actual velocity of the team and we gain an indication of how much of the desired scope will actually get delivered. So estimating with cards is more about 'size' while the actual planning is more about the 'when'. Planning should also consider factors such as availability of specialists, change in size of stories if they are done in specific orders, business value of each story from a market or customer perspective, marketing value, and many more. In summary we found that Agile Auction (aka Planning Poker) substantially helps to improve the accuracy of the estimate (still not predictions, though!), collaboration and team learning. One question we are often asked is where to get the cards from. In the article one source is already mentioned. If you are looking for a free template to print and create the cards yourself you can also download it at no cost from http://www.agileutilities.com/products/AgileAuction Kind regards, Manfred.
A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.
In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.
Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.
Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.
Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.
David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.
Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.
In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.
9 comments
Reply