A long time ago in a paradigm far, far away, a sage by the name of Fred Brooks proclaimed that a good programmer is ten times as productive as a not-so-good programmer. And then, things were Good; Believers knew the Word of Brooks and followed It.

As the eons came to pass, some began to question the Word of Brooks. These Nonbelievers said that it is impossible for one person to be ten times as productive as another, especially with all that is known about the Agile Method and the new Visual Tools. One of the Nonbelievers, Willem Vermeer's company, went so far as to try to disprove the Word of Brooks: they set out to build a new application with a project team staffed only with ten junior-level programmers.

The Juniors (many with good intentions) worked hard for eighteen months to build the application. When the Day of Deployment arrived, the Juniors worked for another three weeks to get the application deployed. But when the application was used, it became plagued with slowness and bugs. And the more the Juniors tried to fix it, the worse it became. Things were Not Good.

Thankfully, amongst the Nonbelievers was a single Believer. He knew that the application needed just one good programmer. A long political battle raged and, shortly after the Juniors were let go, Willem was brought in to replace them. It was to be the True Test of the Word of Brooks, though a slightly unfair one.

Six months had passed and Willem, who had completely reverse engineered, redesigned, and rewrote every last line of code, thought he'd share the last piece of code that remained from the Juniors before he replaced it.

public ArrayList GetRoles()
{
  if (this.getRols() != null)
  {
    ArrayList roles = new ArrayList();
    while (roles.Count < getRols().Count)
    {
      RoleClass role = (RoleClass)getRols().Item[roles.Count];
      roles.Add(role);
    }
    return roles;
  }
  return null;
}

getRols(), as you may have guessed, also returned an ArrayList; but unlike GetRoles(), it went to the database to retreive the user's roles.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!