「開発プロセス」を含む日記 RSS

はてなキーワード: 開発プロセスとは

2015-06-21

夢のあるシステムに関わりたい。

夢のあるシステムに関わりたい。

いわゆるプログラマをしているが「屑システム」にかかわりたくない。

「屑システム」とは以下だと思ってる。

なお、一応言っておくと、私がかかわっているシステムすべてが以下に当てはまるとは言ってない。

自分が開発にかかわってるが、開発が進んでも自分利益にならない。他人の懐具合がよくなるだけ。

安月給はもらってるから、それで満足しろということになるわけだが。

その安月給は当然あがることはない。私から見れば立派な「屑システム」だ。

枯れた技術けが使われ、そのシステムにかかわったことが何の宣伝にもならない。

例えばいまさらsyslogが使えます、とかsnmpが分かります、とか意味なす。

いまならビックデータとか、クラウドとか、機械学習とか。

かいNoSQLとかクライアントサイドJavascriptとか。

次につながるようなシステム開発がしたい。そういう意味で「屑システム

システム」とは、プログラムのものだけを意味するわけではない。

プログラムを開発する、開発プロセスのものも「システムである

プログラマに丸投げしておけばシステムができるわけではない。

プログラムを開発するシステムが「屑」だとやる気が出ない。

例えば、ある作業をやったら、諸事情無駄になるようなのが「屑」な開発プロセスだ。

責任者に、リーダシップがないせいだ。あるいは、プログラマに何の権限もないと起こる。

人間から、全部有効な作業というわけにはいかないが、そんなんばっかりだとやる気にならない。

なお、リーダーシップというのは権限とセットだ。責任とセットなわけではない。

適切な権限があってこそリーダシップが発揮できる。

プログラムを作る責任だけあっても、その責任を全うできる権限がない以上

どんな提案をしても無駄になる。

そんなものは「屑」としかいいようがない。

上と被るかも知れないが、一週間に一回も会議を行わないようなのも「屑システム」だ。

確かに会議だけしても意味ないが、しなくても全く情報共有ができず、プログラマは何していいかさっぱりわからない。

また、各作業員の間で信頼関係がないのも、なかなかにシステムだ。

真の意味コミュニケーションが取れていない。というかそんなものそもそもない、ということなる。

2014-10-17

ソフト開発は認定試験の類を必須にして欲しい

情報処理はもちろん、言語とかDB関係とかベンダー試験も。

あとオブジェクト指向とか開発プロセスとか、コードの書き方みたいなやつも。本を1, 2冊読めば合格できるレベル試験でいいから

試験合格してないと開発にはかかわらせないようにして欲しい。

試験合格して当たり前だろ」とか言う人いるけど、職業プログラマには合格できないレベルゴロゴロいるから。

PHP入門書の一冊も読んだことないだろってレベル人間PHPコードレビューしてるとかギャグのような状況が日常

で、そういう客観的に見たらどう考えても水準に達してない人に限って自分レベルの低さを自覚してない。

自覚してないどころか「おれ10選手から」みたいに経験年数の長さだけを根拠に、むしろレベル高いと思ってる。

いや、普段の言動をみてると自分レベルの低さはうすうす感じてるのかもしれない。

学生時代にかじってた新人は変なクセがついてだめだ。なにも知らないやつのほうが素直で教えやすい」みたいなことをいいがちだけど、これって新人にも自分は負けるって自覚があるからその防衛反応だろうし。

認定というか免許制度にすれば、とりあえず、そういう素人レベル排除できるのにって妄想してしまう。

2014-07-10

http://anond.hatelabo.jp/20140710082319

そんなことないよ。シリコンバレーエンジニアの数も求職数もものすごく多く、裾野がかなり広いので、実力レベルは上から下までさまざま。博士号なんてもってたら給料が高くなるから雇用側もあえて学士程度を望んだりするケースも多い。すーぱーぷろぐらまーレベルがどうしても必要会社なんて一握りだし。一部の花形企業以外は、実力はそこそこでいいから$80Kで来てくれますありがとうみたいなところは多いと思う。

会社スタンスもさまざまで、純粋CSでやってきた人じゃなくても、新しいプロダクトを作るセンスがあるとか、HTML/CSSJavaScriptに強いとか、NginxとかNode.jsを使って仕事したことあるとか、IT土方だけどJavaだけは人並み以上にできるとか、インディー系で携帯ゲーム作ってたとか、アジャイル開発プロセスに明るいとか、色んなタイプの人が評価される。何か得意なこと持ってれば、そういう人を探してる会社は必ずある。シリコンバレー最先端で尖ってるっていうイメージもあるけど、枯れた技術での固い職ってのも多い。JavaとかPHP仕事なんていくらでもある。Flashですらいまだに結構ある。ほんとに裾野が広い。多くの人が、それなりの実力でそれなりの仕事をしつつ、家族との時間自分時間を大切にして人生楽しんでる。

会社によっては、平均的な日本人の勤勉さを知っていて、そういう面で重宝されるケースもある。世界中から人が集まってるので、勤務態度も様々で、その中では日本人の真面目さは割と有利。まあ、日本人英語しゃべれないとも思われてるけど。逆にちょっと話せればかなりインパクト強い。

結局、

大学高専出てるか(出てないとビザが厳しい)・・・できれば理系、できればCSメジャー

英語で最低限のコミュニケーションができるか

採用したらすぐ来れるのか

くらいじゃないのかね。

2014-04-19

アジャイル開発プロセス

顧客:「お客様向けのシステムが全部止まってるんだけど。なんとかしろ!」

営業:「すみません。原因調査中です。早期復旧を最優先に現在対処中です。」

営業:「はやく、なんとかなんないの?。顧客、怒ってんだけど。」

PM:「すみません現在、原因調査中、及び復旧優先で動いています。」

PM:「なんか、わかんないだけど、早く復旧して。」

プログラマー:「はい。原因調査中です。(なんか休日だけど・・・)」

プログラマー:「原因分かりました。バグです。こうこうしたら、復旧・・」

PM:「復旧優先で、あとで直しておいて、リリース明日。」

プログラマー:「明日法事休みをもらってまして・・」

PM:「はぁ?お前しかからないんだから、お前直せよ。で、すぐにリリースな。」

プログラマー:「・・・

PM:「属人性排除しないお前が悪いんだろ、ドキュメントもないし。誰も引き継げないだろ。明日までにやっとけよ。」

プログラマー:「・・・

PM:「お客さん困ってんだよ。やれるだろ?」

旅立つには十分だった。

2014-04-10

プログラム中級者が感じる関数型の違和感

なんだか話題になってるから書く。

やっと初心者を脱して中級者になりかけてるプログラミング学習者が関数型言語に何を感じているかを書こうと思う。

1 圏論かいらないんじゃないの?

Haskellが短いコードプログラムを書けるというのは分かる。

forループmapやfoldで抽象化する利点も分かる。

それでやりたい処理のほぼ全てがまかなえるということも実感している。

副作用のない小さな関数を合成して大きな関数を作る利点も分かる。

再利用性も上がるし、どこからどう影響を受けているかが簡単に分かるからバグも出にくい。

ただ、Haskellの基礎になってる圏論が何の役に立つのかは、まったく分からない。

むしろ邪魔なんじゃないかと思う。

ファンクターやモナド概念圏論で扱われているのは分かるけど、圏論なんて名前だけ知ってればコードを書くのに不都合はないだろう。

圏論必要なのはHaskell設計する人であって、使う人ではないと思う。

なのに、やれクライスリ圏だ自己関手の圏だのと、うるさいったらありゃしない。

Linux上で開発環境整えるのにカーネルコードを読めって言うぐらい的外れだと思う。

いや、知識として持っとくのはいいだろうけど、役に立たんだろ。

2 言うほど新しい機能ないような?

Rubyが羊の皮をかぶったLispとはよく言われることだけど、関数型言語オブジェクト指向言語とそこまで違いがあるような気がしない。

純粋言語ではできないけど、クロージャに内部状態を保持してもらって無名オブジェクトみたいな使い方をすることはあると思う。

その無名オブジェクトもっとあれこれデータ関数詰め込めば、いつの間にか普通にJavaC#で使うようなクラスのできあがり。

その間はなめらかにつながっていて、不連続に切れるようなもんじゃない。

関数プログラミングと言いつつ、オブジェクト指向の考え方は利用できる。

上級者はデザインパターンdisるのが好きかもしれないけど、逆の考え方をするべきだと思う。

デザインパターンオブジェクト指向言語欠点を補うための苦肉の策じゃないよ。

関数プログラミングの基礎的なパーツだと思う。

からちょっと見た目がすっきりするだけで、結局やることはオブジェクトプログラミングと変わりはないと思う。

3 なんか選民思想にとらわれて無い?

関数プログラミングコミュニティの人って、業務でクソコードメンテさせられて、その現実逃避に美しいコードに擦り寄っているように見える。

もちろん、美しいコードを書けるなら書いた方がいいし、現代的な言語を使えるなら使ったほうがいいと思う。

けど、適材適所というか、オブジェクト指向言語でも、やってやれないことはないわけで。

役に立たない圏論をありがたがる所とか、どうもイキがってるように見える。

せいぜい生産性が倍になる程度で、他の要素が悪ければ帳消しになるような利点でしかないに違いないのに。

開発プロセスとかを見直す方が仕事を楽にしてくれるんじゃないのかな?

2014-01-15

プログラマ会社的には

プログラマと呼べるようなスペシャリストが不在で、

多少書けるけど絶対に「プログラマです」とは名乗れないゼネラリストたちで構成されている会社

そんな会社だと、プログラムでなるべく解決する(コードが業務プロセスを頑張っちゃう)ために頑張るよりも、

業務プロセス開発プロセス全体で最適化するよう頑張った方が、

たいていはハッピーであることに気づいた。

プログラムで頑張ろうとすると、

学習コストがかかりすぎるか、

外注するのに設計しようにも結局学習コストがかかりすぎるとか、

外注とのスムーズな協力関係無駄に気を使うとか、

外注が逃げるとか、

引き継ぎ先がいなくて死ぬとか、

そんな余計なことが多かった。

反復性・正確性が求められるものプログラム化に適しているけれど、プログラムは解決の一手段だし、一分野にしか過ぎない。

プログラムによる生産物を主要な糧にして事業をやっていると、

ともすればプログラムスペシャリストでないことに大きなコンプレックスを抱くけど、

生産物割合ライト公共性も低い(例えばエンタメスマホアプリ)だったら、

無理にスペシャリスト風にやる必要はない。

身の程わきまえて、他の業務パラメータも見て総合的に結果を最大化しようというシンプルな結論に至る。

オブジェクト指向の本を読むのも結構だけど、もっと大きな見地から比較して

ライトフレームワークを選択して、ライト開発プロセスでやる選択がもっと歓迎されていいと思う。

そして、アジャイルとかTDD/BDDとかももちろんいいんだけど、開発現場からボトムアップ的な思想やツールでなく、

マネジメント視点経営視点から自分たちがライト層として開発するなら、という発想がもっとあっていいと思う。

プログラマ経営層になっての話は近年よく聞くけど、非プログラマ経営層でかつ開発もある程度やるよ、というスタイルもそれなりにあるのに。

こういう情報が出回りにくい理由は、そもそも人数が少ないか、文章に書く魅力/余裕がないか、文章化が難しいか、まだ分野的にこなれていないか、のどれか。

暇ができたらまとめたいなあ。。

その前に売上UP(白目)

2013-11-10

http://anond.hatelabo.jp/20131109185658

技術者の力量を見極めるためには職務経歴は参考程度にして、顧客への納品物以外で個人的にどんなプログラムを作ったかを聞いた方が早いかも。

何だかんだで企業向けシステムの開発って分業制だから一部分しか携われないけど、自分プログラムを作るってのはアーキテクチャ選定、要件定義設計プログラミング最適化etc開発プロセス最初から最後まで責任者立場担当するわけだからね。

パートナーや中途の採用に関してももっとこの点を重視する文化になって欲しい。

2012-02-11

Web企業バックエンドエンジニアとして必要な知識メモ

そこそこPVがある場合。そうでなかったら、どうにでも動くしね。

基本はLAMPなんですけど、オペレーションの部分も分かってないと即戦力にはならんと思う。


かいWEB企業でも、下記をわかってて、ちゃんとできる人ってそんないねーよな、っていうことを最近知ったお。

もちろんフロントエンドまで一人で担当する場合もっと必要な知識が増えるわけだが。

そう考えると、「ふつうエンジニア」に到達できるのって、3年とか5年とか10年とか普通にかかるよなーって思うわけですよ。

2009-07-25

デッドライン ソフト開発を成功に導く101の法則

正しい管理の四つの本質

・適切な人材雇用する。

・その人材を適所にあてはめる。

・人々の士気を保つ。

・チームの結束を強め、維持する。

(それ以外のことは全部管理ごっこ

安全と変更

・変更は、あらゆるプロジェクト成功のために(ほかの大抵の物事についても)必要不可欠である

・人は安全だとわからないと変更を受け入れない。安全保証されていないと、リスクを避けようとする。

リスクを避けることは、それに伴う利益をも逃すことになるため、致命的である

・人は、面と向かって脅されたときはもちろん、自分に対して不当に権力行使されるかもしれないと思ったときにも、安全ではないと感じるようになる。

負の強化

脅迫は、結果を上げさせる手段としては不完全である

・どれほど強い脅しをかけても、最初に割り当てた時間が足りなければ、やはり仕事は完成しない。

さらに悪いことに、目標を達成できなければ、脅迫の内容を本当に実行しなければならない場合もある。

管理者の身体本質的な部分

管理は心、腹、魂、鼻でやるものだ。

 つまり……

 心で指揮をとる。

 自分の腹を信じる(直感を信じる)。

 組織に魂を吹き込む。

 くだらないものを嗅ぎ分ける鼻を持つ。

戦闘指令と管理関係

戦闘が始まるときには、管理者のほんとうの仕事はもう終わっている。

面接採用

採用には、管理必要身体の器官、心臓、魂、鼻、腹をすべて使う(しかし、腹が大部分だ)。

・一人でやろうとするな。二つの腹には、一つの腹の2倍以上の力がある。

・新しく採用した人材には、1回は実証済みの能力レベルプロジェクトを任せ、ほんとうに目標を拡大するのは次回とする。

意見を求めよ。最も採用したいと思った人物は、ほかの優れた人材を知っている可能性が高い。

・話すより聞け。

・これらのことは、下準備をしておけばさら効果がある。

生産性の向上

短期的に生産性を高める方法などない。生産性は、長期的な投資によって向上する。

短期的な効果約束するものは、いんちきである可能性が高い。

リスク管理

リスク管理することによってプロジェクト管理せよ。

プロジェクトごとにリスク調査方法確立して継続せよ。

・最終的な望まざる結果だけでなく、日常リスクに注意せよ。

・それぞれのリスクの実現する確率と予想コスト評価せよ。

リスク現実になる前の初期の兆候予測せよ。

・やる気のある態度を常に引き出そうとしない人物リスク管理人に任命せよ。

・悪い話が上層部に伝わりやすい経路(匿名性など)を作っておくこと。

防御体制の強化

無駄を減らす。

成功を最大化するより、失敗を抑えることによって、全体的な成績を高めることができる。

・失敗した作業は早く打ち切る勇気を持つ。

・チームの結束については必要のない賭けはしない。既存のチームを探して利用する。

・結束の遅い、または結束しないチームのために後継者が困らないよう、優れたチームは維持する(本人たちにその意思があれば)。

・新しい仕事を引き受ける意欲のある結束の固いチームは、プロジェクトの成果の一つと見なす

プロジェクトの初期にむだにする一日も、末期にむだにする一日も等しく打撃になる。

・一日をむだにする方法はいくらでもある……しかし、一日を取り戻す方法は一つもない。

開発プロセスモデリングシミュレーション

仕事を完成させるプロセスに関する直感モデル化する。

・仲間との対話の中で、プロセスの進行に関する考えを伝えたり修正したりするためにモデルを使う。

モデルを使って結果をシミュレートする。

・実際の結果と照らし合わせてモデルを調整する。

病んだ政治

・いつでもクビを賭ける覚悟必要である

しかし、それでも病んだ政治の影響を受けないとは限らない。

・病んだ政治はどこにでも、最も健全組織にも出現する可能性がある。

・病んだ政治の決定的な特徴は、個人権力と影響力の目標が、組織自然目標より優先されることである。これは、病んだ目標組織目標と相反する場合でも起こりうる。

・病んだ政治副作用の一つは、少人数のプロジェクトを抱えることが危険になることである

測定基準

・すべての製品サイズを測定せよ。

単位を気にするな。客観的尺度ができるまでの間は、主観的単位を使えばよい。

・手に入るすべての基本要素(ソフトウェアの数量化可能な特徴)をもとに合成尺度作成する。

考古学データ収集し、これまでに完了しているプロジェクトから生産性の傾向を算出する。

・合成尺度公式をいじり、その値と、考古学データベースのプロジェクトの労力の相関関係が最良になるポイントを見つける。

過去データベースをもとにトレンドラインを引き、予想される労力を、合成尺度の値の関数として示す。

・つぎに、予想を立てるべき新規プロジェクトのそれぞれについて、合成尺度の値を計算し、それを使ってトレンドラインから予想される労力を割り出す。

生産性トレンドノイズレベルは、予測を立てるときの誤差の目安にする。

プロセスプロセス改良

・優れたプロセスと、プロセスを絶えず改良することは、立派な目標である。それらはまだ、ごく自然目標でもある。優れた技術労働者は、指示があろうとなかろうと、それらに焦点を当てる。

形式的プロセス改良プログラムには時間と金がかかる。一つのプロセス改良プログラムのために、プロジェクトが交替することもありうる。生産性の向上が実現したとしても、そのプログラムを受け入れたプロジェクトプロセス改良の為に費やされた時間相殺できる可能性は低い。

プロセスは、注意深く選んだ一つの手順改良によって、その変更に投資した時間と金に報いるだけの利益を期待できることがある。

プロジェクトの期間中に二つ以上の手順改良に順応することは、現実には期待できない。複数技能改良プログラム(たとえば、全般的CM等級の引き上げ)は、プログラム実施しなかった場合に比べ、プロジェクトの完成を遅らせる可能性が非常に高い。

標準的プロセス危険な点は、人々が賢明な省略を行う機会を失わせることである特に人員過剰のプロジェクト場合標準的プロセスによって全員に行き渡るだけの仕事(役に立とうが立つまいが)が発生するなら、標準的プロセスが厳密に守られてしまう。

仕事のやり方を変える

デバッグ時間を大幅に減らさなければ、プロジェクトの成績を通常より大幅に高める方法はない。

・優れたプロジェクトは、デバッグに費やす時間割合はるかに低い。

・優れたプロジェクトは、設計に費やす時間割合はるかに高い。

相手を好きになり、気遣わなければ、人に違うことをさせることはできない。相手を変えるには、相手の考えていることとその理由理解し、尊重しなければならない。

プレッシャー効果

プレッシャーをかけても思考は速くならない。

残業時間を増やすのは、生産性を落とす方法である

一時的プレッシャー残業は、人々の商店を定め、その仕事重要であるという認識を高めるには有効方法かもしれないが、プレッシャーをかけすぎると、かならず失敗する。

管理者がプレッシャーを使うことが多いのは、ほかになにをすればいいのかわからいから、または、ほかの方法の難しさにひるんでいるかである

・おそるべき推測:プレッシャー残業を使うほんとうの理由は、プロジェクトが失敗したときごまかすためかもしれない。

怒れる管理

管理者の怒りと侮辱は伝染する。上の管理者が怒鳴ると、下の管理者も同じような行動をとる(虐待された子供自分の子供を虐待するようになるのと同じ)

管理者が部下を侮辱すると、それが刺激となって部下は自分仕事にされに力を注ぐと思われている。これが、「飴とムチ」式管理で最もよく使われる「ムチ」であるしかし、侮辱によってだれかの業績がよくなるという証拠はあるのか。

管理者が部下を刺激するために侮辱を使うことは、部下ではなく管理者の能力不足のしるしである

あいまい仕様書

仕様書あいまいなのはシステム利害関係者の間で対立解決されていないしるである

・入出力の完全なリストのない仕様書は、見込みなしである使用を明確にする最初の一歩にもならない。

仕様書がお粗末だとはだれも言わない。自分のほうが悪いのだと思い込みがちである

対立

・開発に複数当事者が関わっている限り、利害の対立は避けられない。

システムの構築と導入の事業には、特に対立が多い。

システム開発組織ほとんどは、対立解決能力に乏しい。

対立尊重すべきである対立プロらしくない行動のしるしではない。

・全員の勝利条件を尊重することをあらかじめ宣言しておく。あらゆるレベル勝利条件を引き出すようにする。

交渉は難しい。仲裁簡単だ。

勝利条件が相容れないか、または部分的に相容れない場合でも、関係者が対立解決の為に仲裁に移行するように、あらかじめ準備しておく。

・注意:われわれは味方どうしである。敵は問題のものだ。

触媒役割

触媒のような人格というものがある。そのような人は、チームがまとまって結束し、なおかつ健全性と生産性を維持できるようにすることでプロジェクトに貢献する。触媒がほかになにもしなかったとしても(通常はほかにもいろんなことをするが)、触媒役割重要で貴重である

仲裁は、触媒役割特殊なケースである仲裁わずかな投資学習できる。

・「あなたたちの仲裁をさせてもらえますか」というささやか儀式の開始が、対立解決本質的な第一歩になることがある。

人為的ミス

・致命的なのは知らないことではない……知っているつもりで、実は知らない何かだ。

スタッフの人数

・初期に人数が多すぎると、プロジェクト重要設計作業を省略せざるをえない(全員に仕事を与えるため)。設計が完成する前に大勢仕事を割り当てると、人や作業グループの間のインタフェースを最小化できない。

・このため、相互依存性が高まり会議が増え、やり直しが増え、フラストレーションたまる

理想の人数配分は、プロジェクト期間の大部分を少人数のコア・チームで行い、プロジェクトの終盤(プロジェクト期間の最後の6分の1ぐらい)に人数を大幅に増やすというものである

・おそるべき推察:無茶なスケジュールを達成するように決められたプロジェクトは、妥当スケジュールで開始されたプロジェクトに比べ、完成までに時間がかかると思われる。

プロジェクト社会学

会議は、重要ではない人物が出席しなくても心配のないように、小さくする必要がある。欠席者が安心するための最も簡単方法は、議事予定表を発行し、それに厳密に従うことである

プロジェクトには儀式必要である儀式は、小規模な会議や無欠点運動など、プロジェクト目標理想に目を向けるために使う。

罵倒などの怒りから人々を守るために手を打つ。

・注意:怒りは恐怖である。部下に対して罵倒などの怒りの行動をとる管理者は、ほとんどの場合、怖いからそうしているのである

考察:怒りが恐怖であることをすべての人が理解すれば、怒りは、怒っている人が怖がっていることを明確に示すシグナルとなるだろう。起こっている人は、恐怖を表に出したくない。つまり、怒りが恐怖の表れだとみなにわかってしまったら、怒りを吐き出すこともできなくなる(これは怒っている人の問題解決できないが、ほかの人の悩みは軽減できるだろう)。

病んだ政治(再び)

・病んだ政治を下から治療することはできない。むだな努力時間を浪費したり、自分立場危険さら必要はない。

問題自然解決するか、行動するチャンスが来るのを待つしかない場合もある。

奇跡が起こることもある(だが、あてにしてはいけない)。

倹約精神

倹約精神とは、失敗した企業の中で、その失敗の責任者が作った公式である

・それは、組織自然目標である繁栄福祉精神とは正反対である

・「倹約精神」という言葉を聞いたら、その本当の意味である「失敗と恐怖」に置き換えるといい。

急進的な常識

プロジェクトには目標と予想の両方が必要だ。この二つはちがっていて当然である

2009-07-02

http://anond.hatelabo.jp/20090701031715

こんな増田よむとマスマス田舎に帰りたくなくなる。

多分増田の住んでる所は滋賀、でオレも滋賀

オレ、東京に住んでる30歳毒男職業はIT系なんだ。東京の生活に疲れて来たから、地元に帰ろうかと思うんだが、田舎には有るわけない。

なんだかんだ言って東京は学ぶ環境が発達してるし、ITって勉強会も盛んにある。開発プロセスに関しても会社によっては最先端だ。

横文字使ってはなしたり、「~~感」の様な会話も成り立つ。

けど、田舎帰ったら、業務系のITドカタ系の仕事しかないと思う。

もし、ITドカタ系に就職しても上流工程とかで「仮説が~」なんて言葉を出した瞬間にシカトされそうな気がする。

エクセルの使い方を知らないCプログラマーが隣でグダグダ馬鹿な事いってそうな気がする。

そして、30過ぎで地元に帰ると周りの目が MAXで都落ちめって感じで見てくると思う。

おまけにやはり出会いが無い。田舎で30過ぎの女はもはや売れ残り以外の何者でもないだろう。

これまで散々遊んできたから田舎の30過ぎの田舎毒女には多分、納得できないだろう。

こう考えると、次は海外に逃げるかっと思ってしまう。

2008-09-26

「要は、勇気がないんでしょ?」で始まるデスマーチ

ちょっと昔の話。今よりも僕はずっとずっと言い訳をするのが好きで、理屈を説明するのが好きだったんです。

でまぁ、当時も今と変わらずデスマーチがへりませんで、

アジャイル信者と飲みながら「いいプログラマがいない、だからデスマーチがへらないんだ」と文句言ってたのです。

進捗報告会議で。

したらまた、このアジャイル信者が「じゃあ、わかった」と言うのです。「今からプロジェクトのやりかたを変えよう」と。

プロジェクトのやり方を変えたことなんかないオレは焦りました。「いや、ちょっと待って」とあわてます。

でもアジャイル信者は、少し遠くで打ち合わせしている2人組のプログラマを指さし、「あそこ行って一緒に検討しようぜ」と言い、席を立ちます。

オレは「いや、向こうも迷惑だし」とか「さすがにうざいっしょ」とか言って止めます。

アジャイル信者は「嫌がられたら戻ってくればいいんだよ」と言ってましたが、オレが動こうとしないので行くのをやめました。

「じゃあ、海外発注して、オフショア開発にしようか?」とアジャイル信者は言います。

「逆にそっちの方が難易度高いだろ」とオレは顔をしかめます。

「でも時間がないんだろ? だったらやり方を変えるしかないだろ」とアジャイル信者は口調を強めます。

「そうだけど、もっと普通にやりたいっていうか」とオレ。

「なに、普通って?」

ウォーターフォールとか、Vモデルとか、そういう…」とハッキリ言えない自分。

「じゃあ、オレが今からテスト仕様を具体化してきて、それでお前に渡したらいいか? それも時間の削減だよな」という友達。

「それは…、だけど、ほら、お前もこの前言ってたじゃん。ドキュメント作らないやりがあるとか」

「は?」

「その…」

「…ドキュメントを作らないじゃねぇよ。無駄ドキュメントを作らないだよ」

「あ、そうだったね。…でもオレ、ドキュメント書くの、少し苦手だし。そこまでしてプロジェクトのやり方変えたいってわけでもないし…」

アジャイル信者はオレの顔をじっと見つめながら、一言、

だせぇ

と言いました。

ちゃごちゃ言ってるけど、技術力がないだけじゃん

彼は言います。

言い訳をして、さも「こういう事情なんだ、だからしょうがないんだ」って言うけれど、

技術力がない自分を必死になって正当化してるだけじゃん、と。

プロセスを変更する勇気もないやつが、時間が無いとか言うんじゃない。

どうせオープンソースライブラリを使えば「オープンソースは保障がないから怖くて使えない…」って言うし、

スパゲティコードを変更しようとすれば「動いているコードに手を入れるプログラマとは仲良くなれそうにない」とか言うだろうし、

開発プロセスを変更しようと言えば「いや、いままでこのやり方でやってきたし」って何かにつけて言い訳するんだろ?

だったら「自分にはソフトウェアを開発する技術力がないんです」って素直に認めて文句言うんじゃねぇよ。

そっちの方が、よっぽど何かってときに力になりたいってと思うし、

つーか、できない理由並べて、今の開発プロセススパゲティコードを変更させずに、バグをなくしてもらおうとするその魂胆がだせぇ、と。

2008-07-20

トイレエンジニアリング人類学

増田です。今日ショッピングセンタートイレを利用したところ、そこの男性用小便器のデザインが今まで見たことのない斬新なものでした、というか、率直に言うとものすごく女性器に似ていました。それだけの話なのですが、色々考えるところがあったので文章にまとめます。以降男性用小便器を『それ』、女性器を『あれ』と呼称します。私はトイレ産業の関係者ではありません。他の業界エンジニアです。部外者の立場で書きました。

普通『それ』のデザインというと、四角いものを思い浮かべる男性が多いと思います。大きさは様々で、例えばホテルのような高級っぽいところだと、厚みがあって重量感があるものが備え付けてあったり、駅とかだとそれほどでもなかったり。丸っぽいものは学校にありました。それらは大抵小ぶりだったような気がします。正直、今日まで『それ』のデザインについては無頓着だったので、思い出しながら上のような例を書いています。

『それ』は工業製品ですから、基本的には素材の体積で値段が決まると考えられます。大型のものは高価なはずで、だとするとそれは高級感を持つのみならず、パフォーマンスも違ってくるのではないか、と予想します。じゃないと、アドバンテージが少なすぎじゃね、って。

そこで『それ』の性能の指標として『尿のユーザー及び環境へのはね返り』が重要であると想像しました。ここではそれが数字化できるものとして扱い、ユーザー環境(例えば床)は別々のものですが、まとめて『はね返り係数』と呼称することにします。『はね返り係数』が小さい『それ』ほど優れていて、メーカーはそこで技術競争しているに違いありません。先程の『それ』の大きさに戻ると、大型のものほど尿を受ける曲面の設計に自由度を持たせることができ、結果的に『はね返り係数』を向上させることができます。

さて、開発プロセスイメージしてみましょう。『それ』を利用するユーザー身長は様々であり、使用時におけるユーザーと『それ』との距離にもばらつきがあります。使用状態も検討しなければなりません。ケータイで話しながら用を足しているかもしれません。設計では、あらゆる状況でまんべんなく『はね返り』係数を最適化させる必要があります。

私、男増田の経験からいうと、モデル体型を数種類用意して、それにモンテカルロシミュレーションを組み合わせているのではないかと予想します。

このあたりがエンジニアリングですね。

私が見た『あれ』の形をした『それ』に戻ります。第一印象は「細!」でした。ボウリングのピンを上下からつぶしたようで、下部はもっと丸みと厚みががあって包み込むような形状、上に行くにしたがって薄くなり、あげくには水を流す部分が突起を形作っていました。こうして書いていると、私がエロエロでひどい欲求不満のようです。皆様に『それ』をお見せできればいいのですが、写真を撮ってくるわけにはいかなかったですし、「小便器 女性器 デザイン」でググっては見ましたが、製品サイトにはたどり着けませんでした。正直、他の男増田の皆様が同じように『あれ』を想起されるかどうかは分かりません。

しかし私に関しましては、用を足しながらいやらしい想像が浮かんでくるのを抑えることはできませんでした。思い切って書いてしまうと、中にどくどくとたっぷりと注ぎ込んでしまいました。そこで、はっと気付いたのです。これは人類学だと。

ユーザーに『それ』が『あれ』だと思い込ませることができたならば、その時のユーザーの行動をより理解することができ、結果製品パフォーマンス向上につなげることができます。射精だったら上手に狙ってこぼさずに。つまり『それ』の曲面設計よりも、『それ』のデザインによって『はね返り係数』の最適化が可能になるのです。人類学民族誌学的アプローチです。

短所としては、『あれ』を想起しない人、特に『はね返り係数』が高そうな子供には何の効果もない、という点が挙げられます。ただ、それ以外の長所として、『あれ』が比較的小さいために洗浄に使う水の量を減らせるということもあると思います。

色々書きましたが、中の人意見がない限り私の空想に過ぎません。ただ、『あれ』の形をした『それ』との遭遇は、休日の私にちょっとした思考をくれました。

2007-09-05

ドーナツ2.0

これからはドーナツ指向言語によるマッシュアップ的なアジャイルドーナツ開発プロセスを選択することで

エクストリームドーナツプログラミングを実践し、中国インドへのオフショア開発でグローバルなアウトソーシングを促進。

それによるドーナツ化現象が発生すると。

なるほどなるほど。

2007-08-31

http://anond.hatelabo.jp/20070831005830

まぁ、年齢からいって近いうちに転職されるのだと思いますが。

今いる世界は今いる世界できちんと色々と見ておくと、転職後に役に立ちますよ。

特に確立された開発プロセスの元での開発経験は、そうでない、開発プロセスなんてものが存在しない現場(大抵そういったとこは「うちはアジャイルでやってます」って掲げてますね)にいった場合に結構役に立ちます。

すぐに転職されないのなら、今の仕事は今の仕事で色々と学ばないと時間がもったいないですしね。両方の世界を見てきたことのある1エンジニアからの提案です。

まぁ、両方見てきた人間としては、COBOLメインフレームの世界もあれはあれで色々と考察できるというか。

COBOLは結局のところ業務処理用DSLだよなー、とか、やたら一本一本のプログラムが短くてそれらをJCLでつないでデータを流す様はPlaggerでたくさんのプラグインを設定ファイルでつなぐのと似てるよなー、とか。

とはいえプログラマーとして退屈なのは確かにありますね^^;

それに業務知識を本気で活かすつもりなら最終的にはユーザー企業側に転職した方がいい気もします。

ログイン ユーザー登録
ようこそ ゲスト さん