OneBeep for OLPC

The imagination of students does not have to be confined to the brain, but can be brought to the real world. The Imagine Cup, a world-wide competition of students aged 16+ shows what they can achieve in the field of technology when they put their heads together.

In the 2010 edition, the team from New Zealand – 4 young engineering students from University of Auckland – placed third with their idea OneBeep. These four – Vinny Jeet, Steve Ward, Kayo Lakadia, and Chanyeol Yoo – came up with the idea to use radio waves to transmit any file – no matter whether text, image, video or software -  to remote locations where there was no internet access. The aim is to update the laptops deployed through OLPC with educational material.

Wow. We saw just a short video at the Digital Technologies Symposium, but that alone was a great demonstration of what can be possible in the near future. Now that the proof-of-concept has been successfully achieved, they are looking into working together with the Solomon Islands (it’s close to home) to deploy OneBeep for OLPCs there before they go out into the world.

The guys told me that at least part of their software will be made open source, but they haven’t really looked into it yet. Let’s hope they do and others can contribute to this fantastic idea and take it further together with them.

Agile undercover

Agile software development is still a bit obscure to me. As I have been hearing a lot about it recently, primarily through company presentations at the Meet & Greet in preparation of Summer of Tech, I went to a presentation today to find out more about “agile”.

The Agile Professionals Network organized the presentation “Agile Undercover: When Customers Don’t Collaborate” given by Rashina Hoda. Her presentation, as already suggested by the title, focused on the customer and what an agile team can do if the customer is not fully on board.

She has identified 6 types of customers in agile projects in her research in India and New Zealand that she placed on a continuum:

  1. Product owner: That’s the perfect customer, a rare breed (in any project). :-)
  2. Story owner: The project is split up into multiple stories (in non-agile words: parts) and each one has a person responsible from the customer side. That means that the responsibilities don’t have to be centered in one person who may not always have time, but different people from the customer side are involved at different times.
    This ensures that a customer representative is there at all times. However, I see the danger in not being able to tie everything together. This type of customer requires that the individual story owners talk to each other and keep each other informed so that decisions are made along the same lines.
  3. Just demos: Sometimes agile development projects can be happy if the customer shows up for the demos (no other interaction willingly or out of necessity). They then try to sneak in a discussion at the end to go over the development and receive feedback on it as well as some pointers for further development.
  4. E-collaboration: Sometimes it’s not possible to meet face-to-face. That’s when e-collaboration comes in handy so that the developers and the customer can still see each other and discuss work. Video-conferencing where possible, but also text chat help greatly to stay in touch and involved.
    I would have placed e-collaboration before just demos because I sense a greater involvement than in the just demos part, but of course, that always depends on the project.
  5. Customer proxy: If a customer can’t be present, somebody else from the development team or closely related can act as stand-in to lead discussions and then communicate the results back to the customer, receive their opinion and feed that back to the team.
  6. Extreme undercover: That is the worst-case scenario. This can happen when the development team decides to use agile methods, but the customer is not aware of that and thus is not involved in the process. That is often the case if the customer as too scared of using agile or opposes it.

These types of customer are not new because I can also see them in “regular” projects. However, Rashina pointed out that customer involvement is particularly crucial for the success in agile projects, and a team has to find ways of compensating for not-ideal customers.

As I just got a brief glimpse into agile software development / agile methods, it would be great to actually see such a project work and compare it to my project work experience.

This presentation was based on “Agile Undercover: When Customers Don’t Collaborate” by Rashina Hoda, James Noble, and Stuart Marshall which they presented at XP 2010 in Trondheim, Norway, in June 2010.