Category: Technique

Don’t Just Ask Questions, Explore Possibilities

Should the Product Owner have all the answers to business and functional questions that arise during a sprint? If she doesn’t, should the business stakeholders have all those answers? If not, what about the end users of the software? Similar questions apply on the technical side. Should the software developers be able to answer any […]

To Be More Agile, Reduce the Abstractions

Here’s a scenario…your organization decides to implement an agile approach to software development. It could be Scrum, Kanban, Lean, XP, etc. — doesn’t matter. The basics are implemented — small teams, product owners, stories, backlogs, daily meetings, retrospectives, etc. These are all good steps to take but they don’t magically make an organization agile. True […]

Themes Offer More Value Than You Think

I’m sure you’ve heard that when doing agile development, your team should start with themes (high-level objectives) and develop epics (high-level stories) that support the themes. The epics go into the product backlog. Later on, the epics will be split into small stories and then tasks suitable for implementation. Just as epics can be broken […]

A Tale of a Rigid PMO and How We Prevailed

Never under-estimate the ability of people to find ways around the waterfall project, command-and-control structure. Here’s a real, personal story. We’re working on a project to make several upgrades to a large database. It’s about a two-month effort. The PMO (Project Management Office) forces us to follow a rigid waterfall process despite my complaints and […]

Small Project Improvements May Not Be Enough

Sometimes you have make major changes, even in the middle of a project. This post titled “How we do a retrospective” at Scrum Breakfast got me to thinking. I’m a big fan of project retrospectives or post-mortems. The general principle is to have the team identify areas that need improvement, select a very small number […]

XP’s Pair Programming Is Harder Than It looks

The agile development practice of “pair programming” endorsed by advocates of eXtreme Programming (XP) is controversial. On the surface, it seems that having two programmers work side-by-side sharing a keyboard will cut productivity in half. (It surely will if you take this to the limit and stuff two programmers in every cubicle. But at least […]

7 New Ideas for Breaking Down User Stories

There are many books and articles about creating user stories when using an agile development approach like Scrum, XP or Kanban. The standard techniques focus on technical content and process flows when dividing high-level stories into smaller and smaller chunks. This post approaches the topic from a different perspective — that of the business. I […]

A Waterfall Wrapper Can Help with Agile Adoption

How much process is enough? Ask that question of ten corporate managers and you’ll get ten different answers. That’s one of the reasons why converting from waterfall software development to any agile approach is so difficult. Waterfall development is a command-and-control process filled with checks, balances, phases and gates. It feels right to many managers […]

Testing Survival Means Knowing What to Test

Does every feature and function in the software need to be 100% tested and approved? I don’t think so. Firstly, let’s split testing into two major domains: Verification: Does the software do what the specifications and the developers intended it to do? Validation: Does the software do what the business wants and needs it to […]

Make It Simple and Fast Then Refactor for Better Software

Refactoring is a controversial topic within agile software development. There is no clear and simple definition of “refactor”. Martin Fowler wrote an entire book of over 400 pages on the subject called “Refactoring: Improving the Design of Existing Code”. You can find it on Amazon. The generally accepted definition of refactoring goes something like this: […]

Product Owner By Proxy

Sounds like a legal loophole but it’s a valid agile approach. The business stakeholders won’t assign a Product Owner to your agile development project. Now what? Can you implement Scrum, XP or Kanban without a Product Owner (PO)? This is a common occurrence and there are insidious variations. At times, a PO is assigned but […]

Good Team Communication Takes a Lot of Work

No software development approach is perfect. Consider the use of daily stand-up meetings. These are popular when using Scrum, XP, Kanban, or almost any agile approach.  A quick daily meeting can improve team communication and keep everyone in sync. But… The team members need to communicate throughout the day. There is often a tendency to […]

Agile Techniques Work in System Maintenance

I know a group of database administrators that pretty regularly messes things up. They perform system upgrades, new software installs, server migrations, etc. and often get them wrong. For example: Work takes much longer than anticipated. Software applications are impacted that they never expected. Things go wrong that they never considered. To make matters worse, […]

Software Testing Is About Risk Assessment

I have an unconventional view of software testing. Let me explain. Most people believe that the primary purpose of software testing is to identify defects. The underlying development methodology is largely irrelevant — waterfall, Scrum, XP, Kanban, etc. They all rely on software testing to verify that the software is well-behaved and to validate that […]

Focus on Core Agile Principles, Not Little Stuff

Here’s a suggestion. One of the best practices for Agile development teams is to conduct regular retrospectives. The goal is continuous improvement by drawing attention to team activities that could be done better. What if you did the opposite? Focus on the core strengths of Agile development instead. Here is an excerpt from the “What […]

Research Is Not the Same as Software Design

Does agile development suffer from lack of architecture and design? Are agile solutions inferior to those developed using non-agile approaches? Twenty years ago the answer would have been ‘yes’. Twenty years ago the software profession was less mature than it is today. Software engineering lacked standardization back then. Patterns Rule Today, we have patterns — […]