Have you ever noticed how predicting the travel time of an international flight covering 4,000 miles is often more accurate than predicting the time to commute to your office? The same is true of software development projects — it can be easier to predict longer term schedules. Here’s why. We’ll ignore catastrophic situations. Some flights […]
Do You Know What’s Wrong With Your Software Development Process?
Be honest. No software development process is flawless — not one. Every process, regardless of approach, has something wrong with it. The reason is simple. Different approaches, and various implementations of those approaches, always focus on a few areas deemed critical to success. Those critical areas vary by company and development group. The narrow focus […]
Plans, Guesses and Illusions
Does the software project you’re currently working on have a plan? It doesn’t have to be an elaborate gantt chart — frankly, gantt charts are pretty worthless though they force us to think through a variety of project issues. It doesn’t have to be a massive missive either — no one reads those things anyway. […]
The Perfect Software Project Is Mythical. It Never Happens.
I have a question for you. How do you define a successful software project? Here are some choices. If you don’t like any of them, please leave a comment with your definition. A. The product is delivered on time but over budget. B. The product is delivered on budget but late. C. The product meets […]
Does Planning Make Perfect? No, But It Helps!
It’s Easier to Get Software Right From the Start
Let’s discuss “done” as it relates to writing software versus testing it — code completed versus code validated. Here’s the scenario. A software developer has finished implementing a code module or, preferably, a story. This means he’s unit tested the code and it works as intended. Is he done? Now, someone specializing in software testing […]
To Build Better Software, Exploit the Fun Factor
I’d like to draw a couple of analogies between software development and learning a new skill such as playing the piano or speaking a new language. Bear with me and hopefully you’ll gain new insights into the benefits of agile development over waterfall development. Have you ever taken piano lessons? Or, have you ever taken […]
Perform Work Iteratively To Be More Productive and Efficient
Agile Project Management Works for Small Businesses
Guest Post I’m pleased to share this post written by the folks at Agil8. Project management systems are not methods that are just for big businesses and large-scale organisations alone. They are also suitable for smaller businesses that can benefit a great deal from these methods too. The fundamental principles of project management can be […]
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 […]
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 […]
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 […]
Agile Software Development Is Like a Home Renovation Project
Have you ever watched a home renovation show on television? I’m thinking of shows like Love It or List It and Property Brothers (both on HGTV). The specifics vary but they use the same general approach to managing renovation projects. The work crews are given a fixed time period and a fixed budget to complete […]
Sprint Zero – Your Context May Vary
I’ve advocated for using “Sprint Zero” a few times on this blog and each time I get some negative feedback. I’m going to continue my crusade in this post but with a twist. Firstly, recognize that “Sprint Zero” is about ‘hitting the ground running’. That is, getting the team ready to start writing code that […]
Enterprise Projects Need to Start with Sprint Zero
The idea behind “Sprint 0” is that software development teams should spend some time at the beginning of an agile project doing analysis, design and other preparation tasks. I’m not referring to small projects — a few people for a few months. I’m thinking about enterprise projects involving multiple teams deploying to multiple servers. At […]
Agile Software Development Will Never Go Mainstream
The headline of this post pains me but it’s true. Real agile approaches to software development will never replace the old and outmoded command-and-control approaches based on waterfall. Scrum, Kanban, XP, Lean, etc. will augment and improve waterfall approaches but never replace them. Here are two reasons for my pessimism. The Safe Choice Have you […]