Category: Principle

Don’t Make Commitments Until the Time is Right

Don’t make a decision today that you can put off until tomorrow. Many product manufacturers like to operate with minimal finished product inventory. They follow the principle of postponing the final build process until a customer order is in hand. That’s lean thinking. This technique enables them to optimize cash flow and minimize the risk […]

What You Don’t Know Could Kill Your Project

Have you ever heard someone say “You don’t know what you don’t know.”? That’s the worst kind of situation. What you don’t know represents risk and it can severely harm your project. Let’s take a closer look. There are basically three types of knowledge available to a software development team: Knowledge the team has — […]

Software Waste Is an Insidious Problem – Eliminate It

Lean software development isn’t a set of procedures but rather a set of principles. Every software development team would be well-served by studying these principles: Eliminate Waste (focus on value creation) Create Knowledge (keep improving) Build Quality In (test and refactor continually) Defer Commitment (maintain loose coupling throughout) Optimize the Whole (don’t be dragged down […]

Agile Development Won’t Solve Your Problems

There’s a popular misconception that agile software development can solve the major problems that plague software teams. I wish that was true but sadly, it’s not. Agile development approaches like Scrum, Kanban, Lean and XP are designed to reveal problems, not solve them. The solutions are situational — they take different forms depending on the […]

10 Fundamentals of Software Project Management

When sports teams hit slumps, what do they typically do? They focus on the fundamentals. The sport could be baseball, basketball, ice hockey, American football or (what we call) soccer. It doesn’t matter. When the team isn’t winning and needs to improve, the focus is on the fundamentals. What does it mean to focus on […]

Don’t Just Respond to Change, Enable It

Being agile is not about responding to change. It’s about enabling change. I know; it sounds like a semantic debate. What’s the difference and why should you care? There’s a world of difference between responding and enabling. When you enable someone you give them the means or the power to do something. When you simply […]

Best Practices Are Guidelines Not Absolutes

We hear a lot about “best practices”. They apply to every endeavor from home repairs to business strategies. The phrase is also often used when examining agile software development approaches such as Kanban, Lean, Scrum and XP. What are best practices? They’re really just methods, processes, rules or techniques that have been successful in certain […]

Managing Expectations Leads to Successful Outcomes

I’ve written about context (Without Context, You Can’t Make an Informed Decision) and how important it is when making a point. For example, if your work involves IT consulting to the U.S. Government, your context is completely different from someone working in a software start-up targeting consumers. The ground rules are totally different. In a […]

Minimize Your Risk Exposure By Moving Faster

Risk. Many project managers spend a lot of time identifying and mitigating risks. Is it worth the effort? First, some background. Risk management revolves around identifying vulnerabilities. Once you know how and where you are vulnerable, you can assess the probability and the impact of each vulnerability — the level of risk. Here are a […]

The Software You Need May Not Be What You Want

Developing software is a lot like many major decisions in life. For example… Let’s say you own a home and you need to protect some tools and equipment. You may have garden tools, a lawn mower, maybe snow shovels and a snowblower. You need a place to store them. The simplest and lowest cost solution […]

The Development Approach Has to Fit the Situation

There are many passionate debates around the web on the subject of waterfall development versus one agile approach or another (e.g. Scrum, Kanban, Lean or XP). Most of those debaters are wrong. All wrong. There is a fatal flaw in their logic. What is it? I’ll get to that. Firstly, what is waterfall software development? […]

Agile Approaches Are Not Just for Product Development

There’s an impression among some software developers that agile approaches like Scrum, Kanban, Lean and XP only apply to software products, not other types of software. That impression likely results from naming conventions such as “Product Owner”, “Product Backlog”, “Releases” and “User Stories”. While many of us associate software with desktop applications, there are many […]