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. […]
If You Develop Software in Iterations, Are You Agile?
Management By Proxy and Agile Development Don’t Mix
You Want to Change Your Software Development Approach, But How?
If your team follows a traditional, legacy approach to software development and wants to convert to an agile approach, how should you go about it? Let’s say you want to convert from a waterfall approach that uses a strict command-and-control model to Scrum that uses a self-organizing team model. How would you get from here […]
Getting Stuff Done Leads to Happier and More Productive People
Fail, Learn, Assess and Try Again
I don’t know about you but I hate to fail. I’m not kidding. I REALLY hate failure. And that is one of the scariest aspects of agile software development. To succeed, you have to be willing to tolerate failure. In fact, if you’re not experiencing any failures, you’re not pushing yourself or your team hard […]
The Simplest Way To Get More Done Is To Do Less
Software developers, testers, analysts and managers are known to be detail oriented. We need to know exactly what needs to be done so we can devise and implement software algorithms. We need answers to detailed questions so we can make the right implementation decisions. Meanwhile, business people don’t always have all the answers. This is […]
Shorter Is Better But It’s Not Agile
I’m hearing and seeing the word ‘agile’ more and more around the office. It comes up in hallway conversations and management presentations. Managers have gotten the message and want us to be more agile. That’s great, right? So I ask them what it means to be more agile and the answer I get is rather […]
The Dark Side of Metrics: Be Careful What You Wish For
Many managers are fond of using metrics as a way to evaluate the performance of software developers. This can be done both at the team and individual levels. However, most metrics can be “gamed”, that is, manipulated to show the desired result. Some readers are likely thinking that their teams would never “game the system”. […]
At Yahoo!, Working From Home Is Not The Real Issue
I feel compelled to weigh in regarding the recent decision by Marissa Mayer, CEO of Yahoo!, dropping the company’s work-from-home option beginning in June. Yahoo will require that employees work in an office location (unless they have a need to work from home such as a visit by the “cable guy”). Firstly, I have to […]
Don’t Just Change the Rules, Change the Game
Several studies have shown superior software development success rates when using an agile approach like Scrum or Kanban versus a waterfall approach. Does using a waterfall approach to develop software cause many projects to fail? Conversely, does using an agile approach cause projects to succeed? I wish it was that simple. Ultimately people cause projects […]
Writers Can Teach Us Something About Writing Software
In this post, I’m sharing a technique for writing a software module with you. I’m assuming that we are implementing a user story and that the acceptance criteria are clear. The story has been divided into a set of tasks and the task durations are known. It’s an approach that works well for me though […]
Binary Choices are Better When Choosing Software Features
In the world of agile software development, there’s a lot of emphasis on things like story estimates, daily standups and team retrospectives. Those things are important but there’s a serious problem that none of them address — feature set. What features should the software have in the next release? Waterfall development practitioners tend to include […]
Faster Business Is Better Business When You Need to Change
Can you get your software to market faster by following agile software development principles from Scrum, XP, Kanban or Lean? That’s a complex question that generates controversy no matter how I answer it. I’m okay with controversy so my answer is yes — if you give the team time to mature. Regardless of what you […]
Hire the Best People By Focusing on What Matters
In my post “Don’t Just Prioritize User Needs, Prioritize the Process Too”, I discussed the need to prioritize the elements and artifacts of the software development process. In this post, I’m turning my attention to the hiring process. When your team needs to bring another developer on board, what do you look for? If yours […]
Change Is Good, Upheaval Is Not
You want your software development team to switch from using a waterfall approach to using an agile approach like Scrum, Kanban, Lean or XP. Should you do it gradually or go cold turkey (all at once)? Before you answer that question there are a few things to consider. Let’s walk through an example. This will […]
Open Source, Agile Development and Social Media Have Something In Common
Open source software, agile development techniques and social media tools are three of my favorite things. They have one thing in common that binds them together — they help people collaborate. All three provide mechanisms people can use to interact and cooperate. In fact, the more we do so, the better the results. That’s how […]
Don’t Just Prioritize User Needs, Prioritize the Process Too
Many software development teams go to great lengths to prioritize requirements, features or user stories. (I hope your team does.) It’s a valuable exercise if people take the time to truly evaluate the importance of each request they make or receive. Do you want to improve your software development process? Apply the same logic to […]
Software Projects Fail for the Wrong Reasons
I’d like to discuss failure — specifically, software development projects that fail. Has it ever happened to a project team you were on? If so, it was probably not for the reason you think. Before we can examine this further, we need to agree on what constitutes failure. I’ll offer my definitions and you can […]
It’s Not About the ‘How’. It’s About the ‘What’.
Software development experts, myself included, get caught up in methodology battles. I like Scrum. You like waterfall. My approach is more responsive than yours. Your approach is more disciplined than mine. But, are we losing sight of ‘what’ really matters? The approaches we follow are the ‘how’ of building software systems. My goal (and I […]