Tag Archives: Ale

Talk: Easier to change CODE

Talk: Easier to change CODE

This is a talk from I T.A.K.E. Unconference 2016, Bucharest.

It is a hands-on talk, where I refactor some code live with the help of the audience.

Techniques

During this talk you will see techniques that are useful for tackling legacy code issues. You will be able to see how, with the help of the audience, the code can be improved to become easier to change. We want to change existing code in just a few situations: solve bug, add feature, improve the testability of the system. Remember that when you change existing code you understand what is the reason to do this.

Before changing the code is important to have some tests as a safety net. For that I am using Characterization Tests. Only after having these characterization tests, we can start to refactor the code, but with care in order not to introduce defects. Even though we have a safety net, it is not enough and bugs might appear. So to make sure we have more trust in tests the first refactoring steps are made with the purpose to be able to add unit tests.

Adding unit tests gives me better quality feedback, because if I introduce a defect I will know better what I have done wrong. A characterization test is too big, and I might need to dig a while to find the reason.

Changing legacy code needs to be done with care, in small steps and try to always remain with the tests on green. The longer I stay on red, the riskier is that I introduce defects and I lose my refactoring direction.

Easier to change CODE means the total opposite of the Legacy Code is Fear concept. I have my toolbox with legacy code techniques. I know how to use them,  and so I am able to make the code to be easier to change.

Video

 

Talk: Java User Group Łódź – Legacy Code is Fear

Talk: Legacy Code is Fear (Łódź, Poland)

Legacy code is fear because we fear the unknown. Learn what you need to learn in order to be less scared about legacy code during this talk.

This is a talk from last year, before Global Day of Coderetreat Lodz.

You are a programmer. Someone from the company comes with an idea to add a feature and they are sure this new feature is very easy to add. And it should be. But the code is old. The code is a mess. Nobody in the firm knows any more that part of the system. You need to change that ugly piece of code. You are afraid that you might introduce defects. Legacy code is fear.

This talk is about how our unknowns make us feel frightened. We need to get passed that and learn techniques, practice them, understand how and when to use them. Only with more knowledge we will be able to tackle legacy code. But how do we acquire knowledge? We need to read, try, experiment, fail, and many more with some learning code base. Then we need do the same with production code. My advice is to never try these legacy code techniques on your legacy code base at work. You will be disappointed in the beginning because they will be difficult to apply. That is why it is important to start small, with an easier to understand code base in order to learn. And only after you can refactor that simpler code base, it is the time to start using the legacy code techniques on the bigger code base from work.

 

Here are the slides for the talk:

Talk: Agile Lean Europe 2014 – Being a Community Bumble-Bee

During the last five years or so I have been travelling Europe and meeting a lot of people in local communities of practice. My main purpose is to teach the local groups and to learn from them. My purpose was and is to pollinate ideas from one community to the other. If more of us do this, our knowledge will grow richer and faster.

The main visible activity of the Agile Lean Europe community is the ALE Unconference that moves each year from city to city. But there are a lot of less visible activities, people meet each other and learn across the country or language borders.

During this talk I want to share my learnings with you about local communities and how rich those experiences can be.

 

Here are the slides for Being a Community Bumble-Bee

Acknowledgements

Many thanks to Thomas Sundberg for proofreading this post.

Software Lost Video: Rachel Davies – Agile Scaling at ALE11 in Berlin

This video is the opening keynote from Agile Lean Europe (ALE) Unconference in 2011, Berlin.

Rachel Davies gives an idea on how Agile works at the moment, and how we cannot really do agile scaling in big enterprises.

 

Read More →

Talk: Agile Lean Europe 2014 – Legacy Code is Fear

Legacy code is fear because we fear the unknown. Learn what you need to learn in order to be less scared about legacy code during this talk.

You are a programmer. Someone from the company comes with an idea to add a feature and they are sure this new feature is very easy to add. And it should be. But the code is old. The code is a mess. Nobody in the firm knows any more that part of the system. You need to change that ugly piece of code. You are afraid that you might introduce defects. Legacy code is fear.

 

Here are the slides for the talk Legacy Code is Fear:

Open Agile Cluj, the 6th edition

Open Agile, the 6th edition in Cluj

17 November 2012. It was a great day for the Romanian developer community and for all passionate people in and around Cluj. This was the day when Agile Works and Mosaic Works organized the 6th edition of the OpenAgile conference. As always, its purpose was to popularize both gold old concepts and brand new ideas in Agile, Lean and Software Craftsmanship. Additionally, we often talk about Gamestorming, Change Management, Psychology and other interesting fields. Like the other editions, the event was balanced between information and practitioners’ experiences while mixing organizational and technical topics. OpenAgile was thought from the beginning as a non-profit event that helps knowledge exchange between the members of the Agile Works community. And what better way of sharing ideas and experiences than having three Open Space time slots!

I have to remark the great job done by my colleagues Alexandra and Nicoleta to remotely organize the event. For example, they did not have the chance to see the venue in advance. This works because of the trusted network of conference partners and suppliers that help organizing everything smoothly. But what a work that is! As an attendee, you often don’t see all the aspects of a conference (especially when it all goes well), so here’s a short list: the speakers know where to arrive and how to get to the venue, the volunteers are doing their part of the work, the sponsors are happy with the packages offered, the venue is set-up right, there’s enough coffee and thousands others. There are always small complaints and unexpected events, sometimes conflicting: it’s too warm *and* too cold, the coffee machine broke down etc. Everything was very well in the end, so I’d like to thank Alexandra and Nicoleta for the awesome job they did making it look easy!

Read More →

AgileWorks Remote Open Space – First experience

AgileWorks Remote Open Space

The idea of having a Remote Open space is simple: take 30 minutes to discuss subjects of interest to you with a group of experienced people in that area of interest. You can find the description of the idea here.

I want to try doing a couple of Remote Open Space sessions to see if we will have enough attendees to start something that is interesting, useful, and easy to organize. You just need ideas, a computer with at least a microphone and 30 minutes of your time. I saw that the Romanian AgileWorks communities are not that well connected with each other. In all the communities interesting things are happening, but they do not share their experiences with each other. So the main purpose of the AgileWorks Remote Open Space is to connect online the AgileWorks communities in Bucharest, Timisoara, Cluj, Iasi, Sibiu, and Tirgu Mures.

Read More →