Today I read a very helpful article, exploring Google’s hidden features. I particularly liked the shortcut to look up film times very quickly. However it doesn’t describe quite how to do it for the UK. So, to find your local cinema times for a film, type in “movies borat ox1″, replacing borat with the name of the film you want, and ox1 with whatever the first part of your postcode is. The first results will be the local cinemas and the times it is showing. If you are signed into Google, it will also offer to remember the postcode for you, so that in future you can just type “movies borat”.
Monthly Archive for December, 2006
These notes are taken from the above talk on 28th November 2006, given by James Noble and Robert Biddle. Pretty much free-form soundbites, which was the manner of the talk in some ways.
We now best now. Order is best. Modern is best. Perfection - Repetition - Iteration.
BUT Why do the robots lose to the humans? (There was a brief Kraftwerk tribute around this point).
“We did it right, but the customer didn’t get what they wanted”. A technical success, but a business failure.
The fault lies with us, not the customer. Like Narcissus, we fell in love with our own image, our technologies, our methods, our knowledge. We couldn’t bring ourselves to look to them, so glorious are we.
In the postmodern age, Agile is Love. The danger is that it becomes self-love, in whatever sense you wish to read that.
Acceptance means more than just passing tests. Agile does have human tests. Planning Games, User Stories, System Metaphor, the On-site Customer. However these are in danger of being overridden by our love of the more empirical, definable, understandable. Automaton, tests, only looking to see the green bar of success for our tests which we have written.
New ideas too! One day iterations! Whole team (no customers)! Executable user stories! Automated acceptance! 80 hour week! 3 Month Crisis! Career Change Counselling! All in action, all inaction, too automated, not human.
The Modern Language of Love - points to Shannon’s model of communication. That communication is information being transferred from the lips to the ear.
The Post-modern Language of Love - we’ve learnt to how to communicate from developer to developer. The information isn’t always getting delivered to its final destination. The job of translation is a trial and error process, almost akin to bartering. Ideally, recourse to a grand narrative should be forbidden, small narrative is a far better form. Our tools should aid the translation between developer and user.
We should meet each others needs:
The customer knows business and wants software. The developer knows software and wants business. It can be a beneficial relationship. The customer also holds a lot more knowledge than we sometimes recognise, sometimes ignore in the appreciation of our own reflection.
If you do not love your customer, you are not doing Agile.
So what did I think?
I’ve read colleagues and other blogger’s views on this keynote speech, and going on those and other views I heard on the day, it would be fair to say it got a mixed reaction. The presentation style was loud, and disorientating. If you’ve read any of the Head-First & Head-Rush books by O’Reilly, well it was a bit like someone reading one of those and all the sidebars and speech bubbles at once. Repetition and reinforcement of their points through a variety of means. It was interesting they used Shannon’s model for communication, as it also indicates that the main barrier to verbal communication is noise. I think this was the case in getting their message across to everyone in the room.
I’m interested in how they are identifying some of the pitfalls and problems of modern development, and applying methods of literary criticism to analyse approaches such as Agile and XP. It shouldn’t just be technical and project management views driving how these methods develop, in order to achieve their goals of providing the right product effectively, they need to ensure they are keeping the knowledge of the customer involved, and that they are being sense-checked in a wider sense.
What follows are my notes on the XP Day talk given by Joseph Pelrine, on Tuesday 28th November 2006.
Scrum is nothing to do with software, it is to do with managing work.
In any project, requirements, technology & people are all changeable, all come with uncertainty. Scrum can manage and prioritise this complex domain. Joseph pointed to several non-software projects he had managed with Scrum, including his wedding (which was indeed delivered on time and within budget).
The waterfall method assumes requirements do not change during the project, encouraging a tendency to stuff in everything in one go, all at top priority. Scrum looks to not wait for all the requirements, but instead to look to deliver with what is known now.
Waterfall can actually work in manufacturing, you do know your end product, you know what is an acceptable level of waste (although if you look at the Toyota Method of Production you may well see this is not necessarily the best way). When you can’t can’t define things enough so that they run unattended and produce acceptable output, then control is through constant inspection and adjustment. The comparison Joseph made of these two ways was that of the flightplan made by an aircraft, compared to the way in which a large flock of migrating birds move. Apply, inspect, adapt.
Building the Scrum process
Start with a product planning meeting. Plan just enough to drive the first developer sprint to deliver product increment that provides business value. Requirements will emerge as the customer sees product increments. Refactoring of the design and product will cause the system and product architecture to emerge.
Scrum Master
They are responsible for establishing Scrum Practices. They act as a gobetween for management and the development team, and also a coach. A Scrum Master is the agile equivalent of an IT Project Manager. They should be outside of the team, although if the team is too small, the pragmatic approach is to adapt the role to suit.
Daily Scrum Meeting
This ideally should be no more than 15 minutes long, taking place in the same location every day. The aim is that everyone attending answers 3 questions:
What did you do since the last scrum?
What will you do before the next scrum?
Is there anything in your way which will help you achieve what you want to do before the next?
It is the Scrum master’s job to note and then sort any of the impediments raised in the meeting.
Scrum Teams
They are self-organised, with no roles. Responsible for committing to work, and with the authority to do whatever is needed to meet commitment. Almost like the “total footballers” of development. The ideal size is reckoned to be 5-9 people, not too big, not too small.
Product Backlog
This is a list of functionality and technology issues, maintained by the product owner. If there are multiple teams, there should still be only one list. Anyone can contribute to it, be it is the product owner who is responsible for defining what is going to be done, and when. Their decisions in terms of timing come down to their defining if it will be in this sprint, if it may be in the next, or is to be considered further down the line. The combination of the product backlog and the product owner that drives the scrum process.
The Sprint
A 30 day calendar iteration of development. The development team builds functionality that includes the product backlog, and meets the sprint goal. If the sprint should lose meaning along the way, it should be abandoned and restarted with a restated goal. 5-10% of the sprint should be spent researching ahead for the knowledge and information that will be needed to complete it, or further sprints.
The Sprint Planning Meeting
This should consider the following:
Items Processing Action
Product backlog
Team capabilities Review
Business capabilities Consider Implement
Technology stability Organise
Executable product increment
Sprint Burndown
This is a method of charting the progress of the sprint. It is designed to measure results rather than effort, and shows how much of the sprint is left to do each day. Each developer must devote a few minutes each day to updating the burndown.
End of Sprint Review
This is fairly self-explanatory, review the product backlog, and set the next sprint goal in the light of what was achieved in the previous sprint.
So what did I think?
I enjoyed it, very well-presented session. I think that compared to what I have seen of Agile and XP, it is a slightly more formal, heavyweight system. Obviously it has influenced some of the thinking behind both of them as well. It could be easier for a team entrenched in the Waterfall method of development to transition to this way of working, than say jumping across to XP.
Latest Comments
RSS