Category: Technique

7 Steps to Bug-Free Software

No bugs! Sounds good! Is it feasible? Can agile software developers create software with no bugs? Image if they could. Think of all the time that would be saved testing, re-testing and testing some more. All that time spent repairing things that weren’t done correctly becomes time to spend on making the software better and […]

Don’t Get Stuck on a Definition of Done

What does it mean to be ‘done’? Many agile software development teams adopting Scrum, XP or Kanban struggle with their ‘definition of done’. They usually try to derive a set of measurable criteria that will enable them to verify that a work product is fully complete and ready to be deployed to the user community. […]

Agile Techniques Work in Crisis Management

It’s time for March Madness. For those of you not familiar with the phrase, March Madness refers to the collegiate basketball tournament resulting in the selection of a U.S. college basketball, national champion. For college basketball fans, this is the equivalent of a feeding frenzy. It reminds me of more than a few corporate feeding […]

Could Your Project Withstand an Earthquake?

The earthquakes and associated catastrophes in Japan highlight the important and often ignored area of project risk management. There are some things we can’t control. It’s not just natural disasters and events like terrorist attacks. What would you do if any of the following occurred during your project? Your project loses it’s top performer / […]

User Stories: Focus on the Problem Not the Solution

Much has been written about creating user stories. There is a good User Story introduction on WikiPedia and Mike Cohn has written a well-known book on the subject called User Stories Applied: For Agile Software Development. Despite all the literature, agile development teams often struggle with writing good stories. In this post, I’d like to […]

Time for the Daily Status…er…Scrum Meeting

The daily Scrum meeting is often referred to as a status meeting. Even the Wikipedia definition includes the phrase “…a project status meeting…”. I don’t know about you, but when I get invited to a “status meeting”, I cringe. They are usually mundane and boring. Many people bring a laptop, tablet or smartphone to status […]

Code Standards: An Overlooked Need

Do you have code standards for your software development teams? Most companies don’t. They go to great lengths to produce all kinds of document templates yet coders are allowed to do whatever they please. Odd. The reason document templates are widely used is simply to promote standardization. For example, when you pick up a project […]

Manager’s Guide to Agile Development

Get out of the way. The End. Explanation Most middle managers at large enterprises are conditioned to command and control. They are expected to know and understand all the major details of every project they own. They have to be consulted on every “major” decision. (Of course, the definition of what constitutes a “major” decision […]

Agile Projects Need Vision

Does your software project have a vision statement? It’s that document that defines a system and summarizes predicted benefits, risks, goals, scheduled milestones, stakeholders, etc. If your team doesn’t have a vision statement for the software under development, they lack a basic roadmap to guide them toward the end result. A good vision statement can […]

Agile Solutions Are About Benefits, Not Process

Agile software development and the Scrum process are based upon collaboration — creating a tight union between the technical and business teams. This appears to be a simple and obvious approach but it turns out to be one of the most difficult aspects of agile and Scrum development. Some agile/Scrum projects fail simply because the […]

Agile Development Teams Take on Debt

Technical debt is a hot topic among agilists. What is it? Does it really matter? Is it a problem? Should you be concerned about it? Let’s start with a definition of technical debt. It occurs when development teams cut corners to meet deadlines. Let’s be honest, we all take liberties to meet scheduled commitments. When […]

Don’t Skimp on Software QA; It’s Not Agile

There are two major schools of thought around quality assurance (QA) testing. The waterfall crowd appends QA to the development process while the agile crowd integrates QA into the process, sort of. The waterfall approach has an obvious problem. If defining and writing the code takes longer than planned (very likely) and the schedule is […]

There Must Be an Agile Way

How many times have you heard someone say, “There must be a better way.” I’ve heard it often enough but rarely does any real change follow. There is surely resistance to change but the problem runs deeper. A “better way” is too general — too ambiguous. It is not actionable. What if the statement was […]

Crisis Management Is Disruptive to Agile Teams

Crisis management is a tough job. The biggest problem isn’t solving the technical problem — given a little time, you surely can solve it. The biggest problem is disrupting priorities. It plays out like this: A crisis situation develops. Priorities change to get people focused on the crisis. Staff is moved around to get more […]

Plan Ahead and Be More Agile

Agile development teams often struggle with reaching the goal of having every sprint deliver a customer-ready build. Not every software feature fits into a short sprint. Should you abandon such a feature or revert to waterfall for implementing it? At times, unforeseen issues arise and a feature can’t be completed as planned within the sprint. […]

Retrospectives Make Agile Teams Better

Good agile teams rely on retrospectives to maintain their edge. Not-so-good agile teams often ignore retrospectives. (Come to think of it, the same is true of traditional software process teams.) I don’t know about you, but I find that intriguing. Retrospectives attempt to answer a few simple questions and use the answers to improve the […]