Retrospectives workshop
Last week I was fortunate enough to take a day away from the coal face to attend Rachel Davies’ new workshop “How to facilitate Retrospectives on Agile projects”. This is a new workshop that Rachel has developed and had attracted a group of 10 delegates to Regents Park in London on a sunny Tuesday.
Organising my contacts
I’ve been trying to get organised this week. In particular I’m trying to manage my network of contacts.
more »
Ruby on Rails demo
This week I had the pleasure of running a demo of Ruby on Rails for the agile north group. This was a well attended session that (much as I’d like to) I probably can’t claim all of the credit for. While I have not had a great deal of experience of Ruby on Rails I agreed to run this session in part to force myself to spend a little time on it.
There seems to be a real buzz about Ruby at the moment. People from a wide variety of backgrounds are looking at Ruby and particularly Rails trying to establish what the fuss is all about and if the promised productivity can pay off in their environment.
TDD story
I found the following set of articles on Object Mentors site. I quite enjoyed them so thought I’d spread them about a bit.
The articles follow the story of a developer who is being taught TDD. A good intro and the primes exercise is a nice one to try yourself.
| Chapter1 | Chapter2 |
| Chapter3 | Chapter4 |
| Chapter5 | Chapter6 |
| Chapter7 | Chapter8 |
| Chapter9 | Chapter10 |
| Chapter11 | Chapter12 |
| Chapter13 |
Announcing Principle7
I am pleased to be able to announce the creation of a consulting organisation called Principle7. This small group of consultants including myself will be specialising in training and coaching in agile processes and engineering practices.
In naming the company we have tried to draw attention to the 7 driving principles of lean software development. These provide a backdrop on which we can build agile processes such as SCRUM and practices such as test driven development and refactoring.
For more information about the new company please check out www.principle7.co.uk although I must emphasise that at present the site is under constant change.
dojo, kata or randori?
What flavour of session shall we have today?
In the agile community we like to share ideas and learn from each others sessions. In addition we borrow ideas from other communities. These three names (dojo, kata & randori) are borrowed from the martial arts world in an attempt to encourage programmers to practice.
The idea of practicing coding it quite unusual in the traditional sense, not least if programming is considered to be a solitary activity. People tend to think of years of experience as being all important. These types of sessions are intended to develop a group learning dynamic where all members leave the session having learnt something.
Keping it simple vs. Big design up front.
I just read Jo’s comments about doing the simplest possible thing that could work here and they got me thinking.
I have spent a great deal of time teaching software design, designing for reuse and about the benefits of good architecture (be it layered or hexagonal). So I guess I’m one of those that occasionally does a little more than the minimum.
However, at what point in the project does a clean layered architecture become the simplest that could work? And, having reached this point how long is it likely to take to refactor into a cohesive architecture?
There is definitely a point at which developers start trying to predict the future and add features on the off chance that they become useful one day and this must be discouraged. Like many guidelines lets be pragmatic in the application of “do the simplest thing”.
SPA 2006 – Retrospectives
This session was run by Norman Kerth as a retrospective on his book, “Project Retrospectives”, five years on.
SPA 2006 – Jidoka
Run by Kevin Rutherford this session was based on the question, is it appropriate to transfer the concept of jidoka from the assembly line to software development?
Question like this come up fairly regularly in discussions about lean software development. Lean manufacturing is a set of principles pioneered by Toyota; this includes the minimising of waste, pull rather than push manufacturing and time boxing of when to make decisions. While lean has worked extremely well in manufacturing there is always someone willing to point out the differences between manufacturing and product development.
SPA 2006 – Working with legacy code
This session was run by Michael Feathers (author of the book by the same name). To begin with Michael explained the term legacy; this refers to existing code without thorough test coverage. With this in mind discussion was aimed at C++, JAVA & C# applications that require extension. The goal is to achieve some of the benefits and confidence delivered by Test Driven Development (TDD) when developing on a none "green fields" project. If an application exists and added functionality is requested, should we be adding tests? Michael reasoned that the client did not want just the new functionality but the old too. To achieve this, tests should be added to ensure that the new software has no unwanted side effects.
