マネジメント昨年話題になっていたこちらの本を読んでみました。Kindle版この商品を含むブログを見る内容としては、「エンジニアリングの本質とはなにか?」にといったふわふわした概念について論理立てて説明されている、非常に興味深い内容になっています。読んでみて思うところがあったので、今回はそのメモです。drなんとなく、個人的な大事だと感じたことを列挙するとこんな感じです。エンジニアリングの本質は不確実性を排除し、具体性を付与する(情報を生み出す)こと不確実性の根源は「他人」と「未来」で、これらをマネジメント・ハンドリングすることこそがエンジニアリングこれらを組織では、メンバーが自立的に問題解決するように促すメンタリングが有効に機能する必要がある不確実性に立ち向かう組織には"アジャイルである"ことが求められるアジャイルなチームであることで、不確実性を正しく把握し確実に削減していくことができる組織全体で不確実性を削減していける状態を保つためには、組織構造にも気を配る必要がある思考のリファクタリングこの本では、エンジニアリングの本質は「曖昧さ」を減らし、「具体性・明確さ」を増やす行為だとしています。言われてみればそのとおりですね。ソフトウェアを作ることも、要件を固めることも、組織を組み立てることも、全てエンジニアリングの一部だと思います。エンジニアリングが対象となる問題は、大体が答えの無い問題です。不確実性満載で、どこから手をつけていいかもわからないことがほとんどです。いった問題に対して、具体性を与え、最終的に問題を解決することがエンジニアリングの本質なのだと思います。曖昧さ、不確実性の根源は、「未来」と「他人」です。この不確実性を下げるために、エンジニアリングと名のつくあらゆる行為は行われます。不確実性のコーンとかを使って、プロジェクトが進むに連れてだんだん不確実性が下がっていくと言われたりしますね。不確実性のコーン不確実性を下げるためのポイントとして3つ紹介されています。事実と意見の切り分けをはっきりさせることが、問題を把握するために重要なこと経験主義と仮設思考いくら考えてもわからないことはたくさんあり、筋の良い仮説に基づいて試行することで不確実性を削っていくシステム思考トップダウン型思考では物事の関係性すべてを把握することは難しいので、システム全他を俯瞰的に観察することが大事なんとなくこんな感じでしょうか。個人の理解なので、間違ってたらごめんなさい。本ちゃんと読んでください。これらをフル活用して不確実性に立ち向かうことが有効だとしています。...頭ではわかっているものの、なかなかうまくできないんですよね。メンタリングの技術メンタリングってなんだっけ?本書の定義によれば、こんな感じらしいです。対話を通じて、メンタリングする人の思考力を一時的に貸し出し、思考の幅を広げていくことで、その人の歪んだ認知を補正し、次の行動を促し、成長させていく手法です。ほほう...難しいですな...個人的な理解としては、こんな感じだと思ってます。問題の傾聴と整理コントロール可能な事象と方針の共感かなと思います。メンタリングってどうやってやるかあるべき姿とお仕事の方針が分かったところで、具体的な手法について、たぶんこんな感じですかね。傾聴メンタリングは、メンティーの問題を解決するためではなく、メンティーの抱える問題を明確にするために実施します。メンタリングでは自分の意見を言うのではなく、メンティーの不安材料を一つ一つ明確にして、次に何をすべきかを自分で気づかせることが必要です。これが、聞くこととメンタリングすることの違いです。メンターの正論を振りかざすのではなく、メンティーの感情が深く入り込んだ問題把握を、客観的見るように仕向けることが必要です。気をつけないといけないことは、「人の言葉には感情が乗っかっている」ということです。事実を客観的に語ることはなく、少なからず主観によって脚色されていきます。それを適切に切り分けて、具体的かつ客観的に捉えさせることが必要になります。SMARTあとは、メンティーへのフィードバックとして、内面に対するフィードバックではなく、行動や習慣に対するフィードバックをするとが大事らしいです。能力や結果は、本人が必ずしもコントロールできない部分なので、そこではなく行動や習慣など、本人の力でどうにかなる範囲に対してフィードバックすることで、建設的なメンタリングになっていくはずです。このときの考え方にSMARTと呼ばれるものがあります。Specific:具体的なMeasurable:測定できるAchievable:到達可能なRelated:当人に関連したTime-Bound:時間制限のあるこれらが満たされるように仕向けるフィードバックを行うことが重要になります。していくことで、より具体的な行動をメンティーに想起させることが可能になります。すれば、自ずと自発的に動くようになっていくことが期待されます。アジャイルなチームの原理アジャイル開発が必要とされた理由アジャイル開発が必要とされた理由は大きく2つで、ソフトウェアの大規模化・複雑化に対応するマーケットの不確実性に対応するためです。どちらも、不確実性に対応するためと言い換えることができそうです。マネジメントってなんだっけ?マネジメントとは、対象となる○○の資源・資産、リスクを管理し、効果を最大化する方法です。それ以上でもそれ以下でもありません。Agile"とかいう言葉が使われたりします。アジャイルのお作法に乗っ取るだけでなく、アジャイルの考えを体現しろってことなんでしょう。メンタリングが適切に機能し、チームとしてゴールに対して高いゴール認識を持った「自己組織化されたチーム」である状態になることが、アジャイル開発の本質のようです。言葉だけメモっときます。そのうちアジャイルについてちゃんと勉強すると思うので、そのタイミングでこの辺は復習したいと思います。SECIモデルは組織の成長には、形式知と暗黙知のループが必要と考えるモデル、ダブルループは行動と結果の反復学習から前提を疑う外側のループを含めた学習モデルのようです。歴史的な話はおいてちょっと気になった部分を挙げておきます。