Month: March 2011

Research Is Not the Same as Software Design

Does agile development suffer from lack of architecture and design? Are agile solutions inferior to those developed using non-agile approaches? Twenty years ago the answer would have been ‘yes’. Twenty years ago the software profession was less mature than it is today. Software engineering lacked standardization back then. Patterns Rule Today, we have patterns — […]

Scrum’s Deep Dark Secret

Scrum has a deep, dark secret. It all started when Scrum was originally defined. One of the key goals was to empower the software developers to self-organize and take control of their destiny. This is often viewed as anti-management but I don’t believe that was the intent. Self-organization demands that the team take responsibility for […]

Take a Simple Quiz, Learn About Being Agile

James Shore and Shane Warden developed a self-assessment quiz for software development teams. It is included in their book, The Art Of Agile Development. Most of us seem to like surveys, quizzes, and questionnaires. They often help us gather our thoughts and explore topics in greater depth. The downside is their superficial nature. It’s hard […]

Slow Down; You Move Too Fast!

There’s a common misconception floating around in enterprise companies. They believe that software release/upgrade cycles have to be long. At one time, Microsoft was criticized for releasing major Windows updates too fast. (I know, hard to believe, isn’t it?) Why do they feel that way? It’s expensive and time consuming to roll out new software […]

7 Steps to Bug-Free Software

No bugs! Sounds good! Is it feasible? Can agile software developers create software with no bugs? Image if they could. Think of all the time that would be saved testing, re-testing and testing some more. All that time spent repairing things that weren’t done correctly becomes time to spend on making the software better and […]

Mozilla Wants to Be Agile. Can They Do It?

The Mozilla Foundation is exploring moving from a long, browser development cycle to a much shorter one. If you’ve followed the life cycle of the original Mozilla browser which evolved into Firefox you know that the release cycles have been unbearably long at times. For example, Firefox 4.0 has been in development for over a […]

Don’t Get Stuck on a Definition of Done

What does it mean to be ‘done’? Many agile software development teams adopting Scrum, XP or Kanban struggle with their ‘definition of done’. They usually try to derive a set of measurable criteria that will enable them to verify that a work product is fully complete and ready to be deployed to the user community. […]

Some Waterfall Project Phases Have To Go

One of the big problems I have with the waterfall approach to software development is the laser-like focus on the beginning and end phases of the project. It starts with requirements gathering and ends with testing, testing and more testing. All of the intense activity and complex analysis in the middle gets lost. At the […]

Agile Techniques Work in Crisis Management

It’s time for March Madness. For those of you not familiar with the phrase, March Madness refers to the collegiate basketball tournament resulting in the selection of a U.S. college basketball, national champion. For college basketball fans, this is the equivalent of a feeding frenzy. It reminds me of more than a few corporate feeding […]

Top 10 Agile Development Traps

In any major endeavor, pitfalls, misunderstandings, conflicts and other traps abound. Agile software development is no exception. Here are the top 10 agile traps: Over planning at project inception then not updating the plan Protecting functional departments Poorly managing the backlogs Focusing on tools Focusing on process Believing that the customer cares about the implementation […]

Is Your Software Development Team Incompetent?

You’ve heard of the Peter Principle, right? People tend to rise to their level of incompetence. According to Wikipedia. “It holds that in a hierarchy, members are promoted so long as they work competently. Sooner or later they are promoted to a position at which they are no longer competent (their “level of incompetence”), and […]

Agile Faces a Major Barrier to Entry

Every approach to software development has barriers to entry. (Nothing is ever easy, is it?) Agile approaches are no exception. Let me explain. Sometimes compromise or meeting-in-the-middle is the best solution to a problem. Other times, it takes an extreme approach to be successful. Consider the subject of software development. Here are two conceivable extreme […]

Could Your Project Withstand an Earthquake?

The earthquakes and associated catastrophes in Japan highlight the important and often ignored area of project risk management. There are some things we can’t control. It’s not just natural disasters and events like terrorist attacks. What would you do if any of the following occurred during your project? Your project loses it’s top performer / […]

You Can Be 100% Right and Totally Wrong

Yesterday’s post got me thinking. (See Estimating Is Hard But The Business Needs to Know.) Can you be 100% correct and yet be completely wrong? Regrettably, yes you can. Let’s say you and your team are waterfall experts. You are the best of the best. During project initiation, your team can precisely estimate: How long […]

Keep the Business Engaged to Avoid Premature ‘Done’

Agile teams should deliver working software after each sprint. Sounds good. What does it really mean? Ideally, the team should be delivering value to the business with each sprint. Of course, the term value is equally obscure. Ultimately, what works or has value is up to the end users to decide. Obviously, they don’t understand […]

Agile Battleground – Scrum vs. XP

Agile software development goes by many aliases… Scrum Kanban eXtreme Programming (XP) Test-Driven Development Feature-Driven Development Agile Unified Process Open Unified Process Lean Software Development I’m sure I missed a few but you get the idea. There are many flavors of agile. It’s not surprising that there is controversy among agilists resulting in strong disagreements […]