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 […]
Category: Technique
Documents Should Encourage Team Collaboration Not Kill It
Much of our communication is in writing. We write plans, requirements, specifications, reports, code, tests, etc. For a major IT project, the volume of paper can be enormous, but is it valuable? In today’s fast-paced, high-stress, businesses, no one has the time to read volumes of information no matter how nicely formatted and presented. Yet, […]
Bad Decisions Are Costly, Early Bad Decisions Are More Costly
Have you ever made a bad decision? The correct answer is “No, I’ve made many bad decisions.” [Sorry, no other response is acceptable.] Project teams make many bad decisions. Bigger teams and longer projects result in many more bad decisions along the way. Why does this happen? The information being reviewed is wrong and no […]
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 […]
There Is No Agile-In-A-Bottle Approach to Software Development
I encounter it all the time — the one-size-fits-all approach to developing software. The underlying methodology can be anything from waterfall to Scrum, Lean, Kanban, XP, etc. People often fall into the “that’s the way we have to do it” trap. These one-size-fits-all (OSFA) approaches may arise when a team is successful and wants to […]
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 […]
That Stockpile of Things To Do Will Come In Handy
To do Scrum well, does everyone on the software development team have to 100% busy for every sprint? Think about it. A ‘yes’ answer might mean everyone on the team has to have assigned tasks that keep them fully occupied for the duration of each sprint. That’s a lot harder to do than it looks. […]
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 — […]