keskiviikko 16. joulukuuta 2009

Coding Session Tampere

Another coding session at Starduck Studios. We tackled Roy Osherove's String Calculator kata in Scala. Pekka performed the kata and lead the discussion on various properties of Scala and the development environment.

It was a good first-look at Scala, although I had the feeling it would have been even better if everyone would have had a chance to try it out.

Next time we will make an attempt to implement a coffee machine controller. It will be a public session, announced in the mailing list and various social media environments.

http://confluence.agilefinland.com/display/af/Coding+Session+Tampere+20091216

keskiviikko 9. joulukuuta 2009

OO Days at TUT

I attended OO Days at Tampere University of Technology. Below the list of talks I attended to.
  • Dean Leffingwell: A Lean and Scalable Requirements Information Model for the Agile [slides]
  • Marko Taipale (Huitale) and Ari Tanninen (Koodaripalvelut): Scrum is NOT enough [slides]
  • Jan Reher (Systematic Inc): Yes, you really can have agility and high maturity at the same time [slides]
  • Rui Manuel de Sousa Pereira (IBM) Achieving Agility - Impact on Software Economics
I really enjoyed the talks, asking questions and discussing with people.

OO Days will be an annual event from now on. A wish for the organizers: let's get back to the basics of object-oriented programming and how to write good tests!

The presentations should appear on the website soon.

http://www.cs.tut.fi/tapahtumat/olio2009/

Edited: added links to presentations.

torstai 3. joulukuuta 2009

Testing Concurrent Software (Nokia internal)

I attended a talk by Dr. Shmuel Ur (IBM) on testing concurrent software. Really interesting talk, I got a good refresher on concurrency problems, concurrency in Java, how to measure whether your tests are good at testing concurrent programs and finally an introduction to a tool which will enhance the likelihood of finding bugs with your tests (or detecting that the your tests are no good...). The tool ConTest and a related coverage data analysis tool FoCus are available from IBM alphaworks.

http://www.alphaworks.ibm.com/tech/contest

tiistai 1. joulukuuta 2009

Code Session Tampere

We had a coding session at Starduck Studio's headquarters. The idea was to bring together people interesting in learning by doing together.

The topic was code kata and related practice. I demonstrated Prime Factors Kata. Edvard presented his version in Ruby, and showed us two projects he had been practicing (permutations, predicting event occurrences from past data).

An excellent start for the hopefully long series of hands-on events!

http://confluence.agilefinland.com/display/af/Coding+Session+Tampere+20091201

keskiviikko 19. elokuuta 2009

Agile Dinner in Tampere

Yet another agile dinner in Tampere is over. Good food and discussion. Below a short summary of the points made on the theme and links to material I mentioned on other topics discussed.

http://confluence.agilefinland.com/display/af/Agile+Dinner+in+Tampere+20090819
  • Physical task board got most attention, spreadsheets was distant second.
  • Buy extra sticky post-it notes (from a good bookstore) or use a special glue to get index cards stick.
  • Updates can be done as often as team likes, but usually at least once a day.
  • Co-located teams usually like task boards, as it is easy to maintain and fits the purpose of showing them how much work is left.
  • Updating burndown chart by computing the remaining effort from task board manually does not take much time.
  • Documenting changes (for communicating them to distributed stakeholders) can be done by taking a photo.
  • If someone wants to document daily changes when using a physical task board, changed notes can be turned upside down.
  • There is seldom need for saving backlogs for further analysis after the retrospective.
  • Estimates are usually in hours in sprint backlogs (not in story points).
  • You can present the size by giving bigger tasks a bigger post-it note! However, usually a number on the corner will do.
  • Tasks in Sprint backlog are usually refinements / breakdowns of product backlog items.
  • Team should do the estimates (not managers or such) in order to better understand the work to be done.
Discussion was not on the theme most of the time, which I did not find problematic. Among things discussed were TDD, acceptance test-driven development, Scan-Agile, lean software development, how to take open bugs into account in sprint planning. Below some links which I mentioned during the evening.

http://www.infoq.com/presentations/poppendieck-agile-leadership
http://www.infoq.com/interviews/poppendieck-lean-2007

http://www.cs.tut.fi/tapahtumat/projektinhallinta09/JimCoplien_12082009.pdf
http://www.cs.tut.fi/tapahtumat/olio2008/esitykset/coplien.pdf

http://www.infoq.com/news/2009/07/coping-with-bugs

http://doi.ieeecomputersociety.org/10.1109/MS.2007.75
http://doi.ieeecomputersociety.org/10.1109/MS.2008.34
http://www.infoq.com/news/2009/03/TDD-Improves-Quality

http://stopandfix.blogspot.com/2009/04/all-about-testing.html
http://huitale.blogspot.com/2009/03/unit-testing-is-overrated.html

http://www.threeriversinstitute.org/blog/?p=187
http://www.infoq.com/news/2009/06/test-or-not

keskiviikko 12. elokuuta 2009

Project Management Days at TUT

I did not get an invite this time (trying to figure out why), but luckily noticed colleagues going to TUT. I managed to listen to the last talk, by James Coplien, on the differences between agile and lean.

I have to admit I did not understand his previous presentation ("For those who were agile before agile was cool", OO Days 2008) at all, or at least it was against my views on agile and people associated with it. This time it was all different, I really enjoyed the presentation.

http://www.cs.tut.fi/tapahtumat/projektinhallinta09/
http://www.cs.tut.fi/tapahtumat/projektinhallinta09/JimCoplien_12082009.pdf

torstai 14. toukokuuta 2009

Business Value Game workshop in Tampere

I participated in the fifth agile dinner which was held as a workshop hosted by Artem. It was about ordering product backlog items (things to be developed) by the value they produce to business and the learning method was to simulate real life by a game.

Team I participated did not win, but I think we improved our method quite well. Initially, we did not schedule features (with a price tag), but tried to prioritize individual user stories (one feature consisted of multiple user stories) by ordering them according to decreasing ratio of value and cost (effort). Value of each story was, in the first technique we used, determined by feature price equally distributed to stories involved. This seemed reasonable, but resulted in multiple features in progress, and incomplete features gave no income.

We improved the method to use the following rules
  1. Make a guaranteed release as soon as a feature is complete. Do not let the variation in velocity to cause a release to be skipped.
  2. Prioritize full features (all related stories together) in decreasing order of business value (price) divided by effort.
  3. You should take account things like customer satisfaction in business value.
This worked quite well. However, I am still not sure if the we should prioritize according to pure business value only. In our rules above, taking effort into account will deliver largest business value possible with the resources available in each sprint, but not necessarily the most valuable features first.

I insisted on having a set of rules for playing the game. That probably made us lose some money in the first rounds. Also, we did not have rules for customer satisfaction or strategic moves like abandoning some customers in favor of others. Intuition might have worked better this time. Also, we did not schedule small items to fill the remainder of sprints with useful work, which would have yielded a small speedup for some features occasionally.

http://confluence.agilefinland.com/display/af/Agile+Dinner+in+Tampere+20090514+-+Business+Value+Game+Workshop

tiistai 5. toukokuuta 2009

Agile Dinner in Helsinki

I participated in Agile Dinner in Helsinki.

I gave a talk on a failed project of mine. It handled two problems encountered in the project, namely inability to match schedule expectations and eventually failing to meet the customer needs. It was a good project and I learned a lot. But it did fail. I concluded the talk by clarifying what I mean by failing by giving six conditions for project failure.

I managed to raise a good bunch of questions and comments, which was a nice starter for the evening.

Ari Tanninen gave a talk on a project which utilized solid agile practices and a team of skilled individuals and which managed to deliver an outstanding solution by any measure. But the project failed miserably. Why?

Ari's presentation was followed by intensive discussion on how a developer could prevent such a failure from happening. Cause to the failure was an organizational problem which could have been (and was) observed by 'techies'. But how to communicate this to management, that is, to business people? To people with a different personality type and communication style?

Three hours of thoughtful discussion on software development. I felt great afterwards.

http://confluence.agilefinland.com/display/af/Helsinki+Agile+Dinner+May

tiistai 21. huhtikuuta 2009

Competence Development Days at Sasken Finland (company internal)

I host an open space session on test-driven development in Sasken Finland internal event.

I also attended a tutorial on testing in agile projects and exploratory testing. I was not familiar with exploratory testing, but certainly will experiment with that in the next project.

keskiviikko 8. huhtikuuta 2009

In Agile Dinner in Tampere

I organized the fourth Agile dinner in Tampere. Will give a talk on agile practices in my projects.

http://confluence.agilefinland.com/display/af/Agile+Dinner+in+Tampere+20090408

tiistai 7. huhtikuuta 2009

In Agile Dinner in Helsinki

I participated agile dinner in Helsinki and gave a talk on agile practices in one of my projects. Good discussion.

http://confluence.agilefinland.com/display/af/Agile+Dinner+Helsinki+20090407

keskiviikko 11. maaliskuuta 2009

Agile Dinner in Tampere

I organized the third Agile Dinner in Tampere. The theme was 'Test-driven development'. I gave a talk to introduce and motivate the use of TDD.

http://confluence.agilefinland.com/display/af/Agile+Dinner+Tampere+20090311

Slides of my talk (pdf)

torstai 22. tammikuuta 2009

Agile Dinner in Tampere

I attended the second Agile Dinner in Tampere.

http://wiki.agilefinland.com/?AgileDinnerInTampere20090122