eXtreme Programming
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG実際実用的と思われるのはTesting, Refactoringの2つだと。
Cording Standardsは常識と考えればね。
XP全般について語ってもいいですが、
むしろTesting, Refactoringの二つをメインに語りましょう。
Testingのテクニックなんざをね。
参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
0139デフォルトの名無しさん
NGNG関数ごとに全部
0140デフォルトの名無しさん
NGNG単純なgetter/setter以外(なるべく)全部。
バグ発生時には、バグを再現するテストを追加。その後デバッグ。
0141デフォルトの名無しさん
NGNGMartin Fowlerですか?
私も買いました。
私はクラスの切り出しがあまくて、コーディングが進むにつれて、
「このクラスにこのメソッドはよくないなぁ」
とか
「このクラスの存在する意義はないかも」
って悩むことが多いのですが、この本から得た知識で
綺麗なクラス設計に戻せそうです。
0142デフォルトの名無しさん
NGNGDUnitのアイデアが固まったので実装中。
若干実行速度が遅いけど、テストクラス単位なら許容できそう。
>>134
英語版とは気が早い。
ドキュメントの分量なんてたかがしれてるけど、
日本語版の開発環境で英語版のexeを作れるのかな?
例外のメッセージなんかも含めて。
0143デフォルトの名無しさん
NGNGプログラム日記(w)って、どうしてます?
XP風に強引に言い直すならば
「日記は12のプラクティスのどこに当てはまるか?」
って感じなんだけど。それとも「んなもんねぇよ」ということ?
Wikiでプログラム日記つけたら
どうなんだろう?って、ちと思ったもので。
開発者、ソースファイル、関数/クラス/メソッド、などなどの
それぞれに対応するWikiNameを作って、
なにか作業するたびにリンクを張り合う。
もちろんwikiでなくてもいいけど、リンク(を含むファイル:htmlとか)を
さくさくとしかも複数人でいっぺんにいじれる環境が欲しいんで。
うーん。ソースをCVSに入れちゃうだけで十分、なのかなあ?
どうでしょう?
0144デフォルトの名無しさん
NGNG実際に導入してやっている方の体験談きぼぅん。
0145デフォルトの名無しさん
NGNG演繹的なコードの検証は不要である。
なぜならいくつかの単純なテストにパスすることで
コードの正当性が確認できるからである。
もし一つのコードの検証に多くの複雑な
テストが必要になるとすれば、
そのコードは複雑すぎるのである。
そしてそのコードはリファクタリングの対象となる。
0146デフォルトの名無しさん
NGNGんなこたーない。
つーか、言葉の定義が雑すぎて評価できない。
0147デフォルトの名無しさん
NGNGとある配列の順序をランダムに並べ替えて
それをリターンするメソッドがあるのですが、
これってどうやってテストを書けばいいのでしょう?
配列の長さが同じ!とかテストしても
あんまし意味ないですし。
0148>147
NGNGどの程度ランダムになっているかという「性能」についての
テストはUnitTest以外のテストが必要になる。
0149デフォルトの名無しさん
NGNGテストルーチンがサパーリ思い浮かばん・・・。
キャラクターの動きやらスプライトの描画やら・・・。
0150デフォルトの名無しさん
NGNGテストの基本は入力とそれに対する出力をどうするか?を
決めていることが前提。
描画系はどうしようもなさそうだけど、
例えば人オブジェクトの移動メソッドくらいなら
入力:目的地の座標
出力:(移動後)現在の座標
みたいな事くらいは出来ると思う。
0151デフォルトの名無しさん
NGNG予想出力結果ファイルを作成して比べるしかないんでしょうか。
いろんなテストパターン毎にファイルを用意するのが面倒なのですが……。
0152デフォルトの名無しさん
NGNG文字列リスト、テキストファイルのテストはよくやるので
面倒ならxUnitを拡張してしまえばいい。
DUnitにはファイル・ファイル、ファイル・文字列リスト、
ファイル・文字列配列のテストを追加した。
TestFile('result.txt', ['aaa', 'bbb', 'ccc']); // result.txtの中身をテスト
>>149
今ちょうどゲーム(のライブラリ)でUnitTestやっているけど、
UnitTestを導入するのはUnitTestを書きやすい
ロジック部分のみに限定した方が無難かも。
描画はほぼ不可能。UIの絡んだシーケンスは困難。
従来のASSERT、デバッグログの代わりに
Testメソッドを完備しておいて、実コード中で
Testすると多少便利になるというぐらい。
0153149
NGNG0154151
NGNGやはり正面から対応すべきなのですね。ありがとうございます。
周りでは誰にも訊けなくて鬱々としていたところなので
救われた思いです。当方RubyUnitがメイン利用なので、
ちょっと試してみようと思います。
0155>154
NGNGp `cat result.txt` == <<"FILE"
aaa
bbb
ccc
FILE
0156デフォルトの名無しさん
NGNG2ch上でペアプログラミングしているみたい >>154-155
0157デフォルトの名無しさん
NGNGゲーム系描画ライブラリもUnitTest導入し始めています。
最初にフレームバッファの内容をキャプチャして画像ファイルに出力するモジュールを
書いておきます。
あとは描画機能を追加するたびにテストシーンを作って描画結果をファイルにセーブ。
描画エンジンを修正するたびに同じテストシーンを描画してファイルと比較。
先日もエンジンの高速化作業でマトリクス計算を微妙に間違えていたのを事前に発見
できました。
UIがからむもの、アニメーションがからむもののテスト方針はまだ模索中です。
0158149
NGNG最初にキャプってテストは考えはしましたが、
本当にやっているところがあるとはー。
0159デフォルトの名無しさん
NGNGおおおお!まんせー!!すばらしい!!
158と同様に、157をホメテアゲタイage
ちなむとどう素晴らしいかというと、
「安易」な方法ではあるけどそれが確実で低コスト
であるのは間違いない、つまり
リーズナブルでベストな選択だ、って点が。
勝手ないいぐさで御免だけど。
>UI、アニメーション
逆にいえばそれらがテストツールにかけることが容易になればいいんですよね。
ふとWindowsMetaFileやDisplayPostscriptを思い出したんだけど、
つまり最終出力データ(=ビットマップ)じゃなくてそういうメタデータとして
表示とかを表現することにしておき、それ(多分適度に小さいだろう)のレベルで
比較するとかいうやり方でテストを行うと、いけるんじゃないだろか?
0160デフォルトの名無しさん
NGNG『ゲーム作品、きちんとテストプレイしてます?』
http://tako.2ch.net/test/read.cgi?bbs=2chbook&key=991063240&st=27
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG今、シミュレーション系の数値計算プログラムを作っているのですが、
出力が(ある程度わかるとは言え)未知なので、
UnitTestが少々難しい感があります。
簡単な数値なら、実数値の誤差がどのくらいまでならOK、
というテストもあるので多少助かりますが。
#あぁ、眠い。頭まわらないのでヘタレカキコでスマソ
0163デフォルトの名無しさん
NGNG新い機能がなかなか追加できません
まあ自分の作った危うい設計のまま機能追加するのは、
いつかやばくなるのは分かってるんだけど、
先にすすめないのは結構きついっす
コードが大分スッキリ分かりやすくなったんで、
未来は明るいとは思うし、これからあたしくプログラミングするときに
前より綺麗な設計が出来るようにはなるとは思うんだけど・・
0164デフォルトの名無しさん
NGNG汚染垂れ流しをやめれば必然的に素の成長速度は落ちるが、
かわりに持続可能な成長ができる見こみが増してくる、
長い目で見ればお徳、って奴。
というわけで、めげずにがんばれ>>163
>>162
そうか。「目的」自体が試行錯誤状態のプログラミングでは
うまくいかないかぁ…。
XPって「ゴールがあるから頑張れるの法則」に通じるところがあるから…
0165162
NGNGけど、試行錯誤しながらテストコードもしっかり書きましたよ。
その後のリファクタリングをしたんですが、
テストコードは、本体の大事な支えなんだな、と改めて実感。
#そしてテスト中毒への道をまっしぐら(笑)
0166デフォルトの名無しさん
NGNG雰囲気が似ていると思ったのは、漏れだけ?
なんかみんなでスクラム組んで努力友情勝利って感じ。
勿論けなしてるんじゃないよ。
0167デフォルトの名無しさん
NGNG1つは完成したけど、もう1つが厄介者。
最初に完成したと思っていたプログラムには
重大な、しかし出現率が少ないレアバグがあったため
数時間書けてバグ探し・・・
UnitTestが書けるところはしっかり例外含めてテストしていたので
そこにはバグが潜んでいなかったのですが、
シミュレーション部分はテストコード書きにくいので放置していたら、
そこにしっかりとバグが居られました。
テストが書きにくいプログラムってイヤ(涙)
0168デフォルトの名無しさん
NGNGなんてなソフトだと(シミュレーションじゃザラでしょね)
UnitTestどころの騒ぎじゃないかも。
「実行してみりゃ判るべ」という超帰納的な手法は
時としてアダになりますね。
おいそれと実行できないものを検証することができない
ということになる。
0169デフォルトの名無しさん
NGNG>長い間待たされた、XP Seriesの残り2冊が発売されたようです。
とあったけど、これはなんと言う本なんでしょう?
知ってる人います?
0170デフォルトの名無しさん
NGNG同じくXP-mlより。
一部を転載。
>洋書の,"XP Examined" と "XP in Practice" です.
># Installed の日本語版はもうすぐ!
>Examined は多くの記事の集合体.in Practice は実践例ですね.
0171デフォルトの名無しさん
NGNGいろいろここで愚痴ってすみませんでした。
けど、UnitTestはシミュレーション部分以外、
つまり入力と得たい出力がはっきりしているから
非常に役に立ちましたよ。
0172デフォルトの名無しさん
NGNGsource forgeのDUnit使えばいいのに。
http://dmj.psnet.ne.jp/books/ISBN4-939049-16-7.html
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGサンプルは多いほど参考になるので。
01771
NGNG自作のMatrixクラスと、それのテストコードなら
サンプル程度で公開してもOKですよ。
ちなみに何故自作か?というと
標準のMatrixクラスの存在を知らなかっただけ(wara
01781
NGNG今見ると、なかなか恥ずかしいソース。
テストコードを見ると、何をしたかったのかがわかると思います。
多分。
0179デフォルトの名無しさん
NGNGthan〜x!!
0180デフォルトの名無しさん
NGNGUnitは使ってないみたいだけど
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/MonaUtils20010427.lzh
0181デフォルトの名無しさん
NGNGmonazillaのプロジェクトの一部っすよね。
はじめ見たとき、やけにテストコードしっかりかいてるとおもたら、
XPだったんやね。
0182デフォルトの名無しさん
NGNGMyAppTestを作って、
MyAppクラスのなかのprivateなメソッドをテストしようと
思ったのですが当然無理
MyAppTestにテストコードを入れるのはいやなんです。
基本的にpublicなメソッドを(もしくはpublicメソッドを使って)
テストしろってことなんでしょうか?
なやんでしまって、テストコードがかけない状態です
0183デフォルトの名無しさん
NGNG結構議論になっていますね。
XP MLのアーカイブ
http://objectclub.esm.co.jp/ml-arch/extremeprogramming-jp/
が参考になると思います。
0184デフォルトの名無しさん
NGNGよいリソースありがとうございました。
いろいろ調べてみます
0185デフォルトの名無しさん
NGNGテストがいい感じであれば、
・テストコードをコメントアウト
・メソッドをプライベート化
しています。
基本的にプライベート化してからは、そのメソッドのテストはしません。
できません、と言う方が正しいかな。
0186デフォルトの名無しさん
NGNGpublicなテストの前にちょっと書けると便利なことがある。
#ifdefしたりスコープいじったりしないでテストできるなら
できたほうがずっと良い。
上のほうでも書いたけどDelphiなら
普通にprivate, protectedメソッドのテストが書ける。
C#もinternalすれば書けそう。
ヘジ氏の言語設計はこのあたりの手抜き加減が絶妙だったりする。
0187デフォルトの名無しさん
NGNG>普通にprivate, protectedメソッドのテストが書ける。
同一Unit(ファイル)内なら、アクセスできるの利用するんだっけか。
0188デフォルトの名無しさん
NGNGをいろんな言語で書くってのはなかなかないのではないでしょうか
機能・テストの書きやすさの点でどの言語のUnitが優れてますか?
ポイントはリフレクション・例外・クラス・シンタックスシュガー
といったところでしょうか(Cはちょっと不利かも)。
あと関数型言語のUnitって見かけないですね。
0189デフォルトの名無しさん
NGNG俺もちょうどさっきそれを考えていたところです(^^;
Unitじゃなくmain処理のテストはUnitTestじゃ無理だ、という話がありますが、
あれって「処理がずーっと流れるようなところ」のテストはしにくい、
という意味なんじゃないかと思っています。
OOPだとしばしば、処理をちょびっと走らせて、副作用たる状態の変化を
Object(多くはself)に書きこんで、終わるわけです。
少なくともそう書くことは奨励(^^;されてはいますよね。
で、関数型言語って未だに掴めてないんですが憶測するに、
「副作用たる状態を書き込んでおく」という感じに
ならない/なりにくい、のではないでしょうか?
つまり、なにをやらせても、"処理ずーっと型"になっちゃう。
個人的には、そもそもプログラムは「走らせる」からデバッグしにくく
なるんだ、と信じて(藁)います。
1繋がりのrunが長くなればなるほど人間の脳はそれを理解しにくくなる。
有名なHackerの言葉にもたしかありましたよね、
「DBのスキーマのよしあしは一目で判るが、
ルーチンのよしあしはなかなかわからず、バグが潜んでいても気づきにくい」
とかいう趣旨のが。
そういう意味で、runの単位をいかに短くできるか?の答えの1つが、
(狙ったか偶然かは知りませんが)OOPなんじゃないか、と思っています。
また、UnitTestも、そこ(処理単位が短い部分)を重点的にデバッグ
するための手段、なんじゃないかと思います。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGって出たころはもう下火
ってこと?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG日経に出ないと注目されない、ちうのはどうなんだ。
0194デフォルトの名無しさん
NGNG.NET, デザインパターン, XPを数ページで
流しちゃうような日経が思いの外
強い影響力を持っちゃうってのもいやな状況だよな。
ど〜でもい〜けど特集記事コピーして
会社にばらまくのは違法行為だぞ > 某
0195デフォルトの名無しさん
NGNG絶版本の復刻署名サイトはあるようだが、
DDJ復刻は、どこのサイトで署名すりゃ
受けつけてくれるんだろう?(T_T)
たとえ時折ハズシ記事があったとしても、結局
DDJくらい萌えれる雑誌は、なかったんだがなあ…。
悔しくて悲しいのでage
>>190
「XPを」という意味ですか?
うーん。いいようなわるいような。
つーか、悪いなあ。
あんな力の入ってない記事ばっかり並べられてもねえ>日経
「ソフト業界を、そういうレベルに留め置く」のが
目的なんじゃないか?とか思ってしまうよアレは。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG大人が子供に寓話をソフトタッチな語りと絵とで
読み聞かせてあげる、あれ。
まるっきりハズしてるとは限らないんだけど、
やはり決定的に情報欠落しまくってる、あれ。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGそれは復刊では?(タモリクラブじゃないんだから別出版社で出るか?)
0200デフォルトの名無しさん?
NGNG「日経コンピュータ」2001.6.4 号はどうよ?
5社の事例によるケーススタディ、
ベック氏インタビュー、
12のプラクティスについての解説、など。
C3プロジェクトについても、あるていど紙幅が割かれているよ。
僕には、かなり参考になったよ。
0201デフォルトの名無しさん
NGNG他の人が混乱しました、なんてことあったら面白いね。
どうしても例えが下手な人っていますし。
0202デフォルトの名無しさん
NGNGのんべんだらりとRADするとドコがUnit(=単位)なのかワケワカになっちゃう。
Delphiみたいな言語系でフツーに作業してると
TForm1なんてなクラスに、とんでもなく多数かつ大量のコードが
へばりつくようになってしまう。
RADの前(藁)にRapidTestDevelopmentをしないと駄目、かな。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGまじで?
0205デフォルトの名無しさん
NGNG結局真相は?
0206デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/java/010629/j_j-xp.html
0207デフォルトの名無しさん
NGNGhttp://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20010702/1/
0208デフォルトの名無しさん
NGNG自称シロートだそうだが、
こういうしっかりした文章を書いてくれるなら
シロート大歓迎だな。
それどころか目から鱗だったよ。大規模という言葉の中身を
きちんと分析というか分割統治というかしている辺りが。
そうかあ。そういや俺の仕事も、モノそのものはデカイけど、
たいして多くない人数で、何年もかけてやってるなあ。
しかもチーム構成員が時折入れ替わるし(わら)、
客先で開発してるから客は既に巻き込んでいるわけだし。
実はXPに最適なんじゃねーのか?
ただ、自前言語のコンパイルの異様な遅さをどうにかしないと
UnitTestどころの騒ぎじゃないのだが(わら
あと、ObjectDBを使ったシステムって、
UnitTestするのは効率悪そうだな。
TearDownするときにDB上のObjectを片っ端から
捨てないとならん(勿論次回再び全部作り直す)わけだから。
しかもうちのシステム、Object作るのが凄く遅いのよ(T_T)
0209デフォルトの名無しさん
NGNGこいつのライセンスの制約があるんで、
Installできる数に限界がある。
で、DBがきちんと組まれていないとmakeできないようになってるんで、
新たにコンパイルサーバー環境立てるとか、
ペアプロの脇で自分用練習コーディング環境を別に作るとか、
ということが思うように出来ない(T_T)
というわけで、ライセンスという奴も
時としてXPを邪魔するのだな(T_T)
0210デフォルトの名無しさん
NGNG多くが投稿されていますね。
なんとなくage
0211デフォルトの名無しさん
NGNG緑のバーになるとかいうテストは、
GUIのテストですよね?多分。
CUIテストにはそのようなものがありませんでしたので。
#どうにもJavaでGU関連をIいぢったことがない
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNGhttp://village.infoweb.ne.jp/~fwgf2942/process/Proc.CMM-XP.html
0214デフォルトの名無しさん
NGNGあの記事に対するコメント見るとかなり悲しくなるものもありますね。
せめて、XP っていうのがどういうものなのか勉強してからコメントしろよ…。
0215デフォルトの名無しさん
NGNG申し訳ないのだけど)XPとかを興味をもっている人と「位置」
が違うように思う。(気のせいか命令口調/押し付け口調という
か...)失敗したときは、「おれ知らん、おまえらが間違ったんだ」、
成功したときは、「ほーれ見ろ、いったとおりだろおが」とか言われ
そうな感じ。
CMMもPSPもTSPも、いいこと言っているのはわかるし個人的に勉強
してはいるのだが、、、XPの方が身近に感じますね。
(肌の感覚が近いっていうのか、うーん。)
# ぜんぜん論理的じゃあないですね。
要は、213さんのリンク先の人とは住む世界が違うん
だろーなー、と。あーそー見る人もいるんだなー、
ってな感じです。
0216デフォルトの名無しさん
NGNG| XPという表現を使っているが本質的には「オブジェクト指向開発技法」
| を使って、「インクリメンタル開発」を行うことを指しているのだと思う。
ってやつが強力ですな。モノを調べずに我田引水…。
0217デフォルトの名無しさん
NGNGでも、そういう風に思っているひとがいるみたい……っていうか私の近くにはいる。
どう説明してあげればわかってもらえるんだろう……。
0218デフォルトの名無しさん
NGNG結局は、現状の開発技法で上手くいかない人間が銀の弾を求めて飛びついて
やっぱり上手くいかないという結論に落ちてしまいそう。
現状で上手くいってる人間はあえて枯れていない開発技法には触れないだろうし。
納期の制約が厳しく無く、検収という概念も存在せず、いつまでもソフトウェアを
改良し続けられる環境なら役に立ちそうだな。
オープンソースとか社内開発とか…
0219デフォルトの名無しさん
NGNGどの辺からそう思われますか?
>現状で上手くいってる人間はあえて枯れていない開発技法には触れないだろうし。
そりゃそうでしょうね。
>納期の制約が厳しく無く、検収という概念も存在せず、いつまでもソフトウェアを
>改良し続けられる環境なら役に立ちそうだな。
そんなことはないでしょう。「納期がきても完成していないので
使用できない」よりも「予定していた機能のいくつかは完成して
いないがとにかく使用することはできる」方が顧客にとっても
ありがたいはずです。
# ただしそれが可能なように契約することは現状では難しい
# んですけどね。
それに検収の概念はありますよ。受け入れテストをすべてパスすれば
「検収」ですよね。
0220デフォルトの名無しさん
NGNG>#ただしそれが可能なように契約することは現状では難しい
んだな。XP…というかその先輩(?)であるスパイラル開発の時点から
判りきっていたことではあるけど、
「納期」という考え方を古臭いスタイルのまま持ち続けることが
つまりソフトにとって無理があるわけで。
そういや土建系のアプリ作ったときは大笑いだったよ。
あっち業界お得意の、作ったものを写真に取って
「ほれ作りましたよ」という証拠とする、というアレを
ソフトでもやるのな。物理的実体の無いものを
どうせいっちゅんだ?一応動いている所のDisplayを
撮影しといたようだが。
しかも窓有りのクライアントソフトだけならまだしも、
画面なんか無い鯖っぽいソフトも有ったんで、
写真がとれなくて困った…という事態を避ける「ために」、
不要なのにわざわざ鯖側にもGUIをつけた、という。
古臭い(or不適切)なんだよ、あーゆーのが。
新しいワインを思いっきり古い袋に入れてるのな。
あーいうミスマッチをまず解消して欲しい。
IT屋に仕事させるならば。
なんでもかんでも「そのまま」IT化できるってわけじゃないのに。
0221デフォルトの名無しさん
NGNG>「納期がきても完成していないので 使用できない」よりも
>「予定していた機能のいくつかは完成していないがとにかく
>使用することはできる」
どちらも論外だとは思いませんか?
「納期通りに全ての機能を完成させる」のが当たり前ではないですか?
("ベスト"ではないです、あくまで"当たり前"です)
>>220
しかし、顧客がそれを望む以上はそれが僕らの現実でしょう?
XPは理想ではあっても、現実とのギャップが埋めきれてないと思いませんか。
自分が顧客の立場なら、やはり納期は設定するだろうし検収も確実に動作が確認
出来るまでOKはだせない。当然不具合は何があっても修正してもらう。
少しでも不安因子のある契約内容にはケチをつけるし、だらだら納期を延ばすよう
なら担当者も変えてもらう。
この業界、顧客の立場で仕事をするという姿勢が少し欠けているように思う。
ン千万の金額を払う相手に「作ってやる」という姿勢で仕事をしている人が
多いように感じます。
横道失礼。
0222デフォルトの名無しさん
NGNG>「納期通りに全ての機能を完成させる」のが当たり前ではないですか?
XPは仕様をあらかじめ確定させたりはしないから、その前提はおかしい。
それに、顧客は要求を出すだけじゃなく、チームの一員として共同作業を
行うから顧客自身も納期の責任の一端を負うことになる。
>だらだら納期を延ばすようなら担当者も変えてもらう。
そんなことしても万に一つも納期が早まることは有りません。
延びるにはそれなりの理由って物が有るんです。
あなたもしかしてシステム作ったこと無いんじゃ?
>ン千万の金額を払う相手に「作ってやる」という姿勢で仕事をしている人が
>多いように感じます。
「こっちゃ金払うんだから仕様のあいまいな所はそっちで詰めてよ」って態度
の客にうんざりしてるんすけど。
そういう客ほど仕様の矛盾点を「不具合」だって騒ぎ立てるし・・・
お互いのすれ違いを解消するためにも、チームに顧客を参加させるXPは
とっても魅力的だと思うけどね。
0223デフォルトの名無しさん
NGNG>>「納期通りに全ての機能を完成させる」のが当たり前ではないですか?
>XPは仕様をあらかじめ確定させたりはしないから、その前提はおかしい。
別にXPで開発を進めるのが前提であれば、「その前提はおかしい」のかも
しれないが、結局はどのように契約するかが大前提にある、ということだな。
詳細仕様を決める上でのリスクまで考えれば、契約時点でちゃんと踏まえて、
契約を結ばないといけないんだろうな。考えさせられること多し。
>「こっちゃ金払うんだから仕様のあいまいな所はそっちで詰めてよ」って態度
>の客にうんざりしてるんすけど。
うーむ、うちがまさにそんなドキュソな感じだな。
結局設計まで委託したのに自分で詳細仕様まで自分でやってしまったが。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG>>「予定していた機能のいくつかは完成していないがとにかく
>>使用することはできる」
>
>どちらも論外だとは思いませんか?
>「納期通りに全ての機能を完成させる」のが当たり前ではないですか?
>("ベスト"ではないです、あくまで"当たり前"です)
そういう契約ならね。
もちろん、その当たり前のことが出来ないリスクは常に存在する。
・今までの契約
1年後が納期なら1年後に最初に契約した全機能をリリース
・XPでの契約
1年後が納期なら、重要な機能からリリース
としたとき、XPでの方がリスクが少なく、顧客の要望にも
答えやすいってことじゃないの?
0226デフォルトの名無しさん
NGNGでもどこかで真の納期が存在するんでしょ?
いったいいつになったら開発完了するのか不安になっちゃうよ。
0227デフォルトの名無しさん
NGNG典型的なそもそも論って気がするな。
0228デフォルトの名無しさん
NGNG「仕様が決定」ってのはXP的にはどうなの?
0229219
NGNG>いったいいつになったら開発完了するのか不安になっちゃうよ。
「ソフトウェアは完成しない」
XP的に言うと、開発が終わるのはそのソフトウェアの寿命がつきた
時です。
>仕様が決定すれば(実際の)納期もある程度決定可能になるけど。
>「仕様が決定」ってのはXP的にはどうなの?
仕様が決まっているのは、次回にリリースするストーリーまでの
分です。XP的な開発をするには、Fixed Priceな契約ではなく、
Time and Materialsな契約でないと難しいかもしれませんね。
0230デフォルトの名無しさん
NGNG(1)利用者の要求仕様は永遠に確定しない
(2)開発者の設計仕様も永遠に確定しない
(3)ソフトウエアは完成することがない
つまり、仕様は決定することはないし、納期も決定することはない。
しかし、現実にはお金とか納期とかの兼ね合いで完全では無い物を
「完成品」として納品する。
0231デフォルトの名無しさん
NGNG222にめちゃ同意じゃ。
XPは、昔から言葉にできなかった思いを言葉にしてくれたって感じだ。
すばらしい。
0232デフォルトの名無しさん
NGNG>「納期通りに全ての機能を完成させる」のが当たり前ではないですか?
どっちかってーと、それが「可能」かどうか?という問題じゃないかな。
CapableかどうかじゃなくてPossibleかどうか。
物理的(?)に可能かどうかっていう奴。
いっぱいいっぱい仕事してるはずなのに追いつかなくて
製品できません、という最悪の(だよね)事態を
避けるためにはどうすりゃいいか?という話であって、
客の要望「のみ」に注目してそれを満たすことが出来るかどうか
という話より、前の次元なんじゃないかな。
労働条件の話と似ていると思います。
客の要望のみを考えるなら、ストなんかしない(できない)のが一番。
実際、今みたいな労働者権利が保証されてない時代には
ストすることがすなわち犯罪(雇用者に損害を与えた!)と
判断されていたわけです。
でも今は、特殊な業種(笑)以外は、そうじゃない(ほうが良いと
法律でも認めてくれてる)わけでしょ?
つまり、「無茶いうなよ」ということ。
それ以前の段階をクリアしないと、とてもじゃないが
量や質を上げることなんか望めないんじゃないの?という。
>しかし、顧客がそれを望む以上はそれが僕らの現実でしょう?
しかし、それでも思うように(思うの主語はあくまで客と雇用者ね(笑))
作れないというのも、「僕らの」現実です。
天秤の一方ばかりを注目してても解決はしないでしょうね。
XPで…いやそれ以前の開発手法でも言われていたことだけど…
「客を巻き込め」って言ってるのは、そういう効果もあるでしょうね。
よいものを欲しいなら客もきびきび動きやがれ、ということ。
勿論、客には客の(僕らとは違う)役割があり、その役割をきびきびやれ、
という意味ですけど。こっちの仕事をやらせるってのは論外。
で、ならばどの部分を客に担当してもらうと効率が最大化するのかな?と
色々研究だかなんだかすることで、今のいくつかの開発手法は
成り立っているんじゃないかな。XPはXPなりに、その問いに対する答えを
用意している、と。
まぁ平たい日本語でいえば「技術の隣」を客に作業してもらう
という感じかなと思っています。技術そのものは僕らの領分。
その僕らが振るう技術に密着取材(わら)するというのが彼らの領分。
>自分が顧客の立場なら、やはり納期は設定するだろうし検収も確実に動作が確認
「管理」しちゃいたくなるんですよね、どうしても。
Linux革命本を引き合いに出すのはExtreme(笑)だとしても、
いずれにせよ、「管理(=尻たたき)」すればうまくいくのか?というと
そんなことは全然ないんですよね、技術系って。
技術的に確かなところからしか次の技術(=製品)は生まれないわけで、
その層をすっ飛ばして管理だけしても、しばしば焦りを増させるだけだったり。
0233デフォルトの名無しさん
NGNGXPって、その形態から見れば丸わかりだけど、
ケータイ(駄洒落か?)みたいに産みっぱなしでないとまずいデバイスには
適用しにくいですね。PCを代表とするような、ソフトの入れ替えが超楽な環境を
前提としているというか。
なので、ファームアップデーターを搭載しない限り、
ケータイ産業は(少なくともXPでは)救われない、
ということになるかな(笑)
あと、顧客が不特定多数の場合も、XPだと困りますね。
客を巻き込めなくなる。
オプソにでもするなら話は別ですが。そのほうが却って幸せだけどな(わら
0234デフォルトの名無しさん
NGNGそれって危険じゃない?
それとも「なぜ納期が守れないか」の要因解析はみんな済ました
上での議論なの?
0235デフォルトの名無しさん
NGNG>上での議論なの?
その問いに対して、一般的(=案件に依存しない)かつ
ある面から見た1つの答えを仮定しているのが、
XPの存在原理なんじゃないの?
納期が守れない(XP立場から見て正確には「納期すら守れない」
と言うべきだろうな)守れない理由の1つとして
コレコレがあるよね、だから(この意見を認めるならば)
こうやって解決しようぜ、という。
で、その仮定が自分の現場に合っているかどうか?は、
自分たち(かコンサル屋)が測るんだろうね。
0236デフォルトの名無しさん
NGNG> 「納期が守れないからXPを使う」
XPにも納期はあるよ、ただ一気に納品するんじゃなくて
細かい納期があり、少しずつ納品する形態。
XPでも納期は守れない可能性はあるが、従来の形態よりも
納期が守れない場合、早期のアラームを出せる。
0237デフォルトの名無しさん
NGNGケータイって一番XPを適用すべき環境なきがするけど。
・短納期
・客の要望がころころ変わる
・新機種の機能のほとんどは前機種の引継ぎ
>なので、ファームアップデーターを搭載しない限り、
>ケータイ産業は(少なくともXPでは)救われない、
>ということになるかな(笑)
ファームをアップデートしなくても、次期ロットでバージョンアップ
するとか、ソフトだけ異なる次バージョンを出すとか。
>あと、顧客が不特定多数の場合も、XPだと困りますね。
>客を巻き込めなくなる。
大概の製品の最終顧客は不特定多数だと思うけど。
最終ユーザ全員を巻き込まなくとも、マーケティング部門とかを
顧客にするだけで、開発サイドとしては、いいんじゃないのかな。
0238?(X _ P)?
NGNGhttp://member.nifty.ne.jp/masarl/article/testing-framework.html
以外で具体的な説明の載っているページ在りませんか?
JUnitの方は色々見つかるのですが、Cppの方は中々見つからないです。
■ このスレッドは過去ログ倉庫に格納されています