Has this ever happened to you? A senior manager asked me if a software application could be ported from Microsoft Access to Salesforce.com. The business unit workflows are partly automated and partly manual today. I did a top-level analysis and suggested that the current application could be ported fairly quickly. The project got approved and […]
Category: Technique
Just-In-Time Planning Reduces Waste and Improves Software
The best agile software development teams use just-in-time planning. It’s a simple concept, really, but not-so-simple to put into practice. It has roots in product manufacturing and is embraced by companies following a kanban approach to building products. You’ve probably heard of just-in-time inventory management. It’s a set of techniques for minimizing both raw materials […]
More Frequent Software Deployments Accelerate the Feedback Cycle
If your software development team practices Scrum, are you required to deploy software only once during a sprint? That practice is clearly defined by Scrum, but is it a requirement? If you want to deploy daily, do your sprints have to be 1-day long? I don’t believe so. Software teams using Scrum may deploy software […]
Phased Agile Development Builds Bridges
My last five posts have covered the topic of using phases in agile software development similar to the phases of the Rational Unified Process (RUP). So why phases? Neither the Agile Manifesto nor Scrum make any reference to phased development. If you use phases, are you really doing agile development? (If you haven’t read the […]
Transition: More Ideas for Using RUP Phases in Agile Software Development
This is the fifth in a series of posts about using RUP phases in agile software development. (Here is a link to the last post in case you missed it.) The Transition Phase is next. If your agile software project makes it through my interpretation of using the Inception, Elaboration and Construction phases, you’ll likely […]
Construction: Ideas for Using RUP Phases in Agile Software Development
This is the fourth in a series of posts about using RUP phases in agile software development. (Here is a link to the last post in case you missed it.) Let’s continue. So you’ve completed the Inception and Elaboration phases. That means your team and the business stakeholders have a good, solid understanding of what […]
Elaboration: An Approach to Using Phases in Agile Software Development
This is third in a series of posts discussing how project phases as defined in RUP (the Rational Unified Process) can be used in agile software development. My last post covered the Inception Phase. Now it’s time to think about the Elaboration Phase. If your project made it through the inception phase without getting redirected […]
Inception: An Approach to Using Phases in Agile Software Development
Building software applications using agile techniques is no guarantee of success. Why? While waterfall teams spend too much time at the outset trying to nail down business requirements, agile teams may also invest too much time on story backlogs. Either way, the teams try to capture and document what the business thinks it wants, but […]
Project Phases Can Be Used In Agile Development Too
Big companies like highly-structured approaches to software development. Why? They’re trying to control and reduce risk. Despite the fact that their real-world experiences clearly demonstrate lack of success, they keep trying. Some of these companies are adopting approaches that apply more rigor and structure to agile development. The two most discussed (and controversial) approaches are […]
Can’t Be Agile? Start With Lean Instead.
Many people want to try agile software development techniques but they just can’t convince enough other people in the company to give them a try. Making the situations more complex, even if most agree that agile development is the way to go, they can’t agree on which agile techniques to apply — Scrum, Kanban, XP, […]
Initial Software Development Costs Are the Tip of the Iceberg
Much of the cost in any custom software system lies in wait, hiding until after the initial development is complete. I write regularly about software development offering my opinions about how to do it better, faster and cheaper. Yet, even getting the initial development cost to zero may not save a company much money over […]
Manage Customer Expectations or Deal With the Consequences
Here’s a simple question — what does your customer expect? Do you know the answer? Many software development teams don’t. They may think they know. They may infer that customers want timely delivery and high quality — reasonable assumptions though rather broad. Every customer has different expectations arrived at in different ways. Regardless of how […]
7 Secrets to Developing Better Software in Less Time
It’s what every manager wants — a team that develops better software in less time. Yet all too often, the emphasis is on more software, more documentation, more features, … more, more, more. Does more result in better? My personal experiences using many software packages and websites strongly suggest that more is everything but better. […]
The Observer Effect Works But Not for Long
Have you ever heard of the observer effect? It’s the scientific principle asserting that observing a process or action has an effect on the outcome. For example, I’m sure you’ve felt the pressure of having someone stare at you while you’re trying to do something. If you let it get to you, it effects your […]
We Don’t Need To Be Smarter. We Need To Work Smarter.
Are software professionals smarter than other business professionals? At times, we seem to think we are but let’s examine that premise more closely. Consider this. National restaurant chains spend millions of dollars test marketing new menu items. For example, Burger King, McDonald’s, Dunkin’ Donuts, Olive Garden, and Taco Bell invest boatloads of time and money […]
Technical Debt Often Plagues Legacy Software Systems
In a perfect world, every software development project would start with a clean slate — no existing code base, no established user community, and no outstanding defects. Wouldn’t that be sweet! It rarely happens. Most software projects start with a truckload of baggage — crappy code, impatient users, incomplete features, frustrating user experiences, slow performance, […]
One Size Fits All. No Project Too Big or Too Small.
So your company wants to adopt a new approach for software development projects. The selection committee wants to pick an approach that can be used across the board — on all projects. The committee naturally focuses on big (i.e. expensive) projects because they offer the biggest bang and the biggest risk. The development approach they […]
Roadmaps Help Software Teams Know When They’re Done
Does your software development team know where it’s going? Sadly, many don’t. Sure, they start out with a set of goals such as develop a Windows software application to retrieve some business data, format it, present it, and allow users to search and sort. Great, let’s write some code! But wait, not so fast! Where […]
I’ll Know What I Want When I See It
“I’ll know it when I see it!” Many software specifications should simply make that statement and call it a day. Spending a lot of time at the beginning of a software project trying to precisely define software behavior and appearance is often a waste. Let me tell you a story. I once reported to the […]
10 Simple Rules for Better Daily StandUps
One aspect of Scrum that’s controversial is the daily standup. Some people just hate any group event that remotely resembles a meeting. Sitting, standing, kneeling … it doesn’t matter. Having to wait around and listen to others jibber-jabber when there’s work to be done can be beyond annoying. However, there are many developers and testers […]