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 […]
Month: June 2013
10 Signs Your Software Architecture Is Flawed
Getting the architecture of an enterprise software system right can be tough. There are a lot of variables, a myriad of options, and many ways to get it wrong. Often, development teams don’t realize that the architecture is weak until serious problems appear in production. By then, there’s extreme reluctance to admit that the architecture […]
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 […]
If I Can’t See and Touch the Software, It Doesn’t Exist
Here’s a situation I see quite often. The software development team is rapidly adding features and functions to an application. It makes no difference if the app is completely new or being enhanced. The team is making rapid progress. Yet, the Product Owner is reluctant to show the incomplete app to the business stakeholders and […]
7 Tips for Overcoming Enterprise Resistance to Agile Development
Doing agile software development in enterprise environments presents challenges beyond those found in smaller firms. Big companies like to document, review and approve. Those concepts aren’t inherently anti-agile but they sure can slow things down. Resistance is unlikely to win you any points or make you any friends. Transitioning from a waterfall approach or from […]
Collaborative Team Behaviors Have to Be Nurtured
Great software development teams don’t just materialize as if beamed in by a Star Trek transporter. They can’t be formed by managers who hand-pick the “best and the brightest” to work on a critical project either. Great teams form when people are challenged and have to think for themselves. Here’s a simple example. Let’s say […]
5 Ideas for Engaging Business People in Your Software Project
Getting the business stakeholders and end users to actively participate in a software development project can be tough. They are accustomed to submitting software requests and receiving working software several months later. They don’t like the process or the lengthy wait time but they’ve been conditioned to expect it. Once the software arrives (which doesn’t […]
Software Development and Dieting Have Something in Common
Any change to the way we do things is disruptive. Any deviation from our normal routine is unsettling. Forget about the holy wars around what constitutes the “best” software development approach or whose diet plan produces the “best” results. The challenges of creating software and dieting are the same. Why would a company change the […]
Managing Requirements Is Not Just for Dummies
I just finished reading “Requirements Definition & Management for Dummies” by Robert D. Schneider, Tony Higgins and Keith Barrett. The eBook is being freely distributed by Blueprint Software Systems (registration required). While it’s intended to draw attention to Blueprint’s requirements management software, it’s not just marketing literature. The book makes some good points. Much of […]
Even When You Build the Right Software, You Can Still Get It Wrong
Is it more important to build the right software or more important to build the software right? The lazy answer is something like “…they’re equally important…”. Let’s not be lazy. Let’s think about this. Build the Right Software You can build the world’s best software system but if it doesn’t do what the customer needs, […]
Scrum Isn’t the Problem But You Might Be
Some people claim that Scrum is incomplete, unpredictable and chaotic. Sadly, it’s all true and the same can be said about waterfall, Kanban, Lean, XP and every other approach to building software systems. People making such comments are looking for a step-by-step approach to guaranteed software development success. (If I could define such an approach, […]
Software Projects Can Be Like Combat and Scope Is the DMZ
Change of scope. I’m sure you’ve heard that phrase before. In some companies, it’s ubiquitous. In fact, some project managers love scope changes because they offer opportunities to adjust the schedule. The sinister sister of scope changes is “scope creep”. What is scope creep? It’s a risk faced by projects that try to lock down […]
Successful Team Building Is an Agile Process
You’ve likely heard of Tuckman’s stages of group development. If you haven’t, there’s a nice summary on Wikipedia. I’d to focus your attention on ways to accelerate the team-building process for software development teams. Tuckman articulates four stages of team building — forming, storming, norming and performing. In the forming stage, most people tread carefully. […]