I don’t know about you but I like Halloween. It’s fun. Kids get to wear costumes and collect candy. Adults get to engage in fantasies of their own and eat the leftover candy (along with some of the candy their kids collect). It can be scary for some but it’s all in good fun. Software […]
Category: Anti-Pattern
6 Ways to Pour Money Down the Drain on Software
Over half of major information technology projects fail. Corporate America spends tens of billions, yes BILLIONS, of dollars on these projects resulting in huge losses. These results span all industries, crossing geographic boundaries and applying to all corporate operations from the front office to the back office. Technology gets the blame but it’s not a […]
10 Signs Your Software Architecture Is Flawed
Getting the architecture of an enterprise software system right can be tough. There are a lot of variables, a myriad of options, and many ways to get it wrong. Often, development teams don’t realize that the architecture is weak until serious problems appear in production. By then, there’s extreme reluctance to admit that the architecture […]
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 […]
Technical Debt Isn’t the Only Type of Debt You Need to Avoid
Technical debt is a frequent topic in blogs covering agile software development. But it’s not the only type of debt incurred by software development teams. There’s no shortage of ways for software developers to dig deep holes for themselves. This post explores other forms of debt that lie in wait for the unsuspecting development team. […]
Don’t Try This On Your Next Project
You hear the words greatness, excellence and leadership quite often in the worlds of business operations and software development. Every person, team, organization and company should strive to be the best — but don’t go too far. What’s too far? Perfection. You don’t need to be perfect — not even close. The results you produce […]
Incomplete Software Iterations Put Everything At Risk
Project iterations or sprints are not an excuse to cobble together some software and toss it over the wall to the end users and stakeholders. This happens because the team knows the software isn’t done yet. If it doesn’t work properly or isn’t what the users want, the team will fix it in future iterations. […]
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 […]
Agile Software Development – You’re Doing It Wrong!
Let’s get this out of the way — agile software development is tough — hard, difficult, complex. (Pick your favorite adjective.) This applies to Kanban, Scrum, Lean, XP or whatever agile approach you like. Is it tougher than those legacy waterfall approaches? Your guess is as good as mine. Agile development is simpler in some […]
20 Ways to Tell If Your Project Planning Is Taking Too Long
I see too many organizations spending too much time in project planning. Actually, I take that back. They spend too much time thinking they are planning. If you want to be agile, you need to deliver software. Planning helps get you there but it can also get in the way if you over do it. […]
Agile Development Is a Highway. Where Will It Lead You?
This is the tenth and final post in a series dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The tenth antipattern discussed in the original post is… 10. Believing that agile is strictly a software development issue, not a business one It’s usually the software development team that […]
Don’t Just Build the System Right, Build the Right System
This is the ninth in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The ninth antipattern discussed in the post is… 9. Emphasizing process metrics over actual project outcomes It’s been my experience that some software development teams like to track metrics — […]
Invest in the People, Not in the Process
This is the eighth in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The eighth antipattern discussed in the post is… 8. Unwillingness to invest in training and coaching Agile looks easy. All you really need are daily meetings, a status board, and […]
Cramming Works in College But Not in Agile Projects
This is the seventh in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The seventh antipattern discussed in the post is… 7. Cramming as much as possible into every iteration to ensure that the team is kept busy You’ve undoubtedly heard of Parkinson’s […]
If the Code’s Good But Not Perfect Code, Plan to Refactor
This is the sixth in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The sixth antipattern discussed in the post is… 6. Postponing refactoring until later, usually after a release Software refactoring is one of the most misunderstood and controversial aspects of agile […]
What Problem Are You Trying to Solve?
This is the fifth in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The fifth antipattern discussed in the post is… 5. Expecting the software to be built better, faster AND cheaper Software projects have a reputation for delivering systems that are late, […]
Think ‘Continuous Delivery’ Not Fixed Feature Deadlines
This is the fourth in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The fourth antipattern discussed in the post is… 4. Adherence to strict feature-set goals per iteration even if extra time is needed The old command-and-control mentality demands that software development […]
When You’re Trying to Be Agile, Less Is More
This is the third in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The third antipattern is… 3. Insisting that every decision be documented in writing I’m sure you’ve heard someone say something to the effect of “If it’s not in writing, it […]
Managers Manage. Teams Self-Organize. Conflicts Follow.
This is the second in a series of posts on dealing with the impediments raised in “Agile Antipatterns Are Easy to Spot, Hard to Change”. The second antipattern is… 2. Preserving the command and control hierarchy rather than letting the team self-organize Managers are paid to manage. It’s hard for them to relax their grip […]
Don’t Put the Organization Ahead of the Project Team
In my recent post called “Agile Antipatterns Are Easy to Spot, Hard to Change”, I listed ten impediments that prevent agile development from working well in a corporate setting. In a series of posts, I’ll offer suggestions for dealing with these impediments starting with the first antipattern. Protecting the organizational structure over the team structure […]