Today I, Arwid Thornström and Joel Larsson participated in the Expo C conference at the marine museum of Karlskrona, Sweden. The conference was about software development and testing, which isn’t exactly my area, but was still very rewarding, since several big figures in the software industry spoke about their methods of development. These methods can of course also be implemented in for example flash development.
After Helena Ola’s (Ericsson) brief introduction Jimmy Nilsson (JN System Konsult) took over and spoke about TDD, Test-Driven Development. He has a background in .NET development and gave a couple very good examples that illustrated easily what he was talking about. With TDD you test your code all the time, which makes it a lot easier to avoid bugs. I’m sure I’ll try to implement these ideas in my flash development. Flash of course isn’t as advanced or widespread (not to mention the different targetgroup & use) as .NET when it comes to coding, so development tools and frameworks are pretty limited. With some googling I found Actionscript 2 Unit, which apparently can be used in a similar way (the website didn’t work at the time of writing) as the framework Jimmy used during his presentation. I’ll look into that when I have the time. Hope they’ll get that site online again..
After this Dr. Aybüke Aurum from the University of New South Wales, Australia spoke about maximizing product value in software development. Among other things she spoke about a study about decisionmaking in companies, conducted in several countries, mostly with telecommunication and IT companies. The whole speech was more business oriented, stating that the product value is not the cost of development, but the perceived customer value. Good point.
Anders Sixtensson from Softhouse then spoke about a project management method called Scrum. This was pretty interesting and totally new to me. With this method, in short, the entire team split into about 5-9 person scrum groups who get a task and then work on it for 2-4 weeks and deliver their work. Each group has a scrum leader who works almost like a project manager, and is responsible for the group. The group meets every day for a short meeting, to see what has been done. The scrum leaders always meet after a sprint (the 2-4 week period). They then get new top priorities on the backlog and start working on new tasks. I can imagine this is a really nice way of working, as you as a developer can focus on one task and one task only for the sprint. No clients coming to say “no no no, let’s do this and this instead”. Of course this might lead into some duplicate work, but in the long run it’s supposed to work well. Anders also took an example project with 58 people working on it, and mentioned a project where over 1000 people had worked in scrum groups. So, apparently it also works very well with bigger projects. Definitely something to look closer into.
Niclas Nilsson from [Activa] then continued on what Jimmy started earlier, except “taking it to the next step”: BDD, Behavior-Driven Development, a method of coding developed by Dan North. To describe the difference between DBB and TBB Niclas said a quote he had heard at a conference last year “if you just change the word from ‘test’ to ‘should’ in your test cases, people will suddenly understand TDD”. This of course can be a bit over the head, so he continued with explaining it more closely. With TDD you write something, then do a test that ensures what you just wrote does what you want. With BDD you decide what you want to do, and write it accordingly. My explanation of course is extremely simplified. You set goals using a story that defines the whole development process in tiny pieces. The story can also be understood by clients, projects managers and other less technical people as it usually is something like “Given X when Y then Z”. Niclas Nilsson’s blog post about BDD is good to read to continue on the topic.
This was again something new to me that gave me some “aha!” experiences. Cool
Daniel Häggander from HL&L Computer Systems then had a short session titled “Non functional demands - how do we catch the ofter implicit needs of the customer”.
To end the day we had discussions in smaller groups, going thru some questions that were raised during the day. This gave a new perspective to everything said, as questions could directly be asked to the speaker, and more specific answers, with examples and more specific explanations were given.
The images here are from the previous conference held earlier this year. I’m sure pictures from this conference will come to the Expo-C website anytime soon.
All in all, even if the focus of the conference wasn’t exactly what I’m doing, it was really nice and inspiring. It will definitely help us when when we’re structuring work for developing the Crew 12 site. Applauds :) The entire conference was also extremely well organized, and I can definitely recommend it to anyone in software development or management.