今、話題の人工知能(AI)などで人気のPython。初心者に優しいとか言われていますが、全然優しくない! という事を、つらつら、愚痴っていきます

030.テニスと将棋とシステム開発

»

初回:2019/02/27

1.私の趣味

 私の趣味は、テニスと将棋とシステム開発です。

P子「システム開発っていうのは冗談?」(※1

 冗談ではありません。一日一回はSelect文を打たないと禁断症状が出ます。

P子「それは冗談?」

 てへ(※2

 今日は、これら3つの趣味は「ほとんど同じ」というお話です。

2.それぞれの特徴は?

 まずテニスですが、ご存知のように一つのボールをお互いに順番に打ち合うスポーツです。サービスとリターンという区分はありますが、野球の様に攻撃と守備が完全に分かれていません。こちらのミスは相手の得点になるゼロサムゲームです。テニスは技術もさることながら、予測と優先順位と想像力が重要です。
 テニスでは相手が打ってから動き始めたのでは手遅れです。ある程度の予測のもと、次の動作に入っている必要があります。優先順位というのは、相手のフォアを攻めてバック側にアプローチショットで前に出るなどの順番が重要です。想像力というのは、当然、相手は予測しているはずなので、それを上回る作戦(例えばドロップショットや股抜きショットなど)をうまく混ぜながら攻める必要があります。

 将棋は、2人が順番交代に手を進めるゲームです。こちらも先手後手がありますが、攻撃と守備の区別はありません。こちらのミスは相手に有利に働きます。ご存知のように、将棋は数十手も先を読みあい最善の1手を決めるゲームです。駒を動かすのは子供でもできます。将棋の技術は先読みの正確さであり、駒を動かすという物理的なテクニックは勝敗とは無関係です。将棋は二人零和有限確定完全情報ゲームなので必勝法が存在します。
 よく、プロの将棋を見ていると、歩や他の駒がぶつかり合ってすぐに取れそうなのに取らずに他の場所で切り合いが始まる...みたいなシーンがあると思います。1手しか動かせないので最優先の手しか打ちません。もちろん、手の読み合いなので、想像力は非常に重要です。

 システム開発は、技術力も大切ですが、スケジュールを進めるためにはリスク管理が重要です。発生しうるリスクを予測し、事前に対処することでスムーズな開発が可能になります。また、限りあるリソースの優先順位を決めて作業をしなければなりません。本番導入してからテストなんておかしいでしょう。(よくあるのですけど)

 テニスも将棋もシステム開発も、先を予測すること、優先順位を決めて実行すること、想像力を働かせることが勝敗を決するキーワードという意味で、「ほとんど同じ」と思っています。

3.予測と優先順位と想像力

 まあ、これで終わってもよいのですが、もう少しシステム開発において、予測と優先順位と想像力の大切さを述べたいと思います。

≪予測≫
 システム開発では、色々なフェーズがあります。今取り掛かっている(作業中の)フェーズに気を取られると、次のフェーズが準備不足で停滞したり、手戻りしたりします。なので、今のフェーズを実行中に、それ以降のフェーズの準備が必要です。例えば、開発フェーズの初期にデータ移行用のマスタ情報のクレンジングやプレ移行テストを行っておくと、本番移行をスムースに行うことができます。(※3
 また、ユーザーによる事前テストや操作説明の段取りは、早い時期に開発の依頼主やシステムの利用者と調整が必要です。直前になるとバタバタして肝心のテストが意味不明になることがあります。これらは予測というと大げさですが、事前準備が重要という事です。(※4

 予測でいうと、システム開発中に、『この機能は提案時には無かったがきっと必要だろう』とか『使い勝手が悪いので調整が必要だな』とか感じることがあると思います。その場合は、早めに営業と相談して、追加請求という形にすべきか、別の要求仕様を削除するか、追加料金なしでなんとか対応するとか決める必要があります。そのままにしてプロジェクトを進めると後々大変なことになります。

≪優先順位≫
 システム開発では、色々な人と関わります。開発の依頼主、システムの利用者、開発者など。今流行のSES(※5)なら、さらに複雑怪奇な構成でしょう。その様な人達に作業を依頼したり進捗を押さえる場合、作業の優先順位が重要になってきます。

 例えば、並行処理できる作業(自分の作業と他の人の作業)がある場合、まず、他の人の作業を指示してから、自分の作業を開始します。他の人が作業中だとしても、予め次の作業内容が分かっていれば、自身で効率よく調整することができるかもしれません。よく、他の人への仕事を順番に渡さないと渡される方が混乱するとか言って、なかなか次の作業指示を渡さない人もいますが、そのような方法で効率が良くなる人はそれほど多くないと私は思っています。

≪想像力≫
 予測や優先順位を決めるために重要なのが想像力です。想像力というのはプロジェクトの少し先を予測する場合、どういう方向に進むかを考えるには、想像力が必要です。これが足りないと、予測の範囲(将棋でいう所の読みの深さ)が狭く、正確な予測ができなくなります。

4.システム開発の研修にテニスを取り入れましょう。

 ということで、会社の勉強会に将棋やテニスを取り入れましょう、というのが結論です。

P子「そんな勉強は、プライベートに行ってください」(※6

 うっそぴょーん

P子「また、マイブームですか?」

ほな、さいなら

======= <<注釈>>=======

※1 P子「システム開発っていうのは冗談?」
 P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。

※2 てへ
 軽くグーを作って自分の頭をこつんとしながら、ペロッと舌を出します。遠くから見ると「シェー」に見えるのでご注意ください。
 P子「この説明、3回目よ」

※3 本番移行をスムースに行う  移行データを確認しておかないと、想定外のデータがあったり、不整合のデータがあったりします。

※4 事前準備が重要
 【段取り八分(はっぷん)
 http://el.jibun.atmarkit.co.jp/chatrun/
 『SEの格言・迷言・ことわざ集』より

 こちらもごひいきに(Kindle Unlimited.なら0円です)
 https://www.amazon.co.jp/s/ref=dp_byline_sr_ebooks_1?ie=UTF8&field-author=%E3%81%A1%E3%82%83%E3%81%A8%E3%82%89%E3%82%93&search-alias=digital-text&text=%E3%81%A1%E3%82%83%E3%81%A8%E3%82%89%E3%82%93&sort=relevancerank

※5 今流行のSES
 あちこちで話題になってますね。今度取り上げたいと思います。

※6 P子「そんな勉強は、プライベートに行ってください」
 今度取り上げたいと思います。

 労働者は業務時間外も仕事のために勉強すべきか?
 https://news.yahoo.co.jp/byline/sasakiryo/20180918-00097232/

 「プライベートでは一切勉強したくない」と言っていた社員のこと
 https://axia.co.jp/2018-09-07

Comment(2)

コメント

user-key.

テニスみたいに、場所や体力が要る事せんでも、料理がそのまま当てはまりますが。。。

コメントを投稿する