Category: Technique

Slow Down and You’ll Reach Your Goal Sooner

I find it fascinating that many people complain about organizational behaviors, yet nothing changes. Want to be more agile? Change something. Let’s take meetings, for example. It seems that most people complain about meetings. Here are some of the most common complaints: There no clear purpose or objective is offered. No meeting agenda or timeline […]

Collaborate! Don’t Hide Behind Priorities.

Picture this — I’ll bet it’s happened to you more than once. Your boss, business stakeholder or customer approaches you and asks you to take on an important assignment. It’s not a major project but it’s not a quick or simple undertaking either. You already have more work in your queue than you can complete […]

Mindless Activities Will Kill Your Agile Approach

No software development team can be agile without a strong business foundation that allows rapid progress. Implement Scrum, Kanban, XP, Lean or whatever development approach you like. They will all fail unless the business has an agile mindset. Developers should be paid to think and add value not to perform mindless activities. Let computers perform […]

What’s Most Valuable – Features, Quality or Time?

When it comes to software development (agile or not), what’s most valuable to your company (in alphabetical order)… Features Quality Time Pick one (and only one). Before you answer that, let me better define the choices. Features The “Features” of the software refers to its capabilities and its capacities. In other words, capabilities are what […]

Fix One Thing – Just One

Projects often suffer from the same old issues time after time. Fix one thing. Easy to say. Hard to do. I see project after project encounter the same old problems. Do you? Something on the following list perhaps? Lengthy requirements documents that few people read. Functional specifications that simply repeat the requirements. User stories that […]

Software Project Teams Always Face Budget Pressures

Software development teams are constantly under budget pressure regardless of their approach to building software systems. Saving money in areas that don’t impact project outcomes will free up funds that can be used on what really matters. Despite all the attention to reducing costs in recent years, there are hidden budget busters in every technology […]

7 Ideas to Help Your Organization Be More Agile

So you work in a traditional software development shop — waterfall development with massive business requirements documents, BDUF (Big Design Up Front), SQA testing at the end, and change requests (lots of change requests) — been there, done that. Your team wants to try an agile approach like Scrum, XP, Lean or Kanban. You realize […]

The Agile Choice Can Be Your First Choice

Let’s say your company has a great software application. It could be a revenue-generating product or an internal workgroup solution. Either way, the business is asking for an enhancement — not just any enhancement. They want to implement a completely new feature set. You ask lots of questions to determine basic information like: Target users […]

How to Be Agile in a High-Turnover Environment

The best agile software development teams are those that have stayed together through multiple projects. Those teams have time to grow, evolve and adapt. It takes time. Greatness doesn’t just happen; it takes practice. Unfortunately, software development teams tend to experience significant turnover among their members. There are many reasons for it, but in the […]

How Accurate Are Your Project Estimates?

There is no substitute for experience. Here are the approaches most commonly used to estimate the time and cost of software projects. Story Points – An approach favored by agile software teams. The simplest unit of work is one point. As units of work are evaluated, they are compared to the simplest and to each […]

Applying Agile Development to the Real World

You may have heard about Everett Rogers’ book, “Diffusion of Innovations”, Geoffrey A. Moore’s book, “Crossing the Chasm”, or Eric Ries’ concept of the Minimum Viable Product (MVP). They each present intriguing ideas that fit nicely into developing software using an agile approach. Take a look at the graphs shown here. They come from WikiPedia […]

How to Capture Non-Functional Requirements

Non-Functional Requirements (NFRs) can be difficult to define and track. We often treat them as after-thoughts and only near the end of the project. We usually focus on functional requirements. These represent system behaviors. They define what a system is supposed to do and how the inputs and outputs will appear. NFRs are more varied. […]

5 Steps to Disciplined Problem Solving

Hurricane Irene spun through New England this weekend. It was a tropical storm by the time it arrived but still wrecked havoc. Many people had to make adjustments or completely change their plans. Many businesses had to close and those that stayed open suffered losses. Similarly, unexpected events can wreck havoc on software development projects. […]

Scrum Does Not Take Control Away From Developers

There is a small and vocal percentage of software developers who dislike almost any form of structured process around their work. Process is often viewed as a euphemism for control, specifically, management control. If you take the time to carefully read the Agile Manifesto and to understand the basic elements of Scrum, you’ll see that […]

Interruptions Are Toxic to Software Projects

Interruptions: a destructive force every software development team has to manage. There is a huge advantage to starting a new job or being brought in as a new consultant — you have no history, no baggage, no (internal) “body of knowledge” that you have to carry around with you from project to project. You get […]

7 Scrum Variations That Might Work for You

Scrum is not prescriptive. It is adaptable. Scrum has simple rules — perhaps too simple for some. The basic guidelines are provided at ScrumAlliance.org in an article called Scrum Is an Innovative Approach to Getting Work Done. Beyond the basics, Scrum can get very complex, very fast. (Actually, the same is true of any process. […]

Success Is Overrated; Try Controlled Failure

Many companies want to move faster. They want to innovate, challenge and lead. (This even applies to government funded projects in many situations.) Yet, they don’t. They stagnate, fumble and follow. Why is that? They are overly risk averse! They spend enormous amounts of time trying to avoid failure. They focus on reducing risk and […]

Big Changes May Need Special Handling

If it won’t fit within a sprint, get creative. One area that causes concern among software developers using Scrum is the short sprint time boxes. Specifically, how can they develop complex algorithms in short bursts? We’ve all heard that stories should be kept small so that each one can be fully implemented and tested in […]

Enterprise Agile Adoption Requires a Phased Approach

Changing a major process in any enterprise is never easy. Software development certainly qualifies as a major process. If you’re thinking about having your enterprise software development teams change the process they follow, it won’t be easy. Let’s assume the current process is more ad-hoc than not. You may call it waterfall, spiral, unified or […]

Don’t Wrap a Straitjacket Around Your Project!

Three constraints dominate discussions about controlling projects — time, cost and scope. I’d like to add people and quality to that list. Many managers try to control all five constraints and end up controlling none. Common wisdom says you have to let at least one constraint float free if you want to tightly control the […]