| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Promoting an Atmosphere of Refactoring

Page history last edited by Tom Besser 13 years, 11 months ago

Background example: A web forms app that compiles into a single 4MB DLL and 80% of all code is in code-behind event handlers.

 

As leaders and change agents, how do we promote an environment where everyone on a team is an active participant in refactoring?

 

[Aside: I think between the "Why is this taking so long?" and "Apprenticeship" discussions, all of the wind got taken out of sails for this topic... that and there was something else going on about Movies as a Metaphor that seemed to draw away many of the opinionated attendees! :) I'm really interested in how this universal challenge has been met and overcome in your environment, so even if you didn't attend this session, please feel free to update this page.]

 

Inhibitors

Siloed development

Egos

"Turn or Burn" preaching

"It's the way we've always done things."

 

Solutions seem to be implemented when the pain reaches a certain threshhold within a team... and some teams have high tolerances for pain! What techniques can be used to implement change before pain?

 

Solutions

Pair Programming

Try a new framework on new projects to level the playing field/remove preconceptions

Testing is critical prior to refactoring (NBuilder)

Host a team Dojo/Brown Bags

Host team book reviews

Limit the scope of refactoring. Small improvements will add up over time. As will small worsenings, by the way.

Get into the habit of refactoring often.

Plan for some targeted refactoring before working on a new feature to pave the way for adding that new feature more easily

Be clear about when you are refactoring and when you are adding new functionality. Mixing the 2 activities is a recipe for confusion and pain

 

Resources

Fearless Change: Patterns for Introducing New Ideas - I know we didn't discuss this directly in the session, however in hindsight this would have been perfect fodder for the theme.  This book presents a series of patterns for assessing the work environment, and recommended soft skills that can be applied to promote change.  One way to think of it is like design patterns, but for personal interactions instead of code.

Comments (0)

You don't have permission to comment on this page.