Willem van den Ende
I've been interested in Refactoring and what was then called 'light weight methods' since around 1996, when I got the 'interesting' task to remove some bugs from a 'newly' developed piece of code. After removing 90% of the code, it was still doing the same thing, minus some of the defects. That got me thinking 'there must be a better way'. I'm still thinking that... Some things I learnt (or re-learnt) since xp days 2009:
- Changing your organisation is a lot more difficult if you're not specifically hired to do so (a luxury easy forgotten when you get hired to bring change, e.g. as a coach, consultant or trainer) (I decided to get hired as 'just a programmer' on a project, since I felt I was losing touch). ('let's have some post-its on the wall to ward of interruptions' works a lot better in this case than saying 'I want to introduce Kanban' ;) ).
- Contrary to what many xp old hands believe, only introducing non-technical agile practices (e.g. just scrum or kanban) can mean a big improvement for everyone involved. (Even though I feel somewhat like a fish out of water in that context ;)
- There is no best practice, and admitting to what you don't know can lead to very fruitful working relationships (doing a workshop with Marketing/Product managers on high level user story mapping and what turned out to be use cases was enlightening, as was doing a 'scrap heap challenge' with this group.
- Paying attention to the whole value stream (end-to-end) is not only valuable, but fascinating as well :) (marketing, sales, devops, manufacturing, human resources, corporate strategy).
- Limiting work in process (e.g. 'three story flow') is a great way to foster communication and improve atmosphere in a distributed team, as is pair programming and videoconferencing during standup meetings.
- Creating and maintaining a process that works requires attention to detail and perseverance from more than one person.
I'm too much in the middle of most of this to submit an experience report at the moment. I might be able to come up with something between now and XP Days.