Refactoring – Prepare, Improve, and Clean

Posted January 8, 2016 by Bryan Beecham in Learning, Refactoring, Software Design, Test Driven Development

Refactoring is at the heart of the way we improve code. We make changes to the code for the purpose of making it easier to understand and easier to modify while maintaining the same behaviour.
Read more

No comments


Modern Agile

Posted November 3, 2015 by Joshua Kerievsky in Agile Transition, Anzen, Anzeneering, Culture, Estimates, Extreme Programming, Kanban, Lean Startup, Mob Programming, Refactoring, Software Design, Tech Safety, Test Driven Development

Have you ever seen someone using an older laptop and just felt bad for them? That’s how I feel when I see most people practicing agile these days. We’ve advanced so far beyond where agile was in the mid 1990s, yet so many teams practice agile like it’s 1999! Meanwhile, agile/lean pioneers and practitioners have […]
Read more

46 comments


Hazardous Code Death Spiral (and a Cure)

Posted November 2, 2015 by Bill Wake in Refactoring

Hazardous code begets even more hazardous code—eventually.
Read more

No comments


Multiple Asserts Are OK

Posted September 29, 2015 by Bill Wake in Software Design, Test Driven Development

Some people suggest we should restrict ourselves to a single assertion per test. Are multiple asserts in a test ever OK?
Read more

2 comments


Over-Starting and Under-Finishing

Posted August 18, 2015 by Tim Ottinger in Agile Transition, Anzen, Anzeneering

Here is a story board to consider. Is it healthy? Is it being well-operated? New scrum practitioners may say that it looks great if that’s the first day of the sprint, but indicates serious problems if it looks like this on the last day or two.
Read more

3 comments


Evolutionary Design

Posted August 12, 2015 by Joshua Kerievsky in Anzeneering, Learning, Software Design

What is agile’s most valuable practice? It’s called Evolutionary Design. No other practice does a better job of managing risks in software development. Evolutionary Design influences how we organize people and teams, plan what to build, collaborate, integrate, develop and release. So why aren’t more people using it? Perhaps they don’t understand Evolutionary Design and […]
Read more

10 comments


Stop Per-Person Swimlanes

Posted June 19, 2015 by Tim Ottinger in Learning

Kanban boards (AKA “story boards”) are used by most Scrum, XP, and Kanban teams. They are a kind of Big Visible Chart used to visualize the work of the team in a straightforward way. As useful and simple as they are, in practice many are set up in ways that discourage teamwork and collaboration, ironically […]
Read more

4 comments


5 Lessons for Learning from Piano Lessons

Posted June 11, 2015 by Bill Wake in Learning

I’ve returned to piano lessons after a 30-year gap, and I’m struck by the challenges of learning, whether for fun or work.
Read more

No comments


Estimation and Trust

Posted May 29, 2015 by Ashley Johnson in Learning

Then I ask, “Do you trust your developers’ estimates?” They always answer no, not really.
Read more

2 comments


Metrics Mislead!

Posted May 14, 2015 by Bill Wake in Anzeneering, Coaching

Metrics mislead! In complex domains like software development, metrics can’t capture everything important. Setting goals for metrics can make things worse.
Read more

4 comments