はてなキーワード: ファンクションポイント法とは
K&RのCで書かれたプログラムを渡された(もう少し正確に言えば、VisualStudioのWizardで作られたものにK&RのCでコーディングしてある(C++ですら無い)ので純粋なCでは無いが果てしなくK&RのCだ)。あと、これを作った人はどうにも「ポインタ」の概念が無いらしく、無駄に多次元配列だったり、配列のアドレス渡しとかが多用されている。
作業指示は、これを流用して、C++/CLIかつ.netFramework3.5使用かつ新規案件に対応せよ、との事。
個人的にはどう見積もっても3人で4ヶ月かかる量なんだが、予算が1人で1ヶ月、と言って来た。理由は「Cからの流用だから」。
参ったな。自分としては、C++/CLIはもはや別言語だと思っているんだが。
どうにも上司と顧客に説明出来ない。説明出来ないのは、自分が理解していないせいだ、と言われればそれまでなのだが、自分の感覚で言うと、高段者がうっている将棋や囲碁の一手を初心者に教える、とでも言うか、小学生に微分積分を教えるというか、そんな感覚がある。
いや、相手が、K&RやANSI、C++、C++/CLIを分かっている人間になら、説明は出来るのだが、相手のレベルに合わせて、説明が出来ない。
今回のこれに限らず、見積もりとかすると、「なんでこんなに時間かかるの?」とか「高い」とかよく言われるのだが、やっぱり説明が出来ない。デスマってるプロジェクトには、よくさらなる人員投入がされる事が多々あるのだが、デスマってる時点で負け戦だし、「混乱したプロジェクトに人を投入すれば、さらに混乱するだけ」と自分は思っているので、やめてもらいたいと思っている。
「あんたの小学生になる子供が、100人いたら、東大に合格するくらいの学力が発揮されるんですか?」と問いたい。
あれは、VisualBasic4が出た頃か。それまでWindowsプログラムというものをCまたはC++で書いていた自分には、驚異的な言語に思えた。そしてみんな言う。「VBで作れば簡単ですよ」
自分にはVBという言語はとてつもなく難しい言語に思えた(MFCは論外)。なぜなら「かゆいところに手が届かない」言語だったから。だから、皆が言う「VBなら簡単」の理由がさっぱり分からなかった。ちょっとした使い捨てツールや、極々Windows標準的な事しかやらないのであれば、VBは簡単な言語であったのは分かる。実際自分もそういう使い方をしていたから。
そして、うちの職場ではそんな製品を作る所では無く、仕様を満たすためにはサブクラス化とかWin32APIを使うとかしないと実現出来なかった。もちろん「VBで作れば簡単ですよ」と言っていた連中にサブクラス化など理解出来ようも無く、ただただ右往左往してデスマーチに突入していった。
その時も、お偉方や顧客に説明が出来なかった。「VBなら簡単」と言っていただろう、と言われるだけ。
まぁ、VBも.net時代になってから、だいぶマシになってきたと思うけどね。少なくとも、スレッドセーフになってくれただけでもありがたい。
まぁ、その辺はともかく、もしかして、デスマやIT土方とかなるのは「説明が出来ないから」なのではなかろうか?と思えてきた。必要な時間と予算を説明出来ないから、泥沼になるのではなかろうか、と。
説明が出来ない限り、プログラマーは永遠にIT土方であり、地位向上は望めないと思う。人月の神話じゃなく、ファンクションポイント法とか、なにか定量的に説明出来ればいいのだけど。ファンクションポイント法だって、それが分からない人には通じないわけで。「小学校に入学した児童にも分かるような」説明が出来ないとダメなんだろうなぁ。どうすればいいんだろ?
古くからある通信系のITにいましたが、どちらもあっているけれども、微妙に違うと思います。
バグとかの管理の仕方とかも含め、帳票が個人ベースだったり、レビューという概念があったりするなど
へたくそな人を上位職が直すという概念が存在しているので、昔からへたくそな実装という物は存在していたが
期間が2年とか3年とかあったので、上位の職の人が、手を入れて直す時間的ゆとりがあった。
つまり、結果として製品の品質は高かったのでおっしゃられていることは製品ベースで見るとあっていますが
人ベースで見ると間違っていると思います。
今回の議論の根本には、開発期間が数ヶ月のように短期開発が中心となった現在の開発では
人のスキルがそのままダイレクトに製品に反映してしまう(上位職が修正する期間的余地がない)
また、転職市場が広がったり、会社の規模拡大がリニアではなくなり、
一律ベースアップが不可能になっているなど、年功序列制の給与体系が崩壊した昨今
であるならば、評価を含め製品の評価を個人の評価と直結させて、給与まで反映させるべきである。
実際は、やはり同じように製品の品質をファンクションポイント法であっても、使い方の問題で人の価値判断から逃れられず
結局、上司のなーなー、や上司の采配、上司の『感情』、上司の『好き嫌い』という物からは逃れられず・・・
書いていて思ったのですが・・・。『大手IT下請け』という物には入ったら終わりなんだと、ちょっと思いました。
所詮、上質なコードを書いても評価なんてされませんって。それより、上司と酒飲んだりしたほうが評価されるじゃね?と
現実と違っていても思われてしまう当たりが、『大手IT下請け』は終わってるなと。
駄文ですみません。