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 […]
Category: Principle
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 — […]
2 Final Thoughts for 2011: Context and Teams Really Matter
This is my last post for 2011 and I’ll keep it brief. I’d like to wrap up the year with two words: Context and Team. Context I read many rants on Twitter, blogs and various online publications regarding one software development approach versus another. In many cases, the context is missing. Without context, I can’t […]
My Software Project is “Almost Done” … I Think
The year 2011 is almost done as I write this. “Almost” is fully defined when it comes to calendar dates because there are a fixed number of days, hours and minutes left until 2012 is here. There will not be any delays or extensions. The end is near. My latest software development project is also […]
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 […]
Working Software Is the Only Sensible Measure of Team Performance
A lot has been written about software development metrics. Clearly we need some way of determining how well software teams are doing and how fast they do it. Makes sense, right? There’s just one problem. The customer (or client, or end user) doesn’t care. If you tell a customer that the software team is working […]
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 […]
Don’t Strangle the Team’s Strengths to Work On the Weaknesses
Have you ever heard someone say that you should focus on your strengths and not your weaknesses? It’s a bit of reverse psychology in the sense that it’s only natural to try and improve those activities that we aren’t good at — our weaknesses — and we should. But if we focus too much attention […]
What Is Your Project Team’s Signal-to-Noise Ratio?
In the world of hardware engineering, the concept of signal-to-noise ratio (S/N ratio) is widely used. If there’s too much noise in comparison to the amount of signal, the device will not work well and customers will not be happy. We should pay attention to the S/N Ratio concept when it comes to software engineering […]
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 […]
It’s Time to Reboot the Relationship Between IT and the Business
What am I going to get and when am I going to get it? That’s what every business stakeholder of a software project wants to know. Once they know those answers, the project cost is a simple calculation. You have three choices for answering the questions: Conduct a detailed and thorough analysis to arrive at […]
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 […]
Don’t Let Mindless Complexity Ruin Your Project
To be more agile, you need to keep it simple. Many of us have a tendency to make things too complicated. In an effort to cover every angle or get all the facts on the table, we overwhelm the reader or listener with too much information. This creates confusion, causes mental fatigue, and leads to […]
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 Benefits of Agile Development May Not Be What You Expect
Why do organizations decide to try agile software development? The simple response is that they want to improve their software development results. Sure, but what exactly are they trying to “improve“? Here are the most common improvement candidates: Time to market – they want to generate software releases in less time from start to finish. […]
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 […]