If building a particular software system is scheduled to take 5 engineers, 6 months, then simple math says that 10 engineers can build the same system in 3 months. (That’s twice the number of engineers and half the time.) Okay, okay. I know. Some additional communication overhead will be introduced by adding people to the […]
Month: April 2012
The Peter Principle Is Real But Agile Techniques Can Beat It
What causes the “Peter Principle” to rise up and ruin someone’s career? According to the principle, named after Dr. Laurence Peter, “In a hierarchically structured administration, people tend to be promoted up to their level of incompetence”. That’s a scathing comment. It is often repeated and there are many examples of people who get promoted […]
Software Processes Are Good; Procedures Are Not
Many of us follow procedures. Not because we like them or find them useful but simply because that’s what we are told to do. Regrettably, many procedures take on a life of their own and become powerful impediments. For purposes of this post, I’m defining a process as a systematic sequence of actions towards a […]
Not Getting the Results You Want? Perhaps You’re Measuring the Wrong Things.
Agile process metrics are a frequent topic of blog postings with the velocity metric most often being discussed. But do agile process metrics really matter? What does the business really care about? Software development metrics are important to development teams but they mean little, if anything, to the business stakeholders and end users. Business professionals […]
Scrum Isn’t Just for Product Development Projects
I was recently asked a question about applying Scrum to research projects. The core issue had to do with Scrum’s fixed time boxes. Research projects, by their very nature, aren’t driven by fixed deadlines. Depending upon the complexity of the research, the effort could take weeks, months or years. How do you apply Scrum? While […]
Legacy Systems Will Have to Be Replaced — What Are You Waiting For?
In my last post, “The Cost of Doing Nothing May Exceed the Cost of Changing”, I began to examine the topic of replacing outdated, legacy systems in enterprise environments. I’m not referring to upgrades or enhancements. This is about complete replacement. It’s a daunting prospect. I laid out two basic approaches: 1) Build a parallel […]
The Cost of Doing Nothing May Exceed the Cost of Changing
Resistance to change is rooted in many factors from fear of the unknown to resentment of forced mandates. Oftentimes, the underlying resistance lies in the sheer magnitude of the challenge. Many enterprise IT projects are massive undertakings with big payoffs when they succeed and huge downsides when they don’t. What follows is a situation routinely […]
Focus on Team Collaboration Not Individual Skills
I’ve had scenarios similar to the following one come up several times over the years. You have someone on your software development team that writes great Java code — and does it fast — but can’t or won’t do much else. Should you remove him from the team? Before you answer that, let’s dissect the […]
Are Multidisciplinary Software Teams the Agile Holy Grail or Achilles’ Heel?
Ideally, agile software development teams should be multidisciplinary, that is, possess all the skills needed to deliver the business solution. This is documented in the eXtreme Programming rule called ‘Move people Around’. “A team is much more flexible if everyone knows enough about every part of the system to work on it.” It sounds good […]
Technical-Debt-Driven Development: If It Works, It Ships!
Technical-Debt-Driven Development (TDDD) is about to become the hottest craze. Here’s how it works. The software development team doesn’t waste time thinking about solution elegance or future considerations. They simply focus on getting the code working. If it works, it ships. Technical debt is leveraged as a means of accelerating the team’s efforts just as […]
Learn to Say No More Often and Focus Instead
Saying ‘No’ can make agile software teams and their companies more successful. How can that be? Doesn’t the team have to deliver what the business wants? Let me explain. Obviously, when a business stakeholder makes a request, the team has an obligation to evaluate the request and add it to the product backlog after appropriate […]
Priority Is Not Enough – Order Matters Just as Much
Setting user-story priorities is hard work. Defining the sequence or order in which work gets done is even harder. Priorities are not enough. Want to be more agile? You need to manage the order in which work gets done — sprint by sprint. Here’s the problem. Take an agile software development team using Scrum, Kanban, […]
Scrum Doesn’t Scale. It Morphs.
Scrum doesn’t scale, at least not easily. In fact, waterfall doesn’t scale either. It degenerates into a phases and gates approach that guarantees bottlenecks and delays. Realistically, you can’t expect a large enterprise to develop software the same way a small organization does. In a large enterprise, there are many concurrent, overlapping projects. Managing integration […]