Managing Programmer Productivity

Posted December 11, 2017 by Tim Ottinger in Amplify, Culture, Learning, Mob Programming, Tech Safety

While most organizations have abandoned the practice of counting lines of code per programmer per month, the biases and flaws behind that practice are with us still. They influence our practices and policies in subtle ways. There is a persistent myth that programming is mostly typing, that programmers know exactly what to type in to […]
Read more

No comments


Make Your Testing Affordable

Posted November 28, 2017 by Tim Ottinger in Learning

It’s great to have reliable tests in your pipeline to avoid escaped defects and to shorten the feedback loop for your programmers. Sometimes the build-and-test processes becomes a productivity-limiting problem. What do you do when your test suite takes too long to run?
Read more

No comments


Reasons for Extracting Methods

Posted October 12, 2017 by Tim Ottinger in Extreme Programming, Refactoring, Software Design

When we are refactoring, and especially when we are teaching refactoring, our partners are surprised to see us extracting methods which are only (currently) called once. There is often an assumption that the only reason for extracting a method is so that you can call it from multiple places in the code base.< /p> While […]
Read more

No comments


Fake and Mock Objects: The Other Side of the Line

Posted October 4, 2017 by Bill Wake in Test Driven Development

When testing tricky collaborators, we may create fake or mock objects to make life easier. In effect, we draw a line: on one side, real objects participate; on the other, it’s fakes and/or mocks. Consequences of the Line A common strategy for testing with mocks: Test standalone objects directly Use fakes and mocks to test […]
Read more

No comments


Make People Awesome through Real Work

Posted April 5, 2017 by Tim Ottinger in Learning

Typical training workshops are informative and can be a lot of fun. Teams get away from their normal work for a week or so, try out new technologies and techniques on prefab examples, give the instructor a quick rating, and then go home to their normal jobs. Is this the time for traditional classroom training?
Read more

2 comments


Transcend the “Feature Factory” Mindset Using Modern Agile and OKR

Posted March 18, 2017 by alex in Agile Transition, Culture, Estimates, Kanban, Lean Startup, Learning, Modern Agile, Trust

By Alexandre Freire Kawakami and Felipe Castro Agile adoption in most companies focuses on software delivery. Very few achieve business agility.
Read more

No comments


Cycles of Mistrust

Posted January 24, 2017 by Joshua Kerievsky in Anzen, Anzeneering, Learning, Modern Agile

Have you ever felt that someone’s behavior was hostile or aggressive towards you, formed a negative opinion about them and then taken protective action(s) against them? If so, you’ve likely participated in a Cycle of Mistrust. In their must-read book, Driving Fear Out of the Workplace: Creating the High-Trust, High-Performance Organization, Kathleen Ryan and Daniel […]
Read more

3 comments


What Should We Measure?

Posted November 17, 2016 by Tim Ottinger in Learning

The Agile world is awash in metrics and measures, but most provide little benefit to teams. What if we could change our set of measurements to support safer software development, continuous improvement, happiness of our project community, and careful craftsmanship? In short, what are some Modern Agile metrics?
Read more

1 comment


Evolution, Cupcakes, and Skeletons: Changing Design

Posted November 15, 2016 by Bill Wake in Learning

What’s the best way to deliver and grow systems? There are several possible approaches. One approach is pure waterfall: “plan the work and work the plan”, phase by phase, with a big bang delivery at the end. Measure progress by “(estimated) % complete”. A second approach is used by many Scrum teams: develop a Release […]
Read more

No comments


Harmony and Identity: Generalizing Code

Posted July 21, 2016 by Bill Wake in Refactoring

Do you find yourself creating code for similar methods or classes, and feel like it shouldn’t be so hard? You may be able to Harmonize Code and Introduce Identity Elements to make methods and classes melt away.
Read more

4 comments