Alex is a leading thinker in the Lean/Agile arena. He began programming at an early age and after being frustrated using traditional software engineering methods with several companies, he immersed himself in the Agile manifesto. Alex co-founded AgilCoop
, a cooperative with the goal of spreading knowledge of Agile methodologies in Brazil and helped teach IME/USP’s “eXtreme Programming Laboratory
” as well as many other technical courses.
After obtaining his master’s degree, Alex founded Agilbits, a Brazilian company focused on helping clients like Apple Brasil
develop and evolve their methodologies to Agility, customizing ideas from all Agile flavors to specific contexts. He rolled out Agile practices for Freeddom
, helping them to become a leading global company. Alex also worked for Americanas.com
, The Ministry of Culture
in Brazil and Locaweb.com.br
, where he managed all of their SaaS offerings.
Q: What does your work involve?
Everything necessary to deliver quality software that solve our client's real world problems and teaching them to do the same!
From helping stakeholders discover what it is they should build, to creating a plan of how to build it, to the day-to-day technical activities of designing, building, testing and delivering it, all the while checking and refining your plan and your collaborative process.... and that's just for the time when we are helping our clients tune their own lean and agile groove!
When I'm developing Industrial Logic's own solutions like our eLearning system or our exercises I also get a chance to play with all the things I love to do: empathizing with our students to analyze what it is we need to do next to better engage them with the learning experience, huddling with our team to organize how we'll swarm around the most important thing we have to do for the day, remote-pairing to write tests and code and commit it so it's immediately delivered to our users, even doing some system administration for our infrastructure.
I'm also investing time outside my comfort zone with sales and marketing, trying to help companies in Latin America find out about Industrial Logic, understanding what they need to improve their software development practice and how we can help them be exponentially better.
Q: Could you tell us a little bit about yourself - your education, interests, past work experiences.
Sure. Starting at the start, I started programming while living in Portugal with my mom and brother while she got her PHD in Theoretical Physics. I was 9 and had the opportunity to have some Logo classes in school. I remember going to visit my mom at the university and she would put both me and my brother to play Tetris on some workstations... One day, because I was struggling with learning to multiply, she put me in front of a computer that would ask me math questions, if I got them right the computer would call me awesome, and if I got them wrong it would say "you are wrong dummy!" I was amazed at my Mom's power to make the computer do what she wanted! Been programming ever since.
I got into the Agile movement by being really frustrated in projects that I had worked at using traditional software engineering methods. I worked 2 years for a software house in Treviso, Italy that was building what could've been the first social network in the web, but focused on non professional soccer teams. It never saw the light of day. I went back to the University of São Paulo and helped teach our "eXtreme Programming Laboratory". I went on the work with companies on transitioning to agile methodologies, worked at Americanas.com (a big retail website), Apple Brasil, Mandic Internet (one of the first Internet service providers in Brasil), and recently Locaweb (Brasil's biggest Internet hosting providers) were I managed the SaaS team.
I've always loved teaching and pushing the boundaries of agile, so I was very happy at the opportunity to help Industrial Logic in Latin America.
Q: That is great. Tell us what appeals to you about coaching?
I love helping people, I love developing software, for me it's a natural thing to sit down with others and try to collaborate on improving how we do this. I always learn while coaching, doesn't matter if I'm pairing with a very junior programmer or an awesome guru, I'm amazed at how much we learn every day.
And I strongly believe that the only way to acquire experience is by actually doing something. I've seen many "cargo-cult" agile adoptions, it's very clear to me that having information on how to do something is not enough, the only way to turn that information into real knowledge is by doing it, and it helps doing it with someone that has had the experience of doing it before. I also like that as a coach my goal is to turn myself obsolete, this almost gives you superpowers you wouldn't have if you just worked as part of the organization transitioning.
Q: What is a typical day at work like?
When we're out teaching workshops it's intense but fun, I spend the whole day with teams focused on the workshop and normally do some review and preparation every night, or get some work done on whatever is going on in our systems... But even so I find enough time to have some good meals, know the places we visit and get some exercise.
When I'm in Brasil my day normally starts after I get back from walking my dog in the morning and have breakfast with my wife. I'm working at home so I read up on articles or e-mail and then try to find Sai and pair on something. We meet in my early morning but it's late night in Shanghai for him. Then I might work with Bill, Curtis or Tim, anyone that's in the East coast. I'll only be able to pair with Josh or Adam in California after lunch, that's normally the time we have a quick team huddle to understand what's going on with our top priorities and how to organize ourselves to get things done. Since their day is just starting sometimes I take a longer lunch break so I can work until later in the night and enjoy this pairing window a but longer, this is when I get a chance to go swimming or ride my bike to get some exercise.
I also spend time talking to clients and figuring out how Industrial Logic can better help them improve their software development practice.
Q: How has Lean changed our practice of Agile?
I have to confess it took me a while to pay attention to Lean. First time I heard about Lean Software development was back in XP Rio 2005 when the Poppendiecks came to Brasil. But I was too into eXtreme Programming and hadn't seen that the things I really valued in XP were there in the spirit of Lean.
I strongly oppose applying the "factory" metaphor to software development so I dismissed these ideas at the time because of the connection to the factory origins. It was a stupid rookie mistake. One of the practices I think is most effective for teams to improve were retrospectives, they are the realization of the Kaizen philosophy in Lean.
Today I can say that the thing that most helped me mature the way I see agile software development were the Lean values. I hardly recommend iterations and doing estimates anymore... it was through Lean that I was really able to connect to what I valued in agile: constantly improving how we deliver value to our customer.
It took me a while to understand that if I built quality software and put it in production in time but it wasn't what my client's clients really needed that I was not really doing my job. Lean helped me realize that you have to build what was really needed, not simply what was asked for.
Q: What do you do to relax?
Swim, read books and articles, surf, listen to music, cook, love my wife, walk with my dog, take care of my garden and my house, go out with friends, host parties, play games. Not a big fan of wasting time with TV, but have been known to compulsively consume series like Lost and Fringe. Artistically I like to engage in collaboration with other to investigate the creative every-day tatics of co-existence in spaces that try to integrate with the environment in a sustainable way.
Q: What does the future hold for you - any exciting plans, developments?
I'm an optimist, I expect an all out revolution. I want to help us get to a future where people's view of software change and they don't expect horrible interfaces, bugs and blue screens of death to be the norm of their experience. I think programming today is still a very "medieval" craft. Imagine the orders of magnitude in productive power that we gained from learning how to work with aluminum compared to medieval blacksmiths. I want to help bring on this kind of exponential improvement to software development production.
Q: Alex, it was great being able to speak with you and to learn so much about you and your work. I'm sure that all our readers appreciated your thoughts on software development. I wish you all the best for the future.
Thank you. If anyone wants to read what I blurb about agile, lean, software development in general, thirdworld politics and revolution I'm @freire_da_silva