Wednesday, September 19, 2012

Enterprise Team Spike

When faced with new technology or other not well understood programming problems we like to implement a spike. What is a spike? I like the definition from  

Create spike solutions to figure out answers to tough technical or design problems. A spike solution is a very simple program to explore potential solutions. Build the spike to only address the problem under examination and ignore all other concerns. Most spikes are not good enough to keep, so expect to throw it away. The goal is reducing the risk of a technical problem or increase the reliability of a user story's estimate.

Well, this spike is of technical nature and does an excellent job to mitigate technical risk. However, I am suggestion another type of spike:

Enterprise Team Spike

What do I mean with Enterprise Team Spike? Before answering this, let’s look at why a spike is a good thing. In my opinion it sheds light on dependencies, weak spots and all other kind of problems. During this discovery process it creates a possible path and provides alternatives. It mostly generates knowledge of how to solve the problem in the given context. So, it is all about generating information and to extract knowledge. How could information and knowledge help us in an enterprise team spike? In Scrum we favor cross-functional teams featuring all skills needed to deliver a done, high quality product increment at the end of the Sprint. Sounds good and works even better when we really do have a cross-functional team. The reality is that too often we have external dependencies to other systems. In large enterprises this could be an ERP, CMS or any other back end system. Typically, those departments we are depending on aren’t working in iterations and increments but with one or two releases a year in a strict serial defined process. In short we cannot be really be done at the end of the Sprint unless it coincides with a release of such a department (and their deliverable actually works out of the  box).
An enterprise team spike is not of technical nature but addresses the team's skill composition. In an enterprise team spike we identify all the skills we need from the very top to the very bottom and aggregate these into our development team. I am sure that once you start to pull this thread all the way out you will discover far more dependencies and skills than you actually thought possible. Once you have this knowledge we can start the HR game in order to get the right people into our team. In my experience this is the biggest problem as we fight existing company structures and believe systems, and worse, attack long established empires within the corporate empire.
It will be a long battle, but once you have the enterprise team spike in place you have a proof of concept that shows how to generate value quickly and reliably. 

In contrast to the technical spike, this spike is absolutely of production quality and must not be thrown away! 

Tuesday, September 18, 2012

Agile retrospective activities presentation given at AgileBrazil 2012

Here are the slides I used on the Agile Retrospective Activities workshop on the Agile Brazil 2012 conference.

I will be adding all the activities on this deck (and many more) to the following site:

Please note that these slides were not intended for sharing or reading. The site should be a much better place for looking for agile retrospective activities ideas.

Sunday, September 16, 2012

Agile Brazil 2012

Another great Agile Brazil! This year, the main Agile conference on South America happened in São Paulo, from September 4th-7 th.

Agile Brazil is the most relevant conference regarding Agile Development Methodologies in Brazil and it is driven by the Agile community leaders from all regions of the country, sharing the same goal: foster and spread the Agile culture.

Aiming to be the largest community driven conference in the whole Southern Hemisphere, the organizers put together relevant leading companies and experienced Agile professionals in the Brazilian market, plus some of the most skilled agile practitioners. Participants had the opportunity of sharing and deepening their knowledge through courses, lectures, workshops, case studies, debates, and much more!

My special thanks to Thoughtworks for organizing and fostering so many co-workers to get together in such great environment! These were the TWers presenting at the conference this year: Aaron Erickson, Camilo Ribeiro, Carlos Palhares, Danilo Sato, EduardoFayh,  Fernando Freire, Fernando Kakimoto, Fotina K., Gabriel Notari, Guilherme Prestes, Guilherme Motta, Jenny Wong, Hugo Corbucci, Ivayr Netto, Juliana Dornelles, Julio Maia, Mozair Carmo, Neal Ford, Paulo Caroli, and Sunil Mundra.

Thursday, September 6, 2012

Multitasking vs a 100% Commitment

I recorded a small webcast to visualize the difference between multitasking and a 100% commitment and how this can lead to functional releases - essentially to being agile!

effective agile.

Monday, September 3, 2012

Firefox OS hackday at Thoughtworks Porto Alegre

Last Saturday Thoughtworks Porto Alegre hosted the awesome Firefox OS device hack day!
The day ended with 6 demos and 10 new technical documents about apps published in Portuguese

Here is a really cool app created during the hackday:
Here are a few photos from the day:

 Here is the invitation for hte event:

"Join us in Porto Alegre for a great day of open web hacking at ThoughtWorks. Come build HTML5 web apps for the Firefox OS device or help localize web documentation for MDN (Mozilla Developer Network) at a day-long event on Saturday, September 1, starting at 9:30 am.

Meet web developers working on Firefox OS and developer tools, Open docs experts and local community members. We'll open with a short introduction Firefox OS, the Apps platform and the latest tools for apps developers.

Most of the day will be hands-on. We'll show you how to start building apps for Firefox OS and the Open Web, then hackers will hack and writers will write. We hope you'll share your projects at the end of the day. Food will be served.

BrazilJS attendees are invited to stay in Porto Alegre an extra day to attend. But you don't have to be at BrazilJS to register. Just sign up here so we'll plenty of refreshments: light breakfast, lunch and snacks - free for everyone. 


  • 09:30 AM: Breakfast & Coffee
  • 10:00 AM: Welcome, Brendan Eich
  • 10:15-10:45 AM: Introduction to Firefox OS & Apps, Fabio Magnoni
  • 10:45 - 11:15 AM : Apps are boring, games are fun, Matthew MacPherson
  • 11:15 - 11:45 AM : Intro to MDN & localization, Janet Swisher
  • 11:45- 12:15 PM: W3C Decoders, Yasodara Cordova & Reinaldo Ferraz
  • Let the hacking begin!
  • 13:30 PM Lunch
  • 16:00 PM: Snacking & hacking | Coffee break
  • 17:30 PM: W3C Decoders winners' demo & project demos (5 min each)"