In the Pig and Chicken analogy for Scrum participants (Jeff Sutherland explains Pigs & Chickens), the Pig is the one who is required to make the biggest commitment and put his proverbial skin in the game. For the Pig, it is an all or nothing proposition. They either meet their commitment or they do not, there is no gray area. However, many teams fail to get this level of commitment from their Pigs, or don’t even ask for it in the first place. This is the genesis of the Outlier Pig.

What is an Outlier Pig?

Simply, an Outlier Pig is a member of the Delivery Team (or should be) who is allowed to operate outside the guidelines of the Scrum process. They may not participate in Daily Stand-Ups, Sprint Planning or Retrospective meetings, they may not make commitments at the start of each Sprint, they may not work on tasks related to Stories but instead work on “bigger picture” tasks (creating architecture is a prime example) or they may have to complete tasks that are necessary for the Sprint to succeed, but those deliverables are not tracked like the rest of the Delivery Team’s tasks.

So how are Outlier Pigs created?

Failure To Co-Locate

One of the best ways to create a collaborative and efficient team is to have them all co-located, both spatially and temporally. The first sign that you might have an Outlier Pig in your team is when a vast majority of the Delivery Team are co-located, but one or two Pigs are not. There are a few reasons why this might be the case. Perhaps the company has more than 1 location. Also, companies with a telecommute policy will often accidentally create Outlier Pigs as a side-affect of the policy.

Additionally, Outlier Pigs tend to crop up when project work is partially outsourced and those resources are not on-site (hopefully yours are at least in the same time zone though right?!). In the software world, consultants from ISVs tend to become location Outliers, if they deem it even “acceptable” to participate in your process at all.

Hero Worship

Another type of Outlier Pig is the Hero Coder that is subjected to special treatment because of their Hero status within the team (it could also be the Hero Accountant, Hero Lawyer, Hero Account Rep. etc etc).

The Hero Outlier Pig is someone who based on all definitions should be part of the Delivery Team, but in reality is not ever asked/required to fully participate in the Scrum process. This can be because it is assumed they are too busy, on too many other projects, working on rogue code that is “above” being planned or they simply have a track record of being left alone to deliver the biggest/toughest pieces of projects.

This is a particularly bad situation because it hurts a lot of different aspects of the Scrum team. Firstly, if someone is contributing to a project but not participating in the process, you will lose visibility of the progress of the project, which is one of the main selling points of an Agile process. Also, scheduling of dependent tasks becomes difficult as the Hero never commits to the same time frames as the rest of the team.

Partial Adoption Teams

Scrum teams are intended to be cross-functional by nature and include people from many different departments within a company. However, if Scrum is being adopted in a grass roots fashion (as opposed to a top-down mandate for example), it is unlikely that all of these teams will be fully integrated into the Scrum process at the same time. So you might find the software developers are on board early and trying to work a Scrum process, but maybe QA or the Technical Writers or the Graphics teams are not anywhere near ready to fully embrace Scrum. So while the software developers meet at the start of each Sprint to create a commitment, there may actually be many people who need to deliver tasks to make that commitment possible, but they are not part of the commitment. As a result, their tasks are not tracked (on a Burndown Chart, or a WIP board for example) and the development team may get blocked early in a Sprint because the tasks of the Outliers are not done in the right time-frame.

Herding The Pigs

It is important to identify early on in a project who the Pigs are going to be. Identifying the developers is usually obvious, but don’t forget QA, infrastructure, marketing, graphics and other team members as well. Once they are identified, it is important to corral them and create a homogeneous team that meets, plans and works together efficiently and effectively. Bringing Pigs on-site and including all Pigs’ work in the Sprint planning process is vital to success.

JavaOne 2012

CON8122 - Amazon Web Services for Java Developers

Abstract: Amazon Web Services (AWS) is an ideal platform to develop on and to use for hosting enterprise Java applications. The zero up-front costs and virtually infinite scalability of resources enable Java EE developers to start small and be confident that their infrastructure will grow with their application. In addition, the nature of AWS and the services available help solve some of the problems Java developers often face in more-traditional environments. In this session, you will be introduced to AWS concepts, gain an understanding of how existing Java EE applications can be migrated to the AWS environment, what advantages there are in doing that, and how to architect a new Java EE application from the ground up to leverage the AWS environment for maximum benefit.