Linking the left brain and the right brain

Category: Principle

Most software developers have heard the line “You can have it good, fast or cheap. Pick two.” This idea relates back to the iron triangle of software development. The usual idea is that quality is fixed while time, money and/or scope can change. In reality, all four elements are changeable. We simply don’t like to […]

What does it take for your software development team to be agile? Only you and your team can answer that question. I can offer my opinion about being agile but your circumstances may vary. The characteristics that one person requires for agility will be different from what someone else in a different situation requires. For […]

In my last post, I discussed getting the waste out of your existing software development process. The idea is to get lean and use the leaner process as a stepping stone to becoming more agile. Let’s continue that discussion. So now that your project approach is leaner — streamlined — what next? Many companies are […]

Watching an NFL football game and seeing my favorite team lose as a direct result of the officiating got me thinking about the effect of too much management intervention in software development. So here’s what happened. I was watching the (NFL) football game on Sunday between the New England Patriots and the New York Jets. […]

Ad hoc requests. We don’t like them. You’re in the midst of working on a scheduled task. You’re working hard, trying to get the job done in the allotted time. Then suddenly, it strikes — the ad hoc request. They come in many forms. Here are a few examples of how they arrive: “Oh, I […]

There’s a natural tendency on many agile software development teams to rush the work effort near the end of a sprint. Let’s face it, a deadline is a deadline. The team commits to completing a set of stories during the sprint. They work hard and often scramble near the end to keep their commitments. There’s […]

Focus on the product not the project. We use the term “project” a lot in software development circles. One person might be building a small desktop application or a massive group of teams might be implementing an enterprise solution. They are both projects. Neither the development approach nor the technology suite matters. Ultimately, anything can […]

Scaling agile software development techniques to enterprise levels has plenty of challenges. Getting a small team — say 5 to 7 people — working together and building great software solutions happens regularly. Getting large teams — say 500 to 700 people — to do the same is an engineering feat that challenges our human abilities. […]

Scope creep. Virtually every software project suffers from it. Development teams start out with elegant and simple ideas. They toss them around amongst themselves and get excited about the prospect of delivering great software. They engage more people in the effort such as business stakeholders, power users, and senior managers. As they do, features get […]

Defects. Every software package has them. Some defects are minor and don’t interfere with the operation of the system. Others are ugly, causing business users to lose data. Some are repeatable and consistent. Others are hard to replicate and tough to track down. Part of what makes defect repair so difficult is that we often […]

Speed. It’s a frequent topic among software development teams. How fast can the team deliver product X? Can the team cut a few weeks off the development schedule? If the team switches from waterfall to Scrum, how much time will be saved on the delivery schedule? Those are all the wrong questions though they are […]

There are many decisions that have to be made during the course of every project. No matter how much planning takes place at the outset, many details will have to be worked out along the way. Also, don’t forget the unplanned work items and change requests that inevitably happen along the way. Not a day […]

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

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

I’ll bet you’ve seen this happen. It may even have happened to you. The business folks are using software they built to track and report something important. The software is a bit crude, maybe even primitive, but it works. It’s simple. (Often, Microsoft Excel and/or Microsoft Access are the preferred tools.) Everyone loves the insights […]

Here’s a question that I believe generates some of the controversy around agile software development techniques versus waterfall techniques. If your team delivers fewer software features and functions but the software is higher in quality, are your user base and your company better off? Agile teams often claim to deliver better quality software. I agree […]

I’m sure you’ve heard the fable of the chicken and the pig as it applies to Scrum. In case you haven’t, it goes something like this: Chicken: Hey, Pig, let’s open a restaurant. Pig: Okay. What would we call it? Chicken: How about ‘Ham ‘n Eggs’? Pig: No thanks. I’d be committed but you’d only […]

Are you accountable? Someone has to be. Work must get done. Software must be delivered. All the supporting artifacts that go into building great software must be created and maintained. We all know that, right? But are you accountable? Is your work clearly defined? Do you know precisely what you have to do? Do you […]

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

This is the sixth and final post in a series about building great software using agile techniques. The series began here. Many people, managers and developers alike, view agile development approaches like Scrum and Kanban as just another way to write software. Once they decide to try an agile approach, they quickly realize how wrong […]

Intro

Welcome to BrainsLink.com - a blog written by Vin D'Amico about enterprise agile and its use in software development and business operations with occasional forays into open-source software and emerging technologies.