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

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

2012-02-11

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

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

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


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

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

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

2009-07-25

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

正しい管理の四つの本質

・適切な人材雇用する。

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

・人々の士気を保つ。

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

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

安全と変更

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

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

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

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

負の強化

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

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

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

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

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

 つまり……

 心で指揮をとる。

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

 組織に魂を吹き込む。

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

戦闘指令と管理関係

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

面接採用

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

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

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

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

・話すより聞け。

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

生産性の向上

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

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

リスク管理

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

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

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

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

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

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

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

防御体制の強化

無駄を減らす。

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

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

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

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

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

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

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

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

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

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

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

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

病んだ政治

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

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

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

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

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

測定基準

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

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

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

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

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

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

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

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

プロセスプロセス改良

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

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

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

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

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

仕事のやり方を変える

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

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

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

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

プレッシャーの効果

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

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

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

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

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

怒れる管理

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

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

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

あいまい仕様書

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

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

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

対立

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

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

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

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

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

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

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

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

触媒の役割

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

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

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

人為的なミス

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

スタッフの人数

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

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

理想の人数配分は、プロジェクト器官の大部分を少人数のコア・チームで行い、プロジェクトの終盤(プロジェクト器官の最後の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でたくさんのプラグインを設定ファイルでつなぐのと似てるよなー、とか。

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


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

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:7件)