Two Big Things

February 22, 2017 0 comments

I’d like to say that there are two big things we must achieve in software development. We must build the right thing and we must build the thing right. Building the right thing starts with what the customer wants so they can gain value from our work. The way we build the right thing for […]

CONTINUE READING THIS POST →

Success to Standish is Failure in Agile

February 15, 2017 0 comments

The Standish Group’s CHAOS Report is the largest and longest running research study in the software industry. Standish looks at approximately 34,000 software projects in a range of areas. It includes shrink-wrap applications, operating systems, custom apps, etc. They picked a range of diverse projects to look at. Every ten years the study drops about […]

CONTINUE READING THIS POST →

Propagate Knowledge

February 8, 2017 0 comments

There is a huge amount of professional wisdom in software development. These are things that we have never bothered to write down but are standards nonetheless. This general knowledge is communicated through individual interactions as well as the code we write, so it’s really important that we have high quality interactions within the team and […]

CONTINUE READING THIS POST →

Developer on Fire Podcast

February 6, 2017 2 comments
Thumbnail image for Developer on Fire Podcast

I had a very interesting conversation with Dave Rael (@raelyard) on the #DeveloperOnFire #Podcast about what excites me as a developer. Listen to it here: http://developeronfire.com/podcast/episode-206-david-bernstein-beyond-legacy-code

CONTINUE READING THIS POST →

Swarm on Showstoppers

February 1, 2017 0 comments

Swarming is a practice where the entire team works together temporarily to solve a problem. Swarming is most useful for certain kinds of problems, problems that impact the entire team. If no one can do anything until the problem is resolved then it may make sense, and improve morale, if everyone on the team has […]

CONTINUE READING THIS POST →

Podcast on The Agile Uprising

January 30, 2017 0 comments
Thumbnail image for Podcast on The Agile Uprising

I had a great conversation with Ryan Lockard (@AgilePHL) and James Gifford (@scrummando) on the @AgileUprising podcast. Listen here: https://coalition.agileuprising.com/t/podcast-released-beyond-legacy-code-with-david-bernstein/627

CONTINUE READING THIS POST →

Spike on Unknowns

January 25, 2017 0 comments

As an Agile developer, I often start projects without a clear sense of exactly what I’m building. This used to be very difficult for me. I wanted to start with a complete specification for what I was to build, but today I know that it’s more efficient and effective to discover exactly what needs to […]

CONTINUE READING THIS POST →

Buddy Programming

January 18, 2017 0 comments

Sometimes the practices of Extreme Programming can be a bit too extreme when first introducing them to a team. This is especially true with pair programming. Of all the practices that I teach software developers, I get the most resistance from pair programming, Both developers and their managers are skeptical about pair programming, although each […]

CONTINUE READING THIS POST →

Strong-Style Pairing

January 11, 2017 0 comments

Pair programming is not about taking turns using the computer or being someone else’s typist. It’s about engaging two minds on the same problem so that a solution can be developed more quickly and with higher quality than if one person was working on it alone. The two roles in pair programming are referred to […]

CONTINUE READING THIS POST →

Ping-Pong Pairing

January 4, 2017 0 comments

Another pair programming configuration I like is called ping-pong pairing. In ping-pong pairing the driver writes a test for a behavior then asks the navigator to implement the behavior and make the test pass. Once completed, the keyboard is passed from driver to navigator and the new driver writes the next test for the new […]

CONTINUE READING THIS POST →

Pairing versus Mobbing

December 28, 2016 0 comments

I was talking to some friends at Agile 2016 about which they thought was more effective, pair programming done well or mob programming done well, but we ended up deciding that the jury is still out on this question, at least for the time being. In terms of learning and spreading knowledge across a team […]

CONTINUE READING THIS POST →

Time Box to Scope Box

December 21, 2016 0 comments

Both Extreme Programming (XP) and Scrum have the notion of time boxing. In XP, they call it iterations. In Scrum, they call it sprints. I am not a big fan of the term sprint because it connotes the idea of hurrying through. That’s not how I view iterative development. It is not a race but […]

CONTINUE READING THIS POST →

Time Boxes

December 14, 2016 0 comments

Time boxes help teams develop the discipline of building small pieces of valuable software. But time boxes are in some sense artificial. What if you finish early or late? Well, this is one of the uses for measuring velocity so we can schedule the right amount of work within an iteration. Iterations should be as […]

CONTINUE READING THIS POST →

Podcast on This Agile Life

December 12, 2016 0 comments
Thumbnail image for Podcast on This Agile Life

Check out my podcast with Amos King on This Agile Life where we talk about Agile adoption issues and why technical practices are essential: http://www.thisagilelife.com/123 Enjoy!

CONTINUE READING THIS POST →