XP2007 impressions

XP2007 conference held in Como this June was an exciting discussion forum. There were many people from all corners of the industry, a lot of things to talk over, some useful connections to make or maintain. One of the noticeable differences from the previous year XP2006 was the average level of problems in the conversations. Last year in Finland it looked to me like the majority of discussions were on the agile methods themselves, what they were like in reality and how they were different from the traditional methods. This year there have been more discussions on the practical issues of adoption. I have attended several workshops and tutorials devoted to the adoption strategies and the ways of risks’ minimizing during the implementation.

I have changed my initial plans a bit. The final list of tutorials and workshops I participated in and the main message I got from those is as follows.

How to effectively communicate the value of agility by Joshua Kerievsky
Do not oversell. Agile is no silver bullet. Listen to the company real needs and propose what can be helpful in the particular situation and what can actually be adopted. However, once the adoption package is figured out, it might be wise to pursue the whole package at once even if only in a pilot department at first. Otherwise for the teams without the persistent change culture it might be difficult to change their ways of work continuously for a long period of time.

Coder’s Dojo: Acceptance-test driven development in Python by Emily and Geoff Bache
I have tried the coder’s dojo learning method format and probably will try using it in the future. Also I have got some ideas on using the logging based tests for the legacy code.

Frictions / creations by Emannuel Gaillot and Bernard Notarianni
No matter how carefully developers try to follow the requirements, no matter how responsive customers are trying to be, no indirect communication way can substitute for the live and honest discussion on both the priorities and technical limitations.

How to guide agile adoption efforts by Ahmed Sidky
I have tried Ahmed’s framework for agile adoption. It is more or less a tool for evaluating what the organization is ready for, what to try first and what to pursue further. Not that I have completely agreed with the approach, but as a thinking tool and example implementation, the framework is worth a look.

The daily Continuous Integration by several ThoughtWorks guys
I have tried continuous integration live, have asked some practical questions. Cruise Control appeared to be a flexible and easy tool. To be proposed or tried some time soon.

User-centered design for agile projects by Gabrielle Benefield and her colleagues from Yahoo
I have had a look at the user-centered design point of view, have tried some interesting techniques, have almost stolen some Yahoo secrets 🙂
To be thought over, especially when starting a new project.

Discovering patterns of agile practice adoption by Amr Elssamadisy and Ahmed Elshamy
One more workshop on a bit different approach for evaluating the real organization needs and coming up with the solution that might actually be useful for the concrete situation irregardless of the fact if it has a name of any agile method

As you see, most of the time I was busy trying to figure out the way for understanding the real needs of the organization and the team, for coming up with the agile adoption strategy that might be useful both for the organization and the team, while not being too painful during the transition period.

Paper: Predicting Software Defect Density

Predicting Software Defect Density: 
A Case Study on Automated Static Code Analysis

 Artem Marchenko1 and Pekka Abrahamsson2 

 1 Nokia, Hatanpäänkatu 1, FIN-33100 Tampere, Finland 
2 VTT Technical Research Centre of Finland, 
P.O.Box 1100, FIN-90571 Oulu, Finland

Presented on XP2007.

Abstract. The number of defects is an important indicator of software quality. Agile software development methods put an explicit requirement on automation and permanently low defect rates. Code analysis tools are seen as a prominent way to facilitate the defect prediction. There are only few studies addressing the feasibility of predicting a defect rate with the help of static code analysis tools in the area of embedded software. This study addresses the usefulness of two selected tools in the Symbian C++ environment. Five projects and 137 KLOC of the source code have been processed and compared to the actual defect rate. As a result a strong positive correlation with one of the tools was found. It confirms the usefulness of a static code analysis tool as a way for estimating the amount of defects left in the product.

Keywords: agile software development, static code analysis, automation, defect
estimation, quality, embedded software, case study.

Nokia meets XP2007

A small demo of using the speech recognition technology that actually works. On the following video I am adding Jim Miller who works for Google to my phonebook and immediately voice dial him in a very noisy conference dinner environment.

The best thing is in that the technology is not really new, the similar quality voice recognition system is built into all the Nokia smartphones for couple of years already. So if you’ve bought a Nokia smartphone lately, chances are you can do the same trick with your own phone. In 40+ languages.

Thank you for playing in the movie, Jim!