web-dev-qa-db-ja.com

「質のカルト」を作成する方法

DeMarcoとLister(Peopleware)は、プログラミングチーム内で「品質のカルト」を作成することを推奨しています。イライラして、彼らはあなたがそれをどうやってやるのかを提案していません!

これを達成する方法について誰かが何か考えを持っていますか?

21
Craig Schwarze

私の経験では、開発チーム(一般的にはどのチームも)は3種類の人々で構成されています。

  • 品質のための組み込みのドライブを持つもの、
  • お金(ビール/女の子/何でも)のためだけにそこにいて、あなたが彼らにやる気を起こさせようと試みたとしてもそれほど気にならなかった人々、
  • 「平凡な」もの(より良いWordがないため)。

最後のグループは最大であり、彼らは与党に続く傾向があります。チームに十分な質の高い人がいる場合、彼らは大多数を自分で引っ張ることができ、チームの精神とモチベーションに強い上昇スパイラルを作り出します。ただし、スラックが多すぎると、反対の効果である死のらせんを簡単に作成できます。

したがって、マネージャーの最も重要なタスクは、適切な人を選択して維持し、悪い人をできるだけ早く取り除くことです。 「平凡な」ものではありませんが、改善に影響を与えたり、他の人の良いアイデアをサポートしたりするために影響を受ける可能性があります。

[Update2]を反映して Albの答え :IMOチーム内で質の高い開発者が過半数を占める必要はありません(それは害はありませんが:-)。 "trend setting threshold"があります。これを超えると、サブグループのビューと動作がすぐにコミュニティ内の「主流」になる可能性がありますなので、他の人が気づき、フォローし始めます。これは、より大きな社会で常に働いています(例:(非)喫煙習慣、健康とダイエット、ポップな流行、有機食品)。私の大まかな見積もりでは、25〜30%程度になる可能性がありますが、多くの要因に依存します。これは、悪い人々が多くの人を傷つけることができる場所です。チーム内の数人の悪意のある人でも、そのしきい値を大幅に上げることができます。[/ Update2]

もちろん、必ずしも十分な数の優秀な人材を雇うことはできません。したがって、最初の派閥が単独で物事を推進するのに十分に強くない場合、経営陣はそれらを助ける必要があります。これに関するいくつかの考え:

  • 私は、スクラムが製品デモでこれについて良いアイデアを持っていると思います。チームメイトだけでなく他のチームの開発者、管理者、さらにはアプリのユーザーで構成されるオーディエンスの前で実装した機能を実証することは、誇りの大きな源であり、チームを激励させる強力な要因にもなります。

  • もう1つは、品質に関して開発チームに真剣に耳を傾けることです。 DeMarcoとListerは、開発に何ができるかについて開発チームが拒否権を持っている会社/部門があるとさえ述べています。アプリの準備が整っていない場合は、管理者の希望に関係なく、リリースを延期できます。今では管理は難しいですが、チームの精神を築き、言葉のレベルだけでなく、品質が本当に重要であるというメッセージを強く伝えることが想像できます。

  • これは次のポイントにつながります。「品質のカルト」を作成するには、経営陣は最も経験豊富な開発者がすでに知っていることを徹底的に理解する必要があります。品質は後付けではなく、最初から製品に組み込む必要があります。したがって、人々は長期的な保守性について考え、quickソリューションではなくgoodソリューションを模索するように奨励(そして報われる!)する必要があります。

更新

@Machadoのコメントで、質問に新しいひねりが加えられました(少なくとも私には):

私は、マネージャではなくチームメンバーとして、チームのコード品質を向上させるために何ができますか?

いくつかの考え:

  • 学習を続け、知識を聞いている人すべてに広めます。 専門分野のベストプラクティスを学び、使用します。
  • あなたの仕事に誇りを持っています
  • これら2つは、ほぼ自然に他の人のための前向きなロールモデルになります-特に新人と後輩-;これを意識し、チーム全体の利益のためにあなたの役割を活用してください。他の人に影響を与える最良の方法は、良い例です。
  • コードだけでなく、ソフトウェア開発のプロセス全体にも注目してください。質問を続け、フィードバックを提供して開発プロセスを最適化します

そして最後に重要なことですが、「トップガイ」になることができる場所を見つけます。あなたが今「平凡な」グループに属している場合は、自分を成長させるために努力してください-うまくいけば、上記のアイデアがその助けになります。しかし、あなたが現在のチームの「下層」にいる場合は、その理由を分析することをお勧めします。あなたをやる気にさせるのは何ですか?悪い労働条件?チームメイト?管理?仕事の種類?そして、あなたをワクワクさせ、興味をそそるのは何ですか?それについて同僚や上司と話す必要があるかもしれません。あるいは、輝き始めることができるより良い仕事、あるいは新しい職業を探す必要があるかもしれません。不満や憂鬱な活動で人生の大部分を過ごす価値はありません。

また、外部要因(より良い仕事の機会の欠如、請求書の支払いの必要性など)により、現在の最適ではない仕事を継続せざるを得ない場合もあります。それは時々起こります。この場合でも、それを最大限に活用するようにしてください。質の高い仕事を生み出すことは(状況が許す限り)それ自体が報酬であり、それはあなたの自己評価を維持し、長期的に自分を正気でオープンに保つのに役立ちます。したがって、より良いものの機会が現れたとき、あなたはそれを取る準備ができています。

37
Péter Török

Peterのコメント (実際にはコアの問題です)に加えて、品質が後で追加される機能ではないことを確認する必要があります。

すなわち:

  • 「後でクリーンアップします」という考えの痕跡を取り除きます。代わりに、正しい方法でそれを実行するために最初に努力をします。
  • 変更がレビューされ、開発者以外の誰かが関与するある種のQAプロセスを通じて機能することを要求します。
  • プロジェクトの初期段階で品質について考えさせます。開発中は、「他の人がこれを使うとどれほど簡単に維持できるか」などに焦点を合わせてください。
  • 発生したバグを追跡して報告します。傾向がある場合は、バグの根本的な原因に対処する方法を検討してください。
  • ソフトウェアを改良できる工芸品であり、クリエイターが誇りに思うものを紹介します。
2
jzd

すばらしい答え PéterTörök著、これは大多数の善良な人々のみがこれを管理することを強調します。良い人ができたら、スティックではなくにんじんのアプローチをもっと目指す必要があります。開発者に権限を与え、プロジェクト/タスクの所有権を取得し、品質の面で競争を促進します。プロジェクトの品質をどのように改善したかについて短いプレゼンテーションを行ってもらいます。優れた開発者は、同僚を感動させる動機付けになります。

2
Alb

最善の方法は、出力よりも品質を高めることです。これは、リーンソフトウェア運動(リーン製造に基づく)の前提の1つです。 Leanはすべてについて について議論する長いブログ投稿を書きました。質の高いカルトを作成する方法を教えます。従業員に投資し、従業員に会社への投資を許可します(金銭的な投資ではなく、個人的な投資)。

ダンピンクは TEDでの素晴らしい講演 に私たちのやる気を起こさせるものについて語りました。彼は特にそれを参照していませんが。 マスロウのニーズの階層 観察された現象を完全に説明します。雇用主が最初の2つのニーズに対応している限り(つまり、お金が問題にならないように十分なお金を支払う)、残っているのは、所属、自尊心、および自己実現です。

  • 所属するための強固なコミュニティを提供します。
  • 従業員が間違いを犯すことを自由にできる環境を与え、彼らが達成したときに彼らが尊敬を築くことができるようにします。
  • 開発者に手綱を渡し、自己実現のための重要な決定を行えるようにする

品質は指示できるものではありません...むしろ有効にされます。従業員が最善を尽くして道を切り開くことを信頼してください。結局、あなたは彼らに彼らが去る必要があることを彼らに伝えなければならないでしょう。彼らにもっと時間をかけるように頼むのではなく

1
Michael Brown