Friday, February 29, 2008

Agile courses in São Carlos

Hello,
A couple weeks ago, I participated as an instructor in an agile course in São Carlos for Agilcoop. We used mostly the same slides and structure from the course in São Paulo available here. It was a 36 persons class with various backgrounds and age. Although instructors felt it as one of the best courses we gave so far, the feedback from the class wasn't that good.
For the courses, our Net Promoter Score were:
São PauloSão Carlos
Theoretical68%58%
Practical60%80%

It should mean that students from São Carlos liked less the theoretical course and more the practical one while São Paulo had the opposite effect. Considering those are different persons with different motivations and expectations, I would believe one course was as good as the other one and just the expectations were different.

The results of the practical course are also available here for São Paulo and here for São Carlos. The project is pretty nice but students had many problems with the Java Server Faces (JSF) technology. We expect to reduce this overhead for next courses by changing the project to something simpler. Maybe using Jabber or some instant message API. If you have any suggestions for projects that require little background knowledge, let me know. Bye bye!

Thursday, February 28, 2008

Research in progress paper to Agile 2008

I've just posted a research paper at Agile 2008.
It describes partially the work I have been doing in my masters. I will post the abstract since it was not supposed to be in the paper itself:
Agile methods and open source software communities share similar cultures with different approaches to overcome problems. Although several people are involved in both worlds, neither agile methodologies are not as strong as they could be in open source communities nor are those communities known for their collaboration in agile methods. This work intends to identify and expose the obstacles that separate those communities in order to extract the best of them and improve both sides with suggestions of tools and development processes.
I think it might have been better but I am quite happy with it. I will correct a few details thanks to Barbara Dieu, my former english teacher who is responsible only the correct parts of my writing, no the bad ones (I learned those on my own).

Agile 2008 has two very good proposals related to the work I am doing. The first one is from Mary Poppendieck (very strong player in the Lean community) and Christian Reis from Async that I had the pleasure to meet about a month ago. I am pretty confident they will get accepted and I will surely be there to see this. Another work that is related to their but kind of opposed to it in the sense that it uses Open source as a basis instead of Agile is this one by

Finally, I also submitted a session proposal with Danilo Sato, about the Coding Dojo he started and I'm keeping running with a couple friends here in São Paulo. Since it is a very long session, we're not sure people will understand the benefits of it or difference with previous Dojo experiences. Let's wait an see if people like the idea or not. I also helped Danilo submit another proposal related to the Dojo with Mariana Bravo and they are bit more confident since this session was a much shorter one. Let's hope both happen. And for now, feedback for all of those is welcome. See you!

Monday, February 25, 2008

Feelings about Archimedes

I am very sorry to have to post this but I can no longer endure that feeling alone. I am getting seriously tired of being questioned about when Archimedes will have a better documentation and the new features and 64 bits support and updated informations on the site and a better site and this and that. Believe when I say I would love to provide every single one of those things but I am NOT being payed by anyone (except maybe myself) to work on this project. I am NOT unemployed or full time free to do whatever I want and most of all: I am not even a USER of Archimedes. I honestly and truly work on this project out of my good will!

Although I would really like to be paid to work on Archimedes, I do not expect people to raise money to afford my work. What I am expecting is that people stop complaining about me not doing to work and start doing it themselves. Start providing instalation tutorials for all platforms for instance, then maybe use tutorials directed to architects. Suggest a different page format. Update websites you have access on such as wikis and reports. Understand that anything that I do that does not involves programming Archimedes itself, features will NOT get implemented. So if you can take off anything what so ever from my duties, it means I get to program more (which is the part I like) and implement more features, correct more bugs and solve more problems.

And finally, if none of this is possible to you, try gathering architecture offices and professionals to donate any mount of money to the project that could be reverted into freeing me some time and working more on the project. If you do not feel comfortable with that, hire a local developer in your country to contribute with the project and ask me to give you feedback about his work if you don't feel secure to measure it.

It pains me to have to make this post especially because it is a clear signal that I am getting tired of the project. But I am getting each time more disapointed with the architect's community since it is not able to unite for a simple matter. Free and open source software should mean collaboration from everyone! Not just me working and you waiting for the job to be done. Especially considering that the greatests beneficiaries are the users of the software, a group from which I am NOT part.

Well, enought of complaining. Now to the news: during my talk at Campus Party, I promised attendees that I would release a new version of Archimedes. It will happen within the next 2 weeks because I will need to release some version for my graduation student team but I will delay it as much as I can in order to produce all the infra-structure I am working on. New versions that include features and improvements to users should only be available by the end of march. Let's hope I can keep that promise!

A week at Campus Party

Hello everyone,
It has now been two weeks since I started going to Campus Party and eight days since I stopped it. It was a very nice experience where I could meet a couple persons I wanted to.

I must admit I was a bit disapointed with the audience since I was expecting a bit more people interested in development activities such as Archimedes and Coding Dojos or an eXtreme Programming (XP) laboratory. I had something like 10 attendees from start to the end and another 10 passing by during Archimedes demonstration, the Coding Dojo had about 8 newcomers while the XP lab managed to reach amazing 4 attendees.

Besides hanging on with friends during the whole week and seeing computer geeks getting a lot of attention from the press (which I had some but threw away by being busy), Campus party was mostly a big lan party with tons of file sharing, game play and robots wandering around hiting people or waking them up with music.
I think I earned three good experiences with the event:
  1. Learned to disassemble executable code and debug it with gdb (this will make a post later when I achieve my goal with it).
  2. Worked on Archimedes and got some feedback from users about wether or not it is decent. While people told me it was great, nobody (except one person maybe, as far as I know) really started to use it.
  3. Met Akita that suggested that we produced a couple of screencasts about Seaside. I though about it and since I am the teaching assistant for the Object Oriented Programming (OOP) course and we are going to work with it, I will probably do it. I will post them here when it's done.
Finally I could meet with people from 4Linux again which is always fun, especially when Maddog is also around. So that was basically Campus Party for me. As far as I am concerned, it is an interesting event but more focused to fun and meetings than serious work or talks.

Anyway, next posts will cover my promises about Archimedes, news about the courses in São Carlos, my next works on OOP for graduation students and posts to session in Agile 2008. See you in a bit.

Saturday, February 2, 2008

Teaching agile methods: a nice experience

In the last couple of weeks I was envolve in two courses related to Agile methods. The first one, more theoretical counted with 9 talks:
  1. an Introduction to Agile Methods (talking almost nothing about XP)
  2. an Introduction to eXtreme Programming (XP)
  3. Refactoring explained with examples
  4. Tests: unit, acceptance, interface, integration and everything else possible
  5. Planning agile projects
  6. Test Driven Development: a practical approach
  7. Tracking agile projects
  8. Short introduction to Scrum
  9. Short introduction to Lean
All the slides are available at http://agilcoop.incubadora.fapesp.br/portal/slides/curso-de-verao-2008 in portuguese only. I've been part of 3 of then (2, 5 and 7) and it has been a very good experience. It is amazing how people don't really care about understanding the depth of agile methods. They mostly want to hear that it works and that people actually do it for real. Other than that, I was quite happy with the results since I was evaluated pretty well among the talkers and the experience was good.

The last week was the practical course: eXtreme Programming Laboratory. We had 4 teams of 6 students each plus one coach for each. The project was a Java web system built with Java Server Faces (JSF) and the goal was to generate a site to a pizza delivery store cutely called AgilPizza. We had a small bootstrap ready with a static page, a dynamic listing page and a form one each of those with JUnit tests and some Selenium testing.
This experience was much more exhausting since those were full 4 hours teaching days with all sorts of codeaches one might have with a project. I am sad to think that my team probably didn't enjoyed and learned as much as possible during the course. Time restrictions, technical issues and the fact that I was the only one able to solve network problems took a lot of my energies and quality.
One thing that I can assure is that Java web projects are not the best system to work on. I am still searching for a system that has a very flat learning curve on a language that most people can understand and use. Maybe some more dynamic languages such as python and ruby would be good but people have a hard time learning new syntax so I might just take a deeper look into Groovy as an option.
Never the less, it was a very enriching experience and I am pretty sure next time (which will happen in 2 weeks) will flow a bit better even using the same project and the same coaches. I will post later on.