パスワードを忘れた? アカウント作成
13161716 journal
日記

dotkuwaの日記: 技術でなく権限 3

日記 by dotkuwa

前から思っていたのですが、ソフトウェア開発での、
問題の多くが、
・当人の技術の問題でなく、
・成員に対する権限配分の問題である
事がよくあると思います。
 
権限配分の問題であるならば、道徳性とかそういう
「教えにくい」問題より楽だと思います。
 
1人情シスの話も、ハードのバーチャル化やソフト化
をうまく利用した面もあったかも知れませんが、
1人になって使い出の良い権限配分を、丁度良い人が
得たからの方が大きい様に見えます。
 
結局、ソフトウェア開発での不満もいじめ問題と
大差ないのかも知れませんが、既存の権限配分を
少しずつ何とかしようとせず、まるで政治将校の如く、
一足飛びに乗り越えようとした為の困難の要素も
有ると思います。
(ただ、金を取ったら、単なる恐喝でしょうが。)
 
ソフトウェア開発で本当に皆が認める新技術が出にくく
なっている昨今、嘘の新技術を広めようとする人間が
よく出ますが、それも同じことです。
自分の心に対する謙虚さではなく、祭る権限を得る
為に嘘真実を述べまくるのです。
 
----------------
 
ソフトウェア開発は、
・技能(タイピングとか、日常会話能力とか)を基礎に、
・技術、サイエンスを多分に必要と
しますが、
・権限配分の問題も
大きいと思います。これに対する理解こそ、職業として
ソフトウェア開発をやっていくコンピテンシーの1つ
だと思います。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by dotkuwa (9387) on 2017年02月19日 8時05分 (#3163641) 日記

    ・技能
    ・技術
    ・権限配分
    はそれぞれ、
    ・「出来るだけ余力が有るのか?」
    ・「割り当てられて本当に出来る能力が有るのか?」
    ・「そもそもして良いのか?」、「するに相応しい情報が与えられて居るか?」
    に対応すると思います。
     
    例えば、「プログラマーがテストを書くべき」という命題に対して、
    一番問題なのは、「するに相応しい情報が与えられて居るか?」
    です。
     
    プログラマーに与えられる情報は、正しさを担保したものでは有りません。
    ですので、
    ・もっと曖昧な与えられた情報
    ・規約
    ・リーダーからの口頭指示
    を元に、それなりの動くものを作成します。
     
    それをテストして、正しい誤っているを判断し、誤っていたらやり直しです。
     
    ----------------
     
    それに、そもそも「プログラマーがテストを書くべき」という命題に対して、
    「そもそもして良いのか?」という問いに「良い!」と答える人間(特に
    リーダー)が居ないのが問題です。
     
    「割り当てられて本当に出来る能力が有るのか?」が「有る!」人間は、
    「出来るだけ余力が有るのか?」は「無い!」のが普通です。
     
    「そもそもして良いのか?」を疎かにしたまま、テストの書き方の文法
    案を一方的に述べられても困ります。
    そもそも、テストとは、
    ・正しさ
    を宣言するものとして捉えられがちです。正しさを宣言するとはそれなり
    の権威を示すもので、一介のプログラマーが「そもそもして良いのか?」
    に対して「良い!」と成ると思う方がおかしいと思います。
     
    ----------------
     
    もちろん逆方向も有り得ます。
    「割り当てられて本当に出来る能力が有るのか?」の問いに、
    ・無い
    とした人間に対し権限配分がなされ、一人前と見なされた場合、その
    人間に出来る事は、
    ・数年以内に必ず起こる、致命的なリスクの発現の恐怖に耐える事
    のみです。
     
    まだ半人前として、上の人間が付いていてくれた時なら耐えられた
    状況でも、一人前と見なされた場合には比べ物にならない、
    リスクが発現したら、否応なく退場となる事実に耐えられないと
    思います。
     
    もう少し良い権限配分が有っても良いと思います。たとえこの様な研究が
    デュアルユースに相当するとしても、あえて研究すべきだと思います。

    • 「プログラマーがテストを書くべき」という命題が真だとすると、
      ・名実ともに、プログラマーが「何が正しいかを決める」。
      ・プログラマーはあまり他人とコミュニケーションは取らないのに、
       名実ともに、「何が正しいかを決める」側で有るという権限配分に
       なったとしたら、プログラマーに非ざる人間の生存すら危ぶまれる。
      事になります。
      権限配分の軸としては、極北の位置になってしまいます。
       
      いくらなんでもプログラマーがそんなに偉いはずが有りません。
      とすると、
      ・権限配分の軸はそのままに、「するに相応しい情報が与えられて居」
       無いプログラマーに無理やりやらせる。
      事以外無くなります。
      それもまた極端です。
       
      そもそも、
      ・全ての正しさが出尽くすのが、最後まで分からない。
      ・ソフトウェアと言う人間にフィットしていないフィールドでの
       活動により、皆が一律に認知症に罹っている様な状況で、
       試行錯誤をしなければ、解決できない問題(NPの問題)に
       取り組んでいる。
      というソフトウェア開発の中では、極度の譲り合いが必要になり、
      ・正しさは全て自分が留保している
      とかいう人間が居ると途端に争いになります。
       
      そういう状況下にプログラマーが慣れているのは事実です。しかし、
      権限配分はそのままに、自分はその(全員認知症の)世界に入り
      こまず、「正しさ」のみをむさぼられても本当に困ります。
      「プログラマーがテストを書くべき」という事を言う人間の本心は
      これだと思います。
      権限配分はそのままなのに、テストすら書きたくないと言うのです。

      ・正しさを望むなら、権限配分(「そもそもして良いという権限」、
       「するに相応しい情報」)も増やすべきです。
      ・そうでないなら、正しさまでは望むべきでは有りません。
      プログラマーはそういう(無色透明で、ややもすると補助職となりがち
      な)専門職です。
      ですので、いくら頑張っても人月換算にしかならないのも、
      プログラマーは、正しいと決める人間が正しいと思うまで付き合う
       位置づけの人間で、正しさを提供する人間では無い

      からです。
       
      その人間に「テストを書け」というのは笑止です。

      親コメント
      • 特にオブジェクト指向言語とかで見られる、
        ・public
        ・private
        ・final
        などの修飾は、
        ・publicが付いているやつは、みんなで使うから譲れない
        ・privateは、譲り合いの為に自由度を確保する
        ・finalは、部品としてほかの人が使う場合も、譲り合い
         の対象にして欲しく無い
        という意思表明だと思います。
         
        技術的負債という言葉が有りますが、これも、
        ・譲り合いの為の自由度を内部留保しておかないと、
         ちょっとした事で、破産する
        ・負債と言っているのは、その内部留保を考え無しに
         使い切ってしまう事で、事実上の倒産となって
         しまう事
        の様に思えます。
         
        もちろんこの様な事は、ソフトウェア開発に限らず、
        「人間にフィットしていないフィールド」の一つである
        車の運転でも有り得ます。
        ・車線をまたぐ際は、後ろを直接見て、側方を直接見て、
         それからまたぐべき
        などと言うのは、その「極端な譲り合い」の一つだと
        思います。
        (昔、80のスクーターで右側車線に移ろうとした時、直接
         目視をしたおかげで、右側直後にいた車を避けられた
         (車線変更中止が出来た)事が有りました。
         反対側歩道にいた白バイの人の顔が真っ白になっていて、
         笑いかけてみようとしたら、自分の顔もピクリとも
         動きませんでした。)
        (ただ、人間同士、人間と自転車の場合は、「車線」の
         というものの認識すら、「なにが正しいか終わってみる
         まで分からない」という厳しい前提条件が有る為、
         その場合は、必ずしも有効では有りません。)
         
        要するに「所作」が大げさになるのが特徴です。
         
        ただ、ソフトウェア開発の場合、大げさな「所作」は、
        車の運転の様に決まっていません。もちろん、オブジェクト
        指向の先ほどの修飾の様に、決める努力をしていることは
        しているのだとは思います。
        (java9でpackegeにも公私を分ける様にするとか、書いて
        在りました。今のままでは全く足りないのでしょうww)

        親コメント
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...