Posts Tagged ‘Øredev’

Øredev 2009 Panel Video Books

November 9, 2009

The panel of Øredev 2009 proved to be a great group of people ready to take the panel format further.
As the moderator I wanted something other than your daddy’s discussion – something edgy or just plain edutainment.
I certainly got what I asked 🙂

The folks on the stage were:
James Bach – Author of Lessons Learned in Software Testing
Ola Bini – Thoughtworker, core developer of JRuby and creator of Ioke
Stu Halloway – Author of Programming Clojure
Scott Hanselman – Principal Programmer at MS and general spreader of good info for developers
Oren Eini (Ayende Rahien) – NHibernate Profiler, NHibernate, Castle, Rhino Mocks
Chris Hughes – AT&T iPhone Hacker

Scott Hanselman did a great job of setting up a live feed together with the Øredev people.
Here’s a good page from Scott, http://bit.ly/3C2UIi, on the event with video and everything.

Oh, and the non-computer related books that the panel recommended:
* The Gathering Storm (12th book of The Wheel Of Time) – Neil Jordan
* Anathem – Neal Stephenson +1
* Gödel Escher Bach – Douglas Hofstadter
* Replay – Ken Grimwood
* Flow – Mihaly Csikszentmihaly

Thanks guys!
/Björn

Originally published at Jayway Team Blog.

Questions from the Øredev session Shock Therapy

December 9, 2008

The Øredev conference was a real success. I’m involved in it ,so that probably makes me biased:-). However, I struggled for the first 10 minutes of my presentation to get my slides on the projector. A tip for you Mac users out there: Plug the adapter (dmi to vga) into the VGA cable first! I plugged a lone adapter into the computer first. It couldn’t find any projector and gladly gave up on me… Sigh. After that bumpy start I got going, but had to keep a brisk pace. Sorry, for that to those of you who where listening.

I asked for comments/questions. As it turns out I got mostly questions on Scrum in general and not so much on my topic – how to bootstrap Scrum. I’m not sure what to make of this.
Anyway, here are my takes on those questions. I hope they’re of some value.

Dear Björn,

How do you motivate a team to produce more without paying more for IT (salaries)?
Hourly salary seems retarded for agile teams.
Thanks!

Dear anonymous,

I’ll first look at the non-monetary part, mostly Scrum, and later on salaries and bonuses.

Self organizing
In many organizations people enjoy very limited control over their own situation. Being able to self organize is important. We humans just tend to like this.

Pick your tasks and choose your implementation
Again, if I can use my competence and decide (as far as possible) on how to implement a certain goal, I will enjoy my work the more. Using this approach I’ve even been able to rehire people to very problematic situations. Very powerful.

Deliver
When I ask programmers what they are most proud of, I usually hear words like “idea, made by me, real users”. It might not be the hardest and certainly not the biggest project they worked on. They used their competence, created something and delivered! In Scrum you get the delivery feeling at every sprint. If you break it down into activities no bigger than a day, then you will get that nice “flow” and people will be able to say “I did” every morning.

Good Colleagues
I’ve found that Agile makes sense if for no other reason than you can keep and hire the good people. SmartFriends(tm) is a great way to work!

I’m sure I could pick more facets of Scrum and Agile on how to motivate your team. But let’s move on to the Money. This part of my answer doesn’t have so much to do with Scrum or Agile, but rather my beliefs. So you have to be the judge here – what would work for you and your situation?

Powerful, way too powerful
Salaries, bonuses etc affect you – all the way to the bank and your holiday and…
In short: Once you start using money in different forms as your primary means of rewards, you will get a powerful ally in driving your people. Perhaps to powerful.

Take bonuses at a consultancy firm (a real example from life). You have all the good intentions so you set up a bonus system so that everyone will benefit if they have a client. More hours with customers, bigger bonus. Easy. This way you can lower your costs in bad times. Nice, if you’re just counting beans.

Effect: No one wants to come in do monthly meetings if it’s going to cost them money.
Counter effect: Introduce a threshold so that there is room for a bonus even though it doesn’t mean 100% with customer.

Another effect: You just removed your ability to make strategic decisions like “put someone on the big corporate account” that pays less, but means more hours. Who wants to loose money working for that customer if they have to take a cut money-wise?
Counter effect: You introduce another “rule” specifying that a lower price per hour will not affect their bonus.

Yet another effect: Holidays suddenly never cross the monthly boundaries. That would put your people below the threshold for the bonus on two separate salaries.
Counter effect: …haven’t got the faintest here what they did here.

I hope my example makes sense in your situation. My point is that money matters. When used to drive people you will get side-effects.
For me this is not good enough. I don’t want just to persuade people’s wallets – I want their hearts and minds. It has to be fun and engaging.

Here’s my short take: First make sure you have decent salaries etc. When this in place, aim for those things that make our working day worth while. Set interesting goals, get good colleagues, the right work to do, empower people and so on.

How to ensure creativity and quality in Scrum?
/Fredrik

Hi Fredrik,
I liked the way you wrote this on a green note (meaning “good” when voting at the conference). Thanks 🙂

Creativity
I believe there doesn’t have to be a contradiction between setting a goal and using proper frames (time, resources etc) vs. creativity – at least as long as we have the right to work to our own judgement within these constraints. I often find that this last part is missing. You get all the obligations, but no mandate.

In Scrum, one part of the creativity is built right into the process: Understanding the different goals. In the product backlog you should enter business value. This way the team has direct contact with the user’s intentions and can suggest alternative solutions that might be better, i.e. be creative.

Quality
If we’re talking IT, I would like to use automatic testing, continuous integration and so on to ensure consistent quality. Add to this an annoying email whenever something breaks and you have a good start 🙂

Moreover, the tight feedback loop using sprint reviews and such should pick up on issues like usability etc. Basically make sure you have a product owner that can spend time on the project.

Also make sure that your “definition of done” reflects your quality goals. It has to be very clear what “done” means within your organisation.

Hur gör man för att bryta ner gigantiska projekt över flera plattformar i lagom stora bitar för att köra Scrum?
[How to break down into gigantic projects over several platforms into decent chunks so that Scrum can be used.]
Sven Nilsson, SAAB

Hi Sven,

Your question seems to revolve around two hefty issues: Breaking down the project into several teams that are likely to depend on each others and breaking down the actual work to fit into a sprint. Perhaps “platform” has a special meaning within your organization and how you work. I would have to know a bit more to answer you on that point.

Teams and dependencies
This is tough on several levels. First let’s do the pure Scrum answer – Scrum of Scrums. This basically means that we organize our teams so that one person from each group “steps up” and forms a team that work across several teams. Dependencies etc can be resolved in this group, set up an encompassing backlog and work much in the same fashion as a Scrum Team. Jeff Sutherland, co-fonder of Scrum, has run this set up on 500+ persons. I would love to work on such an outfit.

However, and this is a big however, this is a major change for most companies. The ones I’ve met (medium size and up) just aren’t geared to handle such an approach right now. The number of issues and obstacles with such a transformation can be huge. If you find yourself in such a situation then I suggest you adapt piece by piece and continuously strive to be ever more agile. This is hard work and will mean small improvements upon each other, but maybe no hyper productive state.

This is where I chicken out and suggest you should get someone with experience. Every company is different and needs their set of actions.
Hell, buy me lunch and maybe I can point you in a good direction 🙂

Breaking up the work into chunks
This takes creativity.

First: Try to slice the work so that you will touch base with most layers/parts. This way we can have a better understanding of what it means to deliver the whole system. Therefore make the slice as thin as you can while at the same time deliver something “valuable”. This might mean you need to mock other components (code that isolates different components with dummy answers). This can be very beneficial since it becomes some sort of contract with other teams.

If the chunk still is to big then you might have to resort to cutting up the chunk into parts by level in your architecture. This of course has the drawback that we don’t know what it will take to implement the parts we didn’t do. Business value might be less, but we might be able to “prove” that we’re on the right track. What is “proof” to your product owner?
If you can, stay away of doing tasks in your product backlog. In worst case people will be task-driven: “I’ve changed the registry, can I go home now?”

If we want to/have to promise the customer a delivery date. How can we do that when we don’t analyse the whole project?
We are focusing on the next sprint?

How can we tell management how many resources we will need in one month?
/Patrik Johansson, Ericsson

Hi Patrik,

Several questions and perhaps the most common ones. Let’s dive into them.

Analyze the whole project?
Why we can’t analyze the whole project? Because, this is blatant lie for anything bigger than a trivial project. I apologize for my frankness, but I’ve never seen a project with a single version of the Gantt schema, a single time plan, with a known set of resources…
They always change. Always.

If you and your management can’t agree that things change then you might have to go dualistic – outwards project manager old style, inwards ScrumMaster. It’s not easy, but in time you will gain some victories, err deliveries, and you can move the agile thinking further up. Hard work, but it’s better than doing waterfall all the way.

Your question is still valid. How do we commit on delivery if most things might change? The customer still needs to plan an ad campaign.
One trick is to reinterpret the “commit to delivery date” into agile terms. Get a stable backlog and learn the team’s velocities. This way you can commit to the same “distance”. Things will change, but (as always) it’s down to making things fit into the available time.

For this work we need some iterations under our belt to know our velocity and hashing out what the product backlog should contain. Therefore, mix the project plan’s you have do at the start with some “real work” like coding. Inspect and adapt. After while I think you will able to commit to management.

Focus on the next sprint?
You shouldn’t just focus on the next sprint. The closest work (sprint) is fine grained and the most well understood. The further away (further down on the product backlog), the more coarse grained should the user stories be. No point in being specific, when they’re far into the future.

Resources?
Which resources can you get? Go for full time members. Make sure can keep them. Look at the product backlog and calculate what you can get done with the people (velocity etc) that you got. The important part is to couple the resources with the goals. All too often your resources get slashed and the goal knocked into orbit – and not on the same day.
Get them in synch so that a change in one of them will affect the other.

I hope this helped.

Regards,
Björn

Originally published at Jayway Team Blog.

Øredev 2005

November 20, 2005

Øredev is the biggest conference for developers in Sweden and covers several areas
such as Java, .Net, Methods & Tools and Embedded.

The conference in our own backyard got off to a very good start indeed and featured internationally renowned speakers such as Eric Evans, Rickard Öberg. Kai Tödter etc etc. The number of attendees was 320 and they came from as far away as Copenhagen and Gothenburg. “Own backyard” is quite literal since Jayway was one of the principal organizers. Nevertheless, why not try and analyze our own effort?

Trends

As Java fans we had not only the Java track to enjoy. The Methods & Tools and Embedded tracks contained several interesting sessions with a Java base. This made it sometimes difficult to choose between colliding talks, just as it should be.
Looking at the reviews from the sessions, we find “9 ways to hack a webapp” at the top. It was a great talk given by Martin Nystrom (yes, there are no dots above the “o”) – but somewhat embarrassing. The “I’ve made that mistake!” feeling was a bit too apparent. The top position of this talk came as no surprise. JavaOne attendees gave it an honorable second place in a review of all presentations given there.
The talks covered a lot of ground. They ranged from the challenges of implementing Java on a mobile phone to 64-bit technology and its effects on the JVM, from standards like EJB3 to up-and-coming technologies like aspect oriented programming. On the anecdotal side we note Bert Rubaszkin, Chief Technologist at Sun Sweden, who in his “10 years with Java” talked about several achievements. Some of the examples included Rickard Öberg sitting in the audience. Times flies by faster within IT. Or, better still, it’s just the family!
A few rough edges around the conference were apparent: the sun (yes, the one in the sky) together with a curtain on the loose, made life difficult for some lecturers on the main scene, nothing that can’t be fixed for round two of this annual conference.

Mingling at Øredev 2005

Conclusion

The success of this, the first, developer’s conference in Öresund is promising. The conference will return this year in November. Let’s hope it continues to build on its promising start.

Originally published in JayView.