トップページ | 全エントリー一覧 | RSS購読

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コミットメントの大事さは、アジャイルだけじゃない

すごい人がすごいことを言ってたので、反論ではなく、自分の考えを整理してみたい。

アジャイルがダメだと思う7つの理由

1.全体スケジュールにコミットできない
(中略)
てか「やってみなきゃ分からない」なんてことは誰でも知っているんだよ。でもさ、それを言わぬが花。大人なんだからコミットメントをしないといけないんだよ。そして、その達成ためには、あらゆる手段を尽くすのです。



主に「大人なんだからコミットメントを」とさらっと一言で言われていた点について。

スケジュールは、QCD的に予算とスコープに連動するので、
ここでのコミットメントとは、3つまとめて「プロジェクトの成功の約束」と捉えてます。

私のコミットメントの考えを一言で言うと、こういう感じ。

未来を創るときに必ず不確定リスクがあり、誰かがそれを背負わねば、未来は創れません。
購入者の皆様、ITに詳しくなってリスクを分担していただいた分だけ、価格を減じることができます。
詳しくなるにはコスト(勉強、専門家雇用)がかかりますが、メリットが大きい方をお選びください。
いずれにせよ、達成できると考えており、達成のためのステップはこうなり、この点の協力が必ず必要です。



ITの技術に詳しくない方々に、ITの成果物(サービス・製品)を購入していただく時に、ITの特性を元にしたリスク受容を要求しても、詳しくないが故に、納得してもらえることは少ないだろう。もっと成熟した他のサービスとの比較で考えているはずだ。
でも、大量生産や多品種少量生産と違って、一品一様なものを作るときは、未来を統計的に予測できないので、どうしてもその矛盾にぶつかる。
プロフェッショナルサービスは、常にその矛盾を内包し、その矛盾を矛盾のまま放置せず、解決して価値として提供するものだと思う。


もう少し例文っぽく言うと、

「未来に進むとあれやこれやの問題が生じて、対応を誤るとすべてを台無しにしてしまうこともありますが、私の専門分野とする部分は必ずクリアし、私には決めきれない部分は『購入者様』に問題を整理して決断いただけるようにしますので、きっと達成できますよ。」

「きっとできる」と私が思えたとき、話を持ってきた人に、できます、って答える。もちろん、相手に理解度によって、「それは実現できる。できるんだけど、いろいろ条件があって、うまく進めたいので協力してね。この点とあの点とその点がまず最初にうんぬん。。。」って、念押しで説明することもある。

「出来ないかも知れないけど、いいですか?」というサービスがあったとして、
それを良しと思うのは、サービス購入者が自分でうまくコントロールできると思っているときだけだと思うんだよね。
それ以外では、他に選択肢もないし、まぁ妥協するか、だと思う。

もちろん、私も自分に解決できない点を相手に戻してるので、同じこと。
サービス購入者が、自分で直接指揮をする場合と、監督する場合とで、購入者が決断すべき内容が違うあたりが、価値を実現する人が分担してるコミットメントだと思う。

完全にすべての責任をコミットメントして、達成を保証し、未達の場合は対価を支払わない形で責任を取るケースも考えられる。自社の資金で自社サービスを作る場合なんかもそうだ。
そういう場合では、実行側の頭の中に、主観的根拠で達成率があって、期待値的にプラスになる絵図が思い描かれてるだろう。一発勝負がすべてで、負ければ首をつるしかない、って状況ではないはずだ。

未達なら一発で取り返しのつかないことになるって状況のコミットメントは、賭けなので、賭けに乗れない人は乗らなくて良いと思う。
でも、人生プロジェクトでは、一度ぐらいは賭けをせねばならず、なんとしても大負けを避けねばならない時があると思う。







リスクなく未来が作れるのは、計算論的に未来が確定してる状態。
マックスウェルの悪魔でも飼っていれば可能かも知れないけど、悪魔ならぬ人間の身には無理なこと。

ただし、その無理を確率論的リスクとして抱え込んで、それなりの期待値で成功させてしまう凄腕がいて、そういう人らが仕事をかっさらって、価値転換した新時代を作っていく。
成功報酬型のリブセンスと、掲載費用型のリクルートの違いじゃないかな。
これが市場競争でもたらされる進歩だで、人類の歴史とは、そういうことの積み重ねだと思うんだ。

私はそういうができるようになりたいので、少しでも自分が「(コミット)できる」ことを増やしたいと思う。
仲間たちもそれを望むなら、そのお手伝いをしたいと思う。
スポンサーサイト

今年の目標

今年の目標は、

・9時までに帰る職場にする。
・あいた時間で、外に発信するモノや情報を増やす。

「学びたいことがあります。教えて下さい。お願いします」

内田樹氏のブログをばーっと読んでて、教育について心にとまった文章。
私は全然素直じゃないので、見習いたい。


仕事力について

つねづね申し上げていることですが、学ぶ力には三つの条件があります。
第一は自分自身に対する不全感。自分が非力で、無知で、まだまだ多くのものが欠けている。だから、この欠如を埋めなくてはならないという飢餓感を持つこと。
第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力。メンターは身近な人でもいいし、外国人でも、故人でも、本や映画の中の人でもいい。生涯にわたる師でなく、ただある場所から別の場所に案内してくれるだけの「渡し守」のような人でもいい。自分を一歩先に連れて行ってくれる人はすべてたいせつなメンターです。
第三が、オープンマインド。人をして「教える気にさせる」力です。素直さと言ってもいいし、もっと平たく「愛嬌」と言ってもいい。
この三つの条件をまとめると、「学びたいことがあります。教えて下さい。お願いします」という文になります。
これが「学びのマジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。この言葉を惜しむ人は学ぶことができません。学ぶ力には年齢にも社会的地位にも関係がありません。

HTML5とJavaScriptでQRコード読み取り駆動アプリ

この投稿はHTML5 Advent Calendar 2012の5日目の投稿です。

Chrome 21が夏にリリースされて、普通のStable版でもWebRTCが使えるようになりました。

そこで、

Webカメラで読み取ったQRコードの画像をデコードして、音楽を奏でるWebアプリを作ってみました。
HTML5 と Web カメラで QRコード 読み取り

HTML5が絡むのはWebRTC(Webカメラ)の読み取りの他は、Video、Canvas、Audioと基本的なヤツだけなんですが、
Flashを使わなくても、こんなのできるよ、ということで。


処理の流れは、こんな感じです。

①WebRTC初期化(Webカメラのみ要求)
②Video要素のSrcにWebRTCのメディアストリームを設定
③VideoのキャプチャをCanvasに転写
④CanvasのバイトデータをZXing(QRデコーダ)に渡す
⑤ZXingからデコードした文字列メッセージを受け取る
⑥メッセージに対応した音をAudio要素で鳴らす


順番に処理を追ってみましょう。

①WebRTC初期化(Webカメラのみ要求)
②Video要素のSrcにWebRTCのメディアストリームを設定


ここはonload時の初期化です。

getUserMediaの引数は、文字列かオブジェクトかで仕様が揺れてましたが、オブジェクトで統一されました。




ちなみに、第一引数のオブジェクトにtoStringメソッドを実装して、"video,audio"とか返せれば、下位互換を保てるそうです。
こんな感じですね。



③VideoのキャプチャをCanvasに転写

Videoの表示内容をCanvasに移して加工するのは、定番ですね。





④CanvasのバイトデータをZXing(QRデコーダ)に渡す
⑤ZXingからデコードした文字列メッセージを受け取る



Canvasのバイト配列のデータを、ZXingでごにょごにょしてもらいます。
ZXingのJavaScriptの移植版がなかったので、C#版を元に、Script#の力を借りて、JavaScriptに変換しました。
もっさりしないか不安でしたが、予想外に動作が速くてびっくりです。
(変換サイズに上限があったようで、QR以外のコードを削り落としてます。最新版だと直ってると良いなぁ)






作ってみて、正直、ZXingを動くようにするのが一番苦労しました。
マルチバイト文字のバイナリ値を文字列に戻すのは諦めました。

なんだか、ほとんどHTML5と関係ないというか、初歩的なことしか使ってないですが、気にしない!


社会人1年目の教育は、学び方を教えること

目指すところを明示し続け、
本人の努力や姿勢次第で、いつでもそれに向かって挑戦や貢献できる状態にすることが
上位者によるリーダーシップだと思ってます。


必要とされた知識を習得した、という事実よりも
必要となる知識を習得することができる、という能力・可能性の方が
進化し続ける未来に向かって、大事なことだと思ってます。


スペシャリストになれない人が、人並みに働けることに労力を割くより
スペシャリストになれるかも知れない人が、スペシャリストのごとく働けることに労力を割くのが
私の優先順位です。


そのためには、自律的に学習していける「学び方」を習得することが一番大事です。

「学び方」を習得し、自律的に学べるようになれば、
今後長い人生で起こりうるあらゆる問題に、適応しながら乗り越えていく力を手に入れられます。
その力は、失われにくく、人生において大きな財産になります。

それは、その人の人生を幸せにするだろう、と私は信じてます。



だから、私は常に、「学び方」を習得することを要求しています。
私にその支援を求めてきた人には、必ず応えてます。
(支援された記憶のない人は、一度も自分の言葉で「求めて」ないですよ。)


その実現のためには、導入的な支援をした方が良いと、思い直しましたので、

一部意見を撤回して、教育委員会と連携して、個別の知識やノウハウの入門編を提供することにします。
が、それ以降は、原則自助努力を行ってもらいます。
そのモチベートを行うことが、入門編の目的であり、初歩的なことを習得することは目的ではありません。


プログラマでスペシャリストを目指す人に、自律的に学んで欲しいことの一つが、
コンピュータサイエンスやソフトウェアエンジニアリング、言語仕様等の基礎力です。


自律的に学ぶことが、
楽しくて仕方のない人を集めたり、楽しいと思ってもらえるような人になってもらったり、して
学びが負担と感じずに、常態として学び続けられるように、
会社として施策を講じることが、会社における教育のあり方だと思ってます。





自律的とは、やれないときに、無茶をしてまでやらない、という自己判断を尊重するということです。

やれるときになって、初めて言われても、
「いきなり言われても、何をして良いのか分からない」という反応を示すだけだと思いますので、

常に明示し続けることで、頭の中で熟成してもらい、
しかるべき時に着手してもらおうと思ってます。


現在の職場環境や社風その他いろいろ、万事順風満帆というわけではありませんが、
困難をはねのけて、全てを変えていく予定です。

プロフィール

とむころり

Author:とむころり
24時間システムエンジニア。研究開発など何でも屋を担当。知的でおもてなし精神に満ちたシステム(サービス)が作りたい。
@tomcat_ch

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

QRコード

QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。