One aspect of Scrum that’s controversial is the daily standup. Some people just hate any group event that remotely resembles a meeting. Sitting, standing, kneeling … it doesn’t matter. Having to wait around and listen to others jibber-jabber when there’s work to be done can be beyond annoying. However, there are many developers and testers […]
If I Can’t See and Touch the Software, It Doesn’t Exist
Here’s a situation I see quite often. The software development team is rapidly adding features and functions to an application. It makes no difference if the app is completely new or being enhanced. The team is making rapid progress. Yet, the Product Owner is reluctant to show the incomplete app to the business stakeholders and […]
7 Tips for Overcoming Enterprise Resistance to Agile Development
Doing agile software development in enterprise environments presents challenges beyond those found in smaller firms. Big companies like to document, review and approve. Those concepts aren’t inherently anti-agile but they sure can slow things down. Resistance is unlikely to win you any points or make you any friends. Transitioning from a waterfall approach or from […]
Collaborative Team Behaviors Have to Be Nurtured
Great software development teams don’t just materialize as if beamed in by a Star Trek transporter. They can’t be formed by managers who hand-pick the “best and the brightest” to work on a critical project either. Great teams form when people are challenged and have to think for themselves. Here’s a simple example. Let’s say […]
5 Ideas for Engaging Business People in Your Software Project
Getting the business stakeholders and end users to actively participate in a software development project can be tough. They are accustomed to submitting software requests and receiving working software several months later. They don’t like the process or the lengthy wait time but they’ve been conditioned to expect it. Once the software arrives (which doesn’t […]
Software Development and Dieting Have Something in Common
Any change to the way we do things is disruptive. Any deviation from our normal routine is unsettling. Forget about the holy wars around what constitutes the “best” software development approach or whose diet plan produces the “best” results. The challenges of creating software and dieting are the same. Why would a company change the […]
Managing Requirements Is Not Just for Dummies
I just finished reading “Requirements Definition & Management for Dummies” by Robert D. Schneider, Tony Higgins and Keith Barrett. The eBook is being freely distributed by Blueprint Software Systems (registration required). While it’s intended to draw attention to Blueprint’s requirements management software, it’s not just marketing literature. The book makes some good points. Much of […]
Even When You Build the Right Software, You Can Still Get It Wrong
Is it more important to build the right software or more important to build the software right? The lazy answer is something like “…they’re equally important…”. Let’s not be lazy. Let’s think about this. Build the Right Software You can build the world’s best software system but if it doesn’t do what the customer needs, […]
Scrum Isn’t the Problem But You Might Be
Some people claim that Scrum is incomplete, unpredictable and chaotic. Sadly, it’s all true and the same can be said about waterfall, Kanban, Lean, XP and every other approach to building software systems. People making such comments are looking for a step-by-step approach to guaranteed software development success. (If I could define such an approach, […]
Software Projects Can Be Like Combat and Scope Is the DMZ
Change of scope. I’m sure you’ve heard that phrase before. In some companies, it’s ubiquitous. In fact, some project managers love scope changes because they offer opportunities to adjust the schedule. The sinister sister of scope changes is “scope creep”. What is scope creep? It’s a risk faced by projects that try to lock down […]
Successful Team Building Is an Agile Process
You’ve likely heard of Tuckman’s stages of group development. If you haven’t, there’s a nice summary on Wikipedia. I’d to focus your attention on ways to accelerate the team-building process for software development teams. Tuckman articulates four stages of team building — forming, storming, norming and performing. In the forming stage, most people tread carefully. […]
Triple-H Weather and Triple-H Projects Have Lots In Common
The weather pattern has quickly changed from winter into summer. We had snow in some parts of New England last week and this week we have the dreaded triple-H weather — hazy, hot and humid. The triple-H pattern appears in software development projects too. In fact, it’s not unusual at all. Let’s explore what triple-H […]
To Build Better Software, Exploit the Fun Factor
I’d like to draw a couple of analogies between software development and learning a new skill such as playing the piano or speaking a new language. Bear with me and hopefully you’ll gain new insights into the benefits of agile development over waterfall development. Have you ever taken piano lessons? Or, have you ever taken […]
7 Common Sources of Risk Cause Many Projects to Crash
In my last post, I offered a simple way of grouping project risks using just 4 categories. You’ll never be able to completely eliminate risk but you can manage it. If you think your project has everything under control and faces no risks, look again. You missed something. To help you think about risk items, […]
Risk Creates Speed Bumps on the Road to Done
4 Risk Categories Are All You Need Worry About Have you ever been involved in the software project from hell? Many of us have. The project begins with plenty of enthusiasm and optimism. Goals are defined. Staffing is assigned. Delivery dates and budgets are handed out. Everyone’s excited. But somewhere along the road to done […]
Sometimes You Have to Break the Sprint Rules
Here’s an all-too-common scenario in agile software development projects. You’ve defined fixed-length sprints. They are 4, 6 or 8 weeks long. The team is well into a sprint when the product owner shows up and says something like “We have to add another story to this sprint. The business will reject the software unless we […]
Are No Estimates the Solution to Bad Estimates?
#NoEstimates. Is it the latest agile software development trend or meaningless hype? Your guess is as good as mine. It’s an interesting question that deserves closer examination. The general premise is that software estimates are unreliable. They are usually overly optimistic and are often grossly inaccurate. So is it better to avoid all the work […]
Focus on Building Complete Software Systems Not Just Software Components
So you’ve adopted an iterative approach to software development. Every ‘N’ weeks your team delivers working software. ‘N’ is usually 2-4 but could be 6-8. The point is that the project is divided into a series of iterations or sprints rather than building everything and delivering all of it in one big bang. Congratulations! Your […]
It’s Better to Have Great People Than a Great Process
Imagine you had a team of ace software developers. This team is fabulous. They know how to get stuff done. They work well together and they work well with other teams. They always find a way to deliver good software. Now imagine that they are given a terrible software development process to follow. The process […]