I participated in consultancy projects a few years ago, but they were the typical ones. We would visit a company for a few hours over several days, they gave us the information they thought was useful for us, we asked questions and more details and then we created a plan to help them by:
Soon, I noticed that this approach was only partially useful. When I re-joined a company that I had helped previously, I realised that we hadn’t understood their real problems. When you are inside a company you “feel” its problems, you really know the reasons behind those problems and you have a very different perspective to help you understand possible solutions.
I joined Codurance a few months ago, a very different consultancy company. After a period of apprenticeship, absorbing the principles, values and practices from Codurance, I started working as an embedded software craftswoman. That is to say I’m a member of one of the teams at a client who wanted to improve the quality of the software that they produce.
It has been a rewarding experience, because I have the opportunity to see the improvements in the team, "living" with them, while I continue to be a member of an awesome group of people that gives meaning to Codurance, who are always available to help, to share, and to learn with me.
I call it “consultancy from within” and it changes the negative meaning that “consultancy” usually has in Spain.
In the client company, I work as a member of the client team, but with a special focus on mentoring and transmitting knowledge and a different way of doing.
Here you can find some of the things I’m doing in my new team, beyond well-known practices such as pair-programming and code-reviews.
We have a Lunch & Learn session every week for two hours: lunch hour plus one hour from working time. We usually try different formats:
This week I've tested another format. I called it Hack Lunch:
Next time when we practice this format, we will take our own subjects of interest to the session.
I took the opportunity to review concepts of Git during a Lunch & Learn session. All the members of the team used Git, but sometimes they had doubts and I wanted to reinforce the knowledge. At the end of the session, they felt that they had learnt a lot and they wanted to continue practising. “What do you think if I prepare small challenges to practice on your own and we share the results in two weeks?”. They agreed.
A few days before, Kilian Jornet scaled Mount Everest and I think the idea of challenge came from it.
I prepared a challenge to each one with the following goals:
It was a great experience and we’ve had more challenges since then about other subjects. Now, each time we find an interesting subject and we want to continue practising, we prepare challenges.
We have two weeks to solve challenges and then we have a final session to share results. I think it's a good way to motivate them and to solidify the knowledge:
I like to make things funny and I chose that name to represent an informal and short training session to teach small things to the full team, starting with the sense of smell. It’s useful to emphasize the comments that we make during code reviews.
Finally, I would like to thank my new team for the warm welcome. They are very good people and it’s been a pleasant and fruitful experience for me. Thank you!
Software is our passion.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.