Seven Strategies for Team Agreements

May 8, 2013 0 comments

One of the most valuable documents teams can create is a Team Agreement. Team Agreements for software development can range from very detailed specifications of coding standards and practices to a general statement of moral and ethical conduct, or anywhere in between. Team agreements help set the context for team member expectations and provide a [...]

CONTINUE READING THIS POST →

Seven Strategies for Remote Teams

April 23, 2013 0 comments

It used to be thought that if only we could write a good specification that accurately described what was to be built, we could take advantage of the cheap labor overseas to cut costs and get software built faster. Unfortunately, reality often shatters such naive hopes. However, outsourcing overseas can help for many tasks and [...]

CONTINUE READING THIS POST →

Seven Strategies for Working with an Onsite Customer

March 19, 2013 0 comments

One important characteristic of agile development over non-agile processes, such as waterfall, is the presence of an onsite customer. Unlike the Project Manager or ScrumMaster, whose job it is to keep the team healthy, the Product Owner or onsite customer representative’s job is to be a proxy for the real customer and ensure development is [...]

CONTINUE READING THIS POST →

Seven Strategies for Successful Agile Development

February 12, 2013 0 comments

Agile is not a silver bullet but it does have the potential of improving software development when done correctly. Unfortunately, teams newly adopting agile practices often don’t know how to get the most out of applying agile practices until it is too late. Here are seven strategies for getting more from agile software development. 1. [...]

CONTINUE READING THIS POST →

Seven Strategies for Customer Collaboration

January 9, 2013 2 comments

My wife is a video producer. Her job is not very different from our jobs as software developers. Both jobs demand lots of creative problem-solving where we face different challenges every day, and both jobs often involve close collaboration with our customer or a subject matter expert. My wife, Staci, is great at creating videos [...]

CONTINUE READING THIS POST →

Seven Strategies for Team Swarming

December 11, 2012 0 comments

I don’t see a lot of talk about team swarming (sometimes referred to as mobbing) yet it can be one of the most powerful problem-solving techniques for breaking through really difficult challenges. A swarm is where you get the whole team together to focus on solving a single problem. You can also focus on multiple [...]

CONTINUE READING THIS POST →

Seven Strategies for Pair Programming

November 8, 2012 0 comments

Of all the agile developer practices I teach, pair programming gets the most resistance from management. Managers often ask me how putting two developers on the same task can possible be more efficient than having them work independently on different tasks…but it most definitely is. Well, you may not find a huge increase in the [...]

CONTINUE READING THIS POST →

Seven Strategies for Doing Emergent Design

October 16, 2012 0 comments

Emergent design is an advanced technique, drawing on several agile practices. When done correctly, it can be a highly efficient way of building quality software but it is not a beginner technique, it requires a deep understanding in many areas. Here are seven strategies to help you master emergent design: 1. Understand object-oriented design Just [...]

CONTINUE READING THIS POST →

Seven Strategies for Agile Infrastructure

September 20, 2012 0 comments

The first step in achieving agility and technical excellence is to set up an infrastructure to support it. The infrastructure we will discuss here, an automated build server, is one of the most important aspects of agility because we can only consider a story as “done” when it is fully integrated into the build. Here [...]

CONTINUE READING THIS POST →

Seven Strategies to Foster Hyper-Performing Teams

August 23, 2012 0 comments

Hyper-performing teams do exist. I know teams that are an order of magnitude more productive than average teams. Achieving hyper-performance is possible if everyone on the team has the skills and a burning passion to do their best. Here are seven tips that can help your team become high performing, if not hyper-performing: 1. Know [...]

CONTINUE READING THIS POST →

Seven Strategies for Improving Your Scrum Process

July 24, 2012 0 comments

Scrum is a minimal framework for providing feedback so we can constantly improve our development process yet many teams use Scrum prescriptively without using the feedback that Scrum makes available for ongoing improvement. Here are seven strategies for using Scrum to improve your development process. 1. Use retrospectives Scrum offers many subtle feedback loops to [...]

CONTINUE READING THIS POST →

Scrum for Science

June 21, 2012 1 comment

I’ve been fortunate to work with clients whose business requires a large amount of scientific research. One client is so committed to Scrum that they brought their researchers to my Scrum Developer Certification training and for the first time I seriously looked at how to use the practices of Scrum and XP to do scientific [...]

CONTINUE READING THIS POST →

What Do You Hate About Developing Software?

May 22, 2012 0 comments

I have asked the question “What don’t you like about developing software” to thousands of developer and I often hear similar answers. The list is a bit longer than the list of what we love about developing software, discussed in my last post, but don’t infer that it outweighs what we love about it. I [...]

CONTINUE READING THIS POST →

What Do You Love about Developing Software?

April 27, 2012 0 comments

I have asked this question to thousands of developers in my classes and I always hear very similar answers: “I love creating something new that has never been done before.” “I love giving people tools to help them do their work more efficiently.” “I love solving problems.” “I love learning about new domains.” “I love [...]

CONTINUE READING THIS POST →