ピーターの法則

class 人{
  var $仕事;
  var $適性;
  functio 有能?( ){
    return $this->適性 == $仕事;  //適性にあった仕事なら有能
  }
}
class 組織{
  function 就職( $人, $仕事 ){
    $人->仕事 = $仕事;
    組織::出世街道( $人 );
  }
  function 出世街道( $人 ){
    while( $人->有能?() ) 組織::昇進( $人->仕事 ); // 有能な人は昇進する
  }
  function 昇進( $人 ){ //昇進すると仕事が変わる
    $人->仕事 = 組織::階層[ $仕事->階層+1 ];
  }
}

だとすると

$人->適性 = rand(仕事); // 適性がなんであれ
組織::就職( $人, $人->適性 ); // 適性を見つめて仕事についても
print $人->有能?(); // 常に false!

人はすべからく無能へ

どこに問題があるかという「有能だったら次の仕事へ」という仕組みと「組織の階層がおかしい」というあたりか。
http://www.hirax.net/diaryweb/2005/03/26.html#200503261