彼らは、紳士されている我々として、私は「紙」を書くために戻ってきた、と私は、出版のための物語を見ていない半分の時間は、私が暗黙のルールだったと思うしないようにこんにちは、学生、市民、同志は、同じ年齢ですハハ、ああ。私はあなたを死にたいです。まあ、ADO、今日のテーマを入力します。
お使いのソフトウェア開発チームは、このような問題を持っている:スケジューリング混乱、不適切な機能、完全なシステム・エラー、および理由は左利きと右利きされて何をするか分からない、次のバージョンの考えを、私はめまいを感じました幽霊の終わりに嘔吐、神欠陥、無数の欠陥、無限の残業、コンピュータを殺す完全にキャリア変更のアイデアの開始に興味を失いました。
......
ソフトウェア開発チームに移る前に、我々はすべての機能をどのようにいくつかと、良いチームを見て?
-
- ワイズリーダー
- 優秀な個人
- 厳格な規律
- グッドコミュニケーション
- 共通の目標
- 協調行動
- 良いチームの雰囲気
- 良い習慣
(優れた機能のPMBOKの多くを参照してください)
- あなたのチームは、このような特性は何がありますか?
MSFは、技術的なフレームワークではない、Microsoftソリューションフレームワーク、マイクロソフトソリューションフレームワーク(モデル)の略ですが、マイクロソフトのR&D活動は、方法論を搭載します。マイクロソフト社のR&Dチームは、チームとどのようにマイクロソフトのR&Dチームを懸念し、人々が働いている、うらやましいのですか?本論文では、一緒に探ります。
元のリンクします。https://docs.microsoft.com/en-us/previous-versions/tn-archive/bb497060(V = technet.10)
ここにリンクをダウンロードします。https://download.microsoft.com/download/2/3/f/23f13f70-8e46-4f44-97f6-7dfb45010859/MSF_v3_Overview%20Whitepaper.pdf
このフレームワーク(モデル)は、製品の(2004年)前に、Microsoftの十年ですが、モデルや思考の多くが、チーム管理の多くは、調査・研究を実施してきた、またはあなたが彼の経営理論のセットを持って、読むことを続けてください。
MSFの8つの原則
ソフトウェア開発チームの管理は、それがより重視され、独自の特殊性を持っています:
-
- 可能性と創造性を喚起。
- すべてのメンバーになるための機会となるよう、「牛を。」
- 「牛」の役割を十分に発揮し、牛や他のチームメンバーが調和して動作するようにしましょう。
- 各メンバーがで創造的な仕事に従事し、成功の喜びを楽しむようにします。
ソフトウェア開発チームは非常に特別なチームの一種である、それはマスリーダーを形成することが容易になる、このリーダーは会社によって任命されていませんが、優れた性能によって、自然発生的に実用的な作業に形成されるのすべてのメンバーの心の中で、これらの人々これは、これらの牛はほとんどの人が調和して動作するようにどのように牛の人々は、これはソフトウェア開発チームを管理する主要な困難で、会社を憎むのが大好き、そしてこれらの牛を管理する方法で、私たちはしばしば、「牛」と言うことです。マイクロソフトは、マイクロソフトの経営陣の牛の雲はどのような秘密を持っていると言うことができますか?
MicrosoftのMSFは、以下の8つの基本原則があります。
まず、オープン通信(フォスターオープン通信)
MSFプロセスモデルは、誤解を防ぎ、再実行する必要があります動作する確率を低減するために、チームメンバーと主要な利害関係者間の情報のオープンで自由な流れを可能にします。プロジェクトの進捗状況を文書化し、チームメンバーが利用できるように、利害関係者、および顧客は最高これを達成することができます。
チームの問題のほぼ90%が通信の問題に起因することができ、「コミュニケーション・マネジメント」とは、以下の機能を備えた最も浸水、「オープンなコミュニケーション」の用語のチームの管理となっています:
-
- インスタント、アクティブ:通信通信するときに、すぐにあなたは問題があると感じたときに、すぐに通信する、行って、後知恵は卑劣なです。
- 有効:通信するための最も直接的かつ効果的な方法は、できるだけ簡単なポイント、正確な表現を、ミス。
- 様々な形態:会話、最も効果的な電子メール、MSN、QQとに直面する最も適切な通信する方法、顔と同じくらいように、使用のどのような種類の、最も直接的何。
- 参加:誰もが関与して、誰もが通信するためのイニシアチブを取るだけでなく、すべての人と通信するためのイニシアチブを取る必要があります。チームのすべてのメンバーは、すべての活動に参加します。
- インクルーシブ:異なる意見を奨励するために、すべての側面からの意見に耳を傾けます。
- 直接、率直:表現する最も直接的で率直な言葉で、ごまかしの多くを必要としない、遠回しにする必要はありません。
- ない人:色の眼鏡を身に着けている人は、すべての通信は、物事を成し遂げることです。
第二に、共通のビジョンや仕事のために(共通のビジョンに向かって作業)
MSFプロセスモデルは、共有ビジョンを作成するための位相(想像フェーズ)と別のマイルストーン(承認ビジョン/スコープ)を提供します。ビジョンは、解決策を達成するために必要な目標と目的の詳細な理解が含まれています。共有のビジョンは、チームメンバーと顧客が解決策を持っているという仮定を強調しています。
簡単に言えば、私たちの目標は、一貫性があるとの共通の目標のために一緒に働くことです。すべての偉大なソフトウェアは、ソフトウェアが何らかの社会的価値、経済的価値をもたらす記述する壮大なビジョンの文書を持っている必要があり、ソフトウェアの開発、ソフトウェアアプリケーション、フィールドの範囲はどのような目的で、ソフトウェアがどのようなビジネスを解決することができます質問、どのようなように、このソフトウェアの機能と。以下の条件のいずれか1つが、仕事への「共通のビジョン」とみなすことができないことができない場合:
-
- ビジョンは、私たちが開発に協力し、全会一致で採択していることです。
- チームの誰もが、いつでもプロジェクトの一般的なコンテンツのビジョンを明確にします。
- 仕事、仕事の明確な焦点、仕事で彼らの相違を解決するためにビジョンを持って働くことの明確な政策の指針となるビジョンを持ちます。
こうしたスローガンチームを叫ぶだろう多くの人々が共通の目標を持っている必要があり、あなたはそれを行うことはできませんか?上記の3つの点は、標準的な試験です。
第三に、権限のチームメンバー(チームメンバーをエンパワー)
チームメンバーをエンパワーメントすることはメンバーが責任とそれらに割り当てられた作業の所有権を受け入れることを意味します。チームのエンパワーメントは、チームメンバーが固定した日に自分の仕事を完了するためにコミットスケジュールを調製することにより達成することができます。これは、チームメンバーが責任を感じ、また、プロジェクトの初期段階での潜在的な遅延を同定するための方法を提供します。
「別の機会を示す可能性が異なる個体で最高のチームでリーダーシップを裸、彼らは専門知識の彼らの分野で指導的責任を前提とします。だれが、常にこのような場合はので、人指導者ではありませんその他は全体として組み込むことができず、相互作用性基は、したがって、分割を開始します。建築チームは、ネットワークではなく、階層型であるべきです。 "
リーダーであり、すべての人が、各メンバーがかけがえのない役割を持っているので、私たちが知る限りでは、マイクロソフト社のリーダーシップチームが固定されていない、各メンバーは、専門知識の独自の分野で主導的な役割を果たしています。
第四に、明確な責任と共通の義務を確立する(明確な説明責任と責任の共有を確立します)
MSFチームモデルは、それぞれの役割は、ソリューションの品質の責任であるという原理に基づいています。プロジェクトは、単一のメンバーによって作られた間違いが原因で失敗する可能性があるため、すべてのチームメンバーは、プロジェクトの全体的な責任を共有しています。
このような問題あなたのチームは、この治療法が適切であるならば私たちは、この点の理解をテストしますか?
- 予定より遅れたプロジェクトのスケジュール、プロジェクトの予算は、行くために呼ばれるプロジェクトマネージャーをリードする企業は、深刻な食事を批判したが、他のプロジェクトメンバーを非難しませんでした。
- ソフトウェアの後外に放出し、厳しい批判に呼ばテスターに会社をリードし、重大な欠陥を発見し、また、他のプロジェクトメンバーを非難しています。
あなたのチームは、そのような状況が存在しませんか?
- プロジェクトの進捗についてのみ、プロジェクトマネージャ、予算おばさん疲れて、他の人が完了している「自分の」仕事「遵法」、イニシアチブは、他の例で言うことはありません。
- 問題が発生した場合、誰が戻って蹴られる質問ボールを担当して、誰が責任を取るために望んでいません。
なぜ、このような問題があるのでしょうか?私は何をすべきでしょうか?これは、与えられた責任は、まだ十分に明確ではなかったのですか?
コメントや貢献のために直接責任を負う非フィールドチームのメンバーにそれらを奨励しながら、一緒に最終的な解決のためのチームのすべてのメンバーが担当し、自分の分野で自分の責任を背負うためにチームのすべてのメンバー、。
ソフトウェア開発チームは、プロジェクト管理、要件分析、設計、コーディング、テスト、自分の仕事の責任の各エリアの担当者のすべての分野での人材。ソフトウェアの別の態様は、一緒に働くチームの結果である、誰もが最終的なソリューションを担当し、最終的な解決策が唯一の問題で、チーム全体の責任であり、顕著な成果を達成するための究極のソリューションは、チーム全体の信用です。ソフトウェア開発チームは、「ある
繁栄、双方にとって損失
、」チーム、一緒にすべての人々の利益をねじるための唯一の方法。
この原理を理解した後、我々はまだ言及した前の質問への答えを持っていますか?
第五に、ビジネスの価値に焦点を当てて(ビジネス価値を提供することに焦点を当てます)
ソリューションは、ビジネス上の価値の形で組織に価値を提供しなければなりません。このビジネス値は溶液が完全に本番環境にデプロイされた後にのみ達成されます。
お客様は、開発者は、テーブルから作られ、ラダー、製品の分析であり、デザインはスツールである必要がある、テスターは、それは椅子だと思いました。それはばかげて見えるが、そのような場合は、多くの場合、私たちの周りに発生しています。
我々は、すべての作業成果物を仕事として意味、ビジネス価値の提供に焦点を当て、需要主導型のソフトウェアを確保するために、それを行うには、我々は最終的に顧客が必要と作るものであるべきです。この原則は、意味の以下の層があります。
-
- チームメンバーは、顧客のニーズを完全に理解と一致する必要があります。
- 顧客が一貫する必要があります理解し、チームの後れを取らないかどうかを積極的にプロジェクトのプロセスに関与する顧客が、行ってみましょう。
- 需要主導型の完全なすべての作業は、最終的なソフトウェア製品は、顧客のニーズを満たしていることを確認します。
第六に、器用さを維持するために、変化を受け入れる(変化を期待して、アジャイル滞在)
MSFは、ソリューションを運用環境に展開される前に、連続的な変化に遭遇することを想定しています。チームは認識し、そのような変更を管理するために準備すべきです。
変更を期待して、正確な翻訳が変化しますが、「見える」ことが予想されなければならない私は、価格が上昇すると期待していないが、結果はまだ上昇するように、能動的、しかし、受動的ではありません。私は常駐ホー部門をバーベキューするときほんの数ヶ月前、彼らの警告を見た:「変化を受け入れる」
受け入れる
にそれを知って、問題の背面の価格として、単語がアクティブで、正100%は、ちょうど彼を受け入れる彼のポジティブを受け入れていない、事実は変更されていない、上昇します。別の言い方をすれば、我々は、彼の提案可能な解決策を変更するには、彼の抱擁の変化に積極的な姿勢と、これは我々がプロジェクトマネージャーとして何をすべきかです。
ソフトウェアは、知的創造活動で、最も高い分野のソフトウェア開発の変化に適応する柔軟性を保ちます!私は、これは原理を把握することが最も困難であると感じ、そしてこれまでに把握することが非常に困難です。この原理は、主に以下の分野に反映されます。
ソフトウェア開発プロセス
マイクロソフトは、RUPを使用していない、またそれはXPですが、サブステージのリリースのスパイラルに似ています。マイクロソフトでは、我々はベータ版、リリースバージョン、RTMバージョンを参照してください通常のに加えて、実際には、ベータ版の前に内部バージョンの数があるでしょう、いくつかのバージョンにソフトウェアをリリースする予定。各バージョンは、比較的完全な機能が含まれているいくつかのビジネス価値を実現することができます。各バージョンは、開発サイクル、各サイクルはビジョン、企画、開発、および安定性を含んで、5段階の展開です。需要の変化にうまく適応することができ、このような開発モデルは、任意の時点で、ビジネス上の意思決定を作るのは簡単、ソフトウェアの品質を制御しやすく、デザインは、欠陥をコーディング、デザインを最適化することがわかりました。
デザイン
エレガントなデザインに夢中の人々は、デザインは人々がビジネスに集中、完璧に作るのが好きかもしれないが、それはソフトウェアを思い付く可能な限り迅速に、より集中することがあります。私たちの追求はシンプル、適応設計変更は、ソフトウェア設計の達人の主要なテストであることを確認する方法を、過剰設計ではなく、控えめなデザインです。
七つの投資品質(品質への投資)
MSFでは、各チームメンバーは、ソリューションの品質に責任があります。プロジェクトの期間全体で品質を確認するため、テストチームが形成されています。これは、解決策は、利害関係者の品質レベルを満たしていることを保証します。
「品質第一」は、多くのソフトウェア企業のスローガン、そして唯一のスローガンである、あなたは、このようなプロジェクトにいくつか質問がありますか?
-
- コードはテストをコンパイルして、それが直接送信されていないかどうかさえ、簡単なスモークテストされていません。
- 急いを設計するために書いていないか、ガイドをコーディング設計文書を作成することができません。
- 開発の進行を遅らせ、試験時間は、まだ顧客が直接テストすることができ、ソフトウェアをテストしていない時のソフトウェア配布、完全にテストされていない状況下で配布ソフトウェアを確保するために、圧縮された、または悪化しています。
- 開発中に見つかった問題は、限り解決しないと解決できない、優先順位の進行!
- 真剣に、使用には影響しないので、テストユーザビリティ中に発見された欠陥は、解決されません!
:を含む欠陥ゼロの当社の投資要件、作品全体を通して意識する欠陥ゼロを意識品質、
-
- 欠陥ゼロのドキュメント:など計画の策定時に生成ドキュメント、要件、設計、書くために書かれた決意を使用するために、すべての文書は、文書書かれた文書を書くことではない、その値を果たすべきです。関連するチームメンバーがドキュメントにコメントできるようにするため、彼らの入力を大切にし、文書を変更します。
- 欠陥ゼロコード:コードが書かれた後使用し、テストは無責任ゴミでコードを書くためのコードを記述する欠陥の態度が見つかりません!
- 欠陥ゼロリリース:、独自のコード生成における欠陥を含む姿勢品質への投資、とのすべての欠陥を扱うユーザーに責任がある、ソフトウェアがリリースされていない決定の品質要件を満たしていません。
すべてのチームメンバーは、段階的に沿って、欠陥ゼロのマイルストーンを達成するためにすべての作業を完了するために、高品質なアプローチの一定の追求を同期させる必要があります。
八、すべての経験を学ぶ(すべての経験から学びます)
MSFは、一つのプロジェクトから得られる経験が使用され、他のプロジェクトのチームと共有されるべきであると述べています。これらの経験はまた、組織に従うべきベストプラクティスを識別するのに役立ちます。
Windowsのようないくつかの素晴らしいソフトウェアと同様、非常に長い時間を通じて大量の作業、偉大な建築作品のいくつかを下回らないことの難しさをそれを行うには多くの人々を受けることです。ソフトウェアエンジニアリングと建設プロジェクトのソフトウェアがうまくやっていないならば、あなたは車輪の再発明をすることができ、最大の利点ですが、建物の作品はそうすることはできません。
私は、ソフトウェア工学や建築工学の比較を取得し、目的は、彼らがソフトウェアを学ぶ強調するないことを強調している非常に、非常に(もちろんの建設プロジェクトにも学習に焦点を当てて)継続的な改善を強調しています。我々は、多くの幸福のために工事を行うよりも、これらのソフトウェアを行うことを喜んでいる必要があり、我々はミスを補うことができないいくつかを作ることはほとんどありません。「過去を忘れる人は、過去(過ちを)繰り返すことが確実です。」
私たちは、彼らがチームメンバーがベストプラクティスをキャプチャ、再び成功を支援し、技術的または非技術を共有し、制度化学習にする方法を見つけるために、自分自身や他人の失敗と成功から学びたいです。など、プロジェクトの概要、定期的な会合、など、多くのことを学んで、学習が動作するようにあなたができる限りのことを学ぶことを学ぶの姿勢を保持し、任意の時点で行われるべきであることに留意すべきであるに制度化されたアプローチ。
マイクロソフトのプロジェクトチームの構造
マイクロソフトでは、我々はMicrosoftのチームはで構成されている方法を見てみMSFの8つの基本原則について話しましたか?
プロジェクトマネージャー、プロジェクトメンバーの数、要求分析、アーキテクチャ設計、コーディング、テスト、および他の役割など、プロジェクトメンバーで向かっているそのほとんどは、多くのソフトウェア開発チーム、。
MicrosoftのMSFチームの定義は非常に特別である、彼らはプログラムマネージャ(プログラム管理)、開発(開発)、つまりプロダクトマネージャー(製品管理)6クラスの役割、で(実際のプログラムマネジメントは、プロジェクト管理である)プロジェクトマネージャされていませんテスト(テスト)、リリース管理(リリース管理)、ユーザーエクスペリエンス(ユーザーエクスペリエンス)。
役割 |
目標 |
機能領域 |
責任 |
製品管理 |
ミート顧客 |
市場開発 ビジネスバリュー カスタマーサポート 製品計画 |
顧客役割は、プロジェクトチームとして機能することです 想定共同主導のプロジェクトやプログラム 顧客の需要の説明 ビジネスケースの開発と保守 顧客の期待を管理します ドリブン製品の機能、スケジュール、リソースのトレードオフの決定 市場開発、製品のプロモーションや広報の管理 開発、保守および交換プログラム |
プログラムマネージャ |
プロジェクトの制約を満たすためのソリューションを提供 |
プロジェクトマネジメント ソリューションアーキテクチャ プロセス保証 管理サービス |
時間通りに製品を提供するために、開発プロセスを駆動し 管理製品仕様 - チーフプロジェクトアーキテクト グループ交換と内部の審議を促進 保守プロジェクトのスケジュールとレポートプロジェクトのステータス 重要なトレードオフの意思決定を実現するためにドリブン 総開発、保守、プロジェクトの計画とスケジュールの実装 ドリブン管理とリスク評価とリスク管理 |
開発 |
仕様に基づいたソリューションを作成します。 |
技術コンサルティング 建築とデザインの実現 アプリケーション開発 インフラ開発 |
ここで指定した物理設計 各機能に必要な予想完了時間と労力 各機能の構築とその実施を監督 ときに使用する製品を展開する準備ができました グループの主題に技術的な専門知識を提供 |
テスト |
これらは、製品の品質に関連するすべての事項に識別し、処理した後にリリースされました |
テスト計画 テストエンジニアリング テストレポート |
あなたはすべての問題を理解していることを確認します 私たちは、テスト戦略と計画を決定しました テスト実行 |
ユーザーエクスペリエンス |
ユーザーの生産性を向上 |
技術交流 列車 可用性 ユーザーインターフェイスのデザイン 国際化 使いやすさ |
ユーザーの役割は、プロジェクトチームとして機能することです ユーザーの要求仕様を管理します パフォーマンス支援システムの設計と開発 ドライブのパフォーマンスのトレードオフの決定のユーザビリティとユーザ効率の ヘルプ機能と仕様のヘルプドキュメントをユーザーに提供するために、 ユーザートレーニングを開発し、提供 |
リリース管理 |
展開と日常の操作をスムージング |
インフラ サポート オペレーティング ビジネスリリース管理 |
製品管理の展開 驱使可用性和可支持性权衡决策 管理各种操作、支持和交付渠道之间的关系 为项目小组提供后勤支持 |
微软的MSF团队模型中的6种角色,不代表团队最少要6个人组成,一个人可以兼任多种角色,也不代表每一种角色只有一个人,可以多个人公担一个角色。微软这种团队结构与我们常见的团队结构相比,有这样的特点:
扁平对等的团队结构,强调每个人的价值
这种团队结构,是“赋予小组成员权力”、“清晰的责任和共同的职责”、“推动开放式沟通”这三个原理的表现。这样的结构,让每位小组成员都感受得到自己的重要性,项目的成败与每位成员直接相关。这样的结构更容易调动每位成员的工作积极性,更容易让团队激发工作热情,产生更多的创造性成果。
微软很重视的我们常会忽略的用户体验和发布管理
微软团队的6种角色所负责的工作,覆盖了软件开发中需要考虑的各个方面,用户体验、发布管理是常被我们忽视的地方。微软软件的用户体验都非常好,规范一致的界面,详细的帮助系统,良好易用的安装程序,良好的技术支持等。微软创造了很多界面规范,操作习惯,这些都是我们需要认真去学习的。
知识(储备)管理
软件开发团队是知识密集型的团队,学习再学习,是软件开发团队的重要特点。没有学习的团队,是没有活力的!
如何保证团队的每位成员都具备完成本项目的能力呢?就绪管理就是来解决这个问题的。
小组成员的6种角色,需要不同的技能来完成本职工作,任何一种角色技能的欠缺,都会影响最终解决方案。小组应该根据项目的愿景,列出各成员所欠缺的技能,这些技能包括技术方面的也包括非技术方面的,安排相应的学习计划、培训计划,保证每位成员的技能都达到要求。
知识管理还包括知识的共享和积累、技能的评估、技能提升机制等。从微软提供的系列认证,如MCSD、MCP等,大家就可以感受到微软系统的培训制度。项目团队的知识管理,应该在组织层面上进行,跨越项目组进行,每位团队成员都可以学习其他团队的经验,每位团队成员都可以共享知识给其他的团队。
风险管理
MSF团队提倡积极主动的风险管理、持续的风险评估,并在整个项目和运营生命周期内融入风险决策。对风险进行持续的评估、监控和积极的管理,直到风险得到解决。MSF团队风险管理流程定义了六个逻辑步骤,团队使用这些步骤来管理当前风险、计划和执行风险管理策略,以及为企业获取知识。
-
- 识别风险:风险识别的过程要求所有团队成员参与风险的识别,使团队意识到潜在的问题。作为风险管理过程的输入,应尽早进行风险识别,并在整个项目生命周期内频繁重复。
- 分析并确定优先级:风险优先级使团队能够投入项目资源来管理和决策最重要的风险。
- 计划和时间表:风险规划从风险分析和优先顺序中获得,并将其用于制定战略、计划和行动。风险调度确保这些计划得到批准,然后纳入项目管理过程和基础设施,以确保风险管理作为团队日常活动的一部分进行。风险调度明确地将风险规划与项目规划联系起来。
- 跟踪和报告:风险跟踪监控特定风险的状态及其各自行动计划的进展情况。
- 控制:风险控制是执行风险行动计划及其相关状态报告的过程。风险控制还包括当风险状态或风险计划的变化可能导致项目特征、资源或进度的变化时,启动项目变更控制请求。
- 学习:风险学习将从项目中获得的经验教训形式化,收集相关的项目工件和工具,并以可重用的形式获取这些知识。
(感觉这里跟PMBOK差不多)
结语
MSF的团队管理办法,似乎就是解决我们开发团队管理问题的灵丹妙药。但实际上没有这么简单,这种管理办办法要成功,还必须满足这样的条件:
-
- 必须要有坦诚、积极、向上的企业文化。没有这样的文化,什么“推动开发式沟通”、“质量投资”等原理是难以做到的。
- 团队中每一位成员都是能力相当水平相当的,没有素质特别差的成员。这点做不到,是很难应用“为共同的愿景工作”、“赋予小组成员权力”等原理的。
实际上这两点都是很难做到的,微软是通过招聘优秀的人来满足这两个前提条件,另外美国文化下成长的软件开发人员,都是很有主见,沟通很主动,表达能力强,也注重自我价值的,而我国开发人员,很多是少说话多干事(大多是撸起袖子加油干),表达能力特别是书面表达能力差的。当然难做到不代表做不到,MSF的团队管理中有很多值得我们学习、品味、实践的地方,我们要做的是掌握其精髓,结合我们自己的实际情况,灵活地用起来。