Month: June 2013

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 […]

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 […]

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 […]

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 […]

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. […]