So your company uses a waterfall approach to software development and you’re stuck with it. Your management doesn’t understand agile development and doesn’t want to. They like how work gets done even if projects often take longer than they’d like. Now what? Other than finding another job, your options are limited. Here are ten suggestions […]
This Test Will Help You Determine How Agile You Really Are
We sometimes talk (or write) as if agile software development and waterfall software development are two completely separate and different ways of building software. Yet, in reality they have much in common and it can be hard to slap a label on the process followed by any particular team. With that in mind, here are […]
There Are Only Five Software Risks Worth Considering
Agile software development teams face many types of risks but only a few really matter. There are countless risk possibilities to consider on any software development project. Everything from under-estimating the project scope to the local nuclear power plant suffering a meltdown. It can be mind-boggling. I think many teams don’t even bother to assess […]
The Future Is Here and Living in Your Smartphone
Apple sent out a few loud and clear messages at their Worldwide Developers Conference this week. They announced some great new products and the media is fixated on them. But the products are not the message. The capabilities of those products and the future direction they establish are what’s interesting. Here’s my interpretation of the […]
Agile Development Teams Follow This Simple Principle
Have you ever heard of the principle known as Occam’s Razor (or Ockham’s Razor)? I like to think of it as the law of simplicity — simpler explanations are better — all things being equal. Another way to think about it is that you should always start with what you know in trying to understand […]
Failure to Collaborate Threatens All Large Software Projects
There’s a famous quotation from the classic movie Cool Hand Luke that applies to many business situations; “What we’ve got here, is failure to communicate.” In many post-mortem evaluations of failed projects, inadequate communication is cited as a primary reason for team turmoil. Companies have responded by making it easier to communicate. Many of us […]
Waterfall Development Is Prescriptive; Agile Development Is Adaptive
The single biggest mistake companies make when adopting an agile development approach like Scrum, Kanban, XP or Lean, is establishing too many rules. This tendency results from their prescriptive cultures. They like to define lots of rules and want to make agile development fit in. It won’t. A prescriptive culture is one where there are […]
Estimates Are Worthless But Estimating Is Priceless
Seems contradictory, right? We spend a lot of time preparing software development estimates. Yet, I claim that the end result has no value. None. I also claim that the effort required to prepare estimates is time well-spent. That doesn’t make any sense! Or does it? Everyone wants to know how long the project will take […]
User Stories Aren’t Just About Business Users
Some folks criticize agile approaches to software development like Scrum, Kanban and XP, with the claim that there’s too much emphasis on the end user. How can you develop software systems that are robust, fast and secure using stories? End users are not going to write stories defining the technical characteristics of a system. That […]
7 Warning Signs of Imminent Project Doom
Is your software project in trouble? Before you try to convince yourself that all is well, you should think carefully about the subtle clues I’m about to give you. Your project could be in much worse shape than you think. Software projects don’t march merrily along until suddenly one day all hell breaks loose and […]
Iterative Waterfall Is Not Scrum
One of the more common anti-patterns in Scrum is treating each sprint as a short waterfall project. While there isn’t anything inherently wrong with doing that, it’s not Scrum. It’s Iterative Waterfall. If it doesn’t work, don’t blame Scrum. There are similarities between Scrum sprints and waterfall iterations but they are not the same thing […]
You Can’t Be Agile If You’re Not Empowered
Do you feel empowered in your job? Many people don’t. A big part of agile software development — and business agility, in general — is empowering people to change their work environments. If you can’t change anything, you can’t be agile. You can only go with the flow, and hope for the best. By definition, […]
In Software, Logical and Reasonable Doesn’t Mean Best
Small software development teams in small companies usually embrace agile practices associated with Scrum, XP, Lean and Kanban more readily than large teams at large companies. That makes sense given the added complications of trying to be agile in a big company accustomed to following a corporate process. Small teams quickly adapt to shorter sprints, […]
Define Audiences, Specify Outcomes, or Failure Will Stalk You
There are two areas of software development that are often overlooked or under emphasized. They are defining your target audience (or end-user personas) and specifying your promised outcomes (or business goals). We need to be specific about our target audiences and promised outcomes. It comes down to setting expectations. You can deliver what you documented […]
Hidden Assumptions Can Take Down Your Project
What are you assuming? Every project plan, user story and task list contains assumptions. An assumption is something that’s taken for granted by the software development team — something presumed to be true. This is in contrast to risks, in that risks are adverse events that we believe are unlikely to occur. Some assumptions will […]
Software Outcomes Matter, Test Results Don’t
How do you determine the success (or not) of a software project? How do you measure the final outcome? How do you know if the project delivered what was expected? You might be inclined to refer to the number of remaining known defects, the number of test cases, the improvements made in the code, the […]
Team Velocity Is Not as Simple as It Seems
The subject of Scrum team velocity can be confusing and controversial. My intent is not to add fuel to the fire but rather, to contribute to the knowledge base around velocity and what it represents. The simplest way to do this is via an example. Let’s say a Scrum team has an average velocity of […]
How Much Project Planning Is Too Much?
Does your organization spend weeks and weeks preparing to launch a project? Does it seem like new projects take forever to get off the ground? Have you seen projects get cancelled after months of planning but no implementation activity? I’ve seen it all and it can get ugly. As a general rule, planning and analysis […]
Guest Post: How Technology Can Help in Your Business Development
Today, technology has become so advanced that it can greatly contribute to the development and productivity of the business. One needs to research, analyze and understand how technology can greatly assist in boosting one’s business. Communication Communication is the most important aspect in any business. One can improve communication or be in touch with business […]
Legacy Code Is a Tangled Web for Agile Developers
What is one of the biggest impediments to adopting agile development? It’s a bit of a rhetorical question because there are many answers, with cultural issues being high on the list. For this post, I’d like to focus on legacy software. Every established company has software systems that are used everyday and may have been […]