【XP】 Agile Process 【UP】
レス数が1000を超えています。これ以上書き込みはできません。
XPスレと補い合う感じで役立てばいいなと思います。
関連スレ
・eXtreme Programming Part.3 (XPスレッド)
http://pc3.2ch.net/test/read.cgi/tech/1023709462/l50
・Agile Alliance にあるドキュメント集
http://www.agilealliance.org/home
・Wiki本家のAgile関連ページ
http://c2.com/cgi/like?AgileProcess
・Agile Modeling(お勧め)
http://www.agilemodeling.com/
なるべくマターリでおながいします。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG00043
NGNGhttp://www.metabolics.co.jp/XP/AgileCommentary.html より
>「アジャイル開発プロセス 」とはある特定の開発手法を指す言葉
>ではありません。「アジャイルな」とはつまり、良いものを手早く
>無駄なく作ることです。「アジャイル開発プロセス」という言葉は
>アジャイルにソフトウェアを開発することを可能にするさまざまな
>手法全体を指して使われています。
>かつては「軽量級の(lightweight)」プロセスと呼ばれていました。
>
>皆さんよくご存知のエクストリーム・プログラミングも
>アジャイル開発プロセスの代表的な手法の一つです。
>近年エクストリーム・プログラミングが日本でも急速に普及している
>のと同様に、合衆国ではここ数年来エクストリーム・プログラミング
>を含む多くのアジャイル開発プロセスが提案され、
>広く利用されています。
00053
NGNG0006デフォルトの名無しさん
NGNGま、がんばれ。
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009
NGNGだいたいそんな感じです。
↓は関連する引用です。
The question for using agile methodologies is not,
"Can an agile mothodology be used in this situation?"
but "How can we remain agile in this situation?"
Alistair Cockburn -『Agile Software Development』
0010デフォルトの名無しさん
NGNGそもそも「アジャイル」ってどういう意味なん?
話はその辺から。。。。。。。。。。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGあの雑誌も最近なんだかアレな匂いがして来たが…
0014デフォルトの名無しさん
NGNG>>5 にてガイシュツ
0015デフォルトの名無しさん
NGNG最近あらぬ方向へ爆進してるような。
というか宗教じみてきた。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGAgile:
{形}素早い{すばやい}、機敏{きびん}な、身のこなしの軽い、敏捷{びん
しょう}な、身の軽い、機動的{きどうてき}な、鋭敏{えいびん}な、敏活
{びんかつ}な、活気のある、頭の回転の速い、しなやかな
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGオブジェクト指向を宗教とみなすのと同レベルだと思うよ。
少なくともOver-documentなプロセスの対抗馬がXPのみって
状況よりは遥かにまともに見えるけど。
0020デフォルトの名無しさん
NGNGまた胡散臭い紺猿好みなネタ出してきやがったな。
0021デフォルトの名無しさん
NGNGトークネタって何?
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGみんなこれでわかるのか?
脳が2ちゃんに犯されてないか?
00271
NGNGJavaWorld読みました。名前しか知らなかったのも紹介されていて
興味深かったです。
ただSCRUMに関しては、なんか精神論的な部分が強調され過ぎていて、
正直引いちゃいました。
いまのところ移行とか導入のノウハウの方もわりと需要があると
思うんですが、雑誌なんかでもそういったところを紹介して欲し
いですね。
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGXP、SCRUM、クリスタルシリーズなどが agile なプロセスと言われている。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG状況におけるアジャイルプロセスの実現形態の一つとして
XPを捉えるといいかも。
0032
NGNGユーティリティとか、なんか挙げて見てください。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGホワイトボード
というような答えを期待してるのか?
0036デフォルトの名無しさん
NGNG>>36
それいい。VC++で作る。
0038デフォルトの名無しさん
NGNGピーターコッドのカラーUMLその他で紹介されてる、
紙にペタペタPostIt!貼り付けて、UMLの各種ダイアグラムを書く方法。
Agile周りの雑誌記事見ると、予めUML用に印刷されたPostIt!もある始末。
003937
NGNGデスクトップに貼っとく付箋紙をイメージしてしまった。
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGやはり怪しい紺猿が好きそうなキーワードだけじゃもう誰も飛びつかないってことか。
0042デフォルトの名無しさん
NGNGhttp://www.pearsoned.co.jp/washo/object/wa_obj61-j.html
0043デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG誰もこんな所で議論したいと思わないから、ただネタとして消費するしかない、と。(寒
0046デフォルトの名無しさん
NGNGおもしろツールの紹介もあったから
流行ったんじゃない?
RUPに負けたやしらまで騒ぎ始めた辺りから
猿臭くなってきてなんか冷めた。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG現場で洗練されるべきプロセス。
Agile売り込む紺猿って、一見良識派に見えるが、
実は「ロンドンでは今パンクが大ブームです」てぇな事言って、
ストリート文化にブランド付けて堅苦しく売り出す、
貿易商の可能性大。
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG慣れるの大変だ。
今までantを使ってきた。
javasdocでコメント書いてきた。
テストファーストではプログラムにコメントかかずにテストプログラムにのみコメント
書けっていうのも、いまからそのように方針を変えなくてはならない。
antからJUnitを呼び出して動かす方法に2,3日かけてやっと慣れてきた。
もっともっと修行が必要だ。
仕事でやっているわけじゃないし、
一人でしかプログラミングしていないからペアプログラミングしようが無いんだな。
そのうち誰かにも手伝ってもらうが自分の周りにXPはおろかオブジェクト指向もおろかJavaを
理解できるものがいない。
しかもオブジェクト指向の必要性を理解していないと来た。
関数だけで十分といっているのが殆ど。
なかには、関数すら使っていないものがいる。大変だ。
0052デフォルトの名無しさん
NGNG匿名という手段自体は悪くないんだよねぇ。
ただ、本当の バカ がそれを間違って使うと悪い結果になってしまう。
日本人はxxばかり。
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG/:::::::ヽ____/::::::::ヽ、
丿 ::.__ .::::::::::::: __ ::::ヽ_
/ /。 ヽ_ヽv /: /。ヽ ::::::ヽ
-┼- 丿~~~| / / ̄ ̄√___丶  ̄ ̄\ ::::| ■ ■
-┼- /~~~~/ ━━━ | .:::::::::: / / tーーー|ヽ ..::::: ::|━━━━━━ ▼ ▼
.| 丿 | .:::::. ..: | |ヽ ::| ● ●
| ::: | |⊂ニヽ| | :::::| \
/ /| : | | |:::T::::| ! .::| \ \\
/ / \: ト--^^^^^┤ 丿 \\\ \\\
お、大阪・・・・
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNGもう元には戻しません。
時は流れる。
0058デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGんじゃおやすみなさい(3回目)
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGあるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。
http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG削除管理委員という方は見たことないです。
スレ救出隊っていうのも聞いたことないです。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNGそんなことより何の権限もいらないからキャップ下さい
理由:かっこいいから
以上
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGママに添削してもらってから書き込めってこった
0073デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG要は、削除権を適切に行使しているかがポイントになる訳だから。
その意味では、これまたヲチ板がいい例だが、現状ではとても免責は無理だろう。
要するに、ひろゆきは今後さらに追いつめられることになる。
0077デフォルトの名無しさん
NGNG184 :ひろゆき ◆3SHRUNYAXA :03/01/11 05:40 ID:kSb7xo24
イナゴのように資源を食い尽くして移動していきます。
0078デフォルトの名無しさん
NGNGもっと踏み込んだ手段をとればなおいいが。
0079デフォルトの名無しさん
NGNG2chでIP記録実験が始まる
http://headlines.yahoo.co.jp/hl?a=20030109-00000021-zdn-sci
ZDNet News - 2chでIP記録実験が始まる
http://www.zdnet.co.jp/news/0301/09/njbt_07.html
ネット掲示板「2ちゃんねる」管理人のひろゆき氏は1月9日、掲示板に書き込んだ
ユーザーのIPを記録する実験を始めたことを明らかにした。
ひろゆき氏が発行するメールマガジンで明らかにした。各掲示板の最下部の日付が
「2ちゃんねる20030107」以降のものはアクセスログの記録を実験しているという。
ひろゆき氏は2002年末、都内の動物病院が同掲示板への発言の削除を求めた裁判の
控訴審で敗訴したのを受け、IP記録の開始を示唆していた。(ZDNet)
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG漏らした
0082デフォルトの名無しさん
NGNGなな乙
0083デフォルトの名無しさん
NGNG実はこのコピペは取り巻きが…
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG今のひろゆきにこういう積極性はあるのだろうか。
http://www.nikkei.co.jp/digitalcore/event/011207/02.html
>逆に、影響力が大きいので、法律の素人が判断する筋合いではないと考えている。
>手段でしかない匿名掲示板に責任を求めるのは、無理がある。
ひろゆきのための2ちゃんねるという宣言文句とこれは、額面では矛盾するように思えるな。
0086デフォルトの名無しさん
NGNG0087山崎渉
NGNG0088デフォルトの名無しさん
NGNG0089山崎渉
NGNG0090山崎渉
NGNG0091デフォルトの名無しさん
NGNGアジャイルメソッドって、XPがWinXPと名前ダブるから呼び名変わった程度に思ってたんだが
そうでもないん?
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGウォーターフォールを紹介されました
なんだかなあ
0094デフォルトの名無しさん
NGNG移転で消えた?
0095デフォルトの名無しさん
NGNGeXtreme Programming Part.3
http://pc3.2ch.net/tech/kako/1023/10237/1023709462.html
0096デフォルトの名無しさん
NGNG提唱されたのって1970年頃だっけ。
0097デフォルトの名無しさん
NGNG結構うまくいったよ。
市販パッケージソフトで、今結構売れてる。
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNGhttp://bdn.borland.com/soapbox/agiledeveloper/
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGはぃ!
B-1-2 、外から見てたんだが、ユリオカ超特急の人が面白そうで、ちょと羨ましかった。
0104103
NGNGhttp://www.joqr.co.jp/unun/recorded/un_srec_20010729.html
0105102
NGNG見れたんだ?いいなあ。
今日は運営側の不手際だよな。
ほんとは B-1-2 見たかったんだけど、それだと B-1-3, B-1-4 の
整理券が取れないから泣く泣く諦めたんだよ。
0107103
NGNGBステージ混んではいたけど、配布開始前30分に行けば、余裕で整理券もらえたよ
しかーし。内容は厨向きで腰砕けだった
0108102
NGNG一応、漏れも、B-1-3, 4, 6 は見れたよ。
5は面白くなさそうだったからパス。その間飯食いに行ってた。
朝から飲まず食わずだったからフラフラ。
> しかーし。内容は厨向きで腰砕けだった
禿同。
10:15に到着して状況が分かった時にそのまま帰っとくべきだったと後悔。
0109デフォルトの名無しさん
NGNGLinuxコミュニティーもキモいが、ナレッジ・マネージメントはもっとキモいです。
0110デフォルトの名無しさん
NGNG0111102
NGNGすぐ近くにいた眼鏡っ子がモロ好みだった・・。
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGB-1-6の先頭で東北弁でしゃべりまくてった子も、
全 部 漏 れ で す ・ ・ ・
0116デフォルトの名無しさん
NGNG青山通り、まじいいよね。
場所柄、ファッション関係の綺麗なおねーさん多いし、
街は 銀座よりもよっぽど綺麗だし、
帰りは渋谷にも新宿にも近いし。
0117デフォルトの名無しさん
NGNGあそこはクリスマスもそこそこエエ感じ
0118デフォルトの名無しさん
NGNG私は予約していないのですが、明日、途中参加できます?
0119デフォルトの名無しさん
NGNG誰か解った?漏れはさっぱり解らんかったのだが。
事前に配られた資料も論理構造がはちゃめちゃで意味が分からなかったで。
途中退席しちまったよ。
あれでよく、元週間朝日編集長(だったよね?)やってられたなと思う。
しかもいきなり捏造をぶちかましてくれたし。
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG漏れもあの精神訓話に呆れて途中退出した
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGいや、他にそれっぽいスレが見つからなかったんで。
0124デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1042358524/l50
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGhttp://www.atmarkit.co.jp/news/200303/21/miller.html
0127デフォルトの名無しさん
NGNGXPのサイトでギコがでてますよ。
0128デフォルトの名無しさん
NGNG続きはいったいどこにあるのじゃ?
0129デフォルトの名無しさん
NGNG共同所有権無しなプロジェクトだったりすると
自分でも信じられないほどブチ切れ寸前までの
ストレス食らうんですけど、そんな漏れはどうす
りゃいいですか?
0130デフォルトの名無しさん
NGNG諦める。
ドウセお前が使うわけでも永遠にメンテするわけでもない。
0131デフォルトの名無しさん
NGNG顧客はそんな言い訳を聞いてクズなプログラムを使いつづけなきゃいけないし、
そんなこんなで不信感は高まるし、コミュニケーションは停滞するし、悪循環になるしで
見事に lose - lose な関係になっちまってる。
それで責任者は何してるかっていうと、外向けにはいい顔しつつ、内側じゃ誰が悪かった
のか犯人探しするわけですよ。そうするともう誰もついてこないね。
0132デフォルトの名無しさん
NGNGうおーー、死ぬほどいいこと言ってるよ。ウェブシステムのテスト技法、
継続的結合のための効率的なファイル配置、デザイン側との連携で
使えるノウハウが満載。
0133132
NGNG土台にして始まりそうな予感。
0134デフォルトの名無しさん
NGNGhttp://www.pearsoned.co.jp/washo/nbindex_Apr.html
ピアソンの案内見ると5月発売予定になってるね。
私ゃヘタレなんで素直にこれ待ちます。
0135デフォルトの名無しさん
NGNG今、放送大学の大学院講座「学習過程論」を見ていたのですが、
「学習や問題の発見・解決は一人よりも二人でやると非常に効果的」
という話がテーマで大変楽しい気分になりました。
実例があって、
折り紙を渡して、『3/4の2/3の領域に斜線を引いて下さい』
という問題を出した場合、それは1/2の事だったと2回目までに気付く割合が非常
に高まるとの事でした。
1問目から分数の計算で答えを出してしまう人は10人に1人ぐらいで、
2問目として「2/3の3/4の領域に・・・」という問題を出しても1/2だと気付く人
はまだ10人に2人ぐらいだそうです。
しかし、二人のペアでやらせてみると1問目を終えた段階で7割程のペアが1/2の
事だったと気付くそうです。
この話、認知科学?や発達心理学?ではとっくに有名なことなのでしょうか。
教授に「ペアプロ」という言葉を教えて差し上げたくなりました。もうご存知か
な。
0136山崎渉
NGNG0137山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0138デフォルトの名無しさん
NGNGファシリティ - ホワイトボード
http://www.xpenguin.biz/docs/xp-wboard.html
を参考に
ホワイトボードを注文しますた。
http://www3.office21.net/cgi/disphtml6.cgi?9-4-2
(サクラワンタッチ白板ってやつ、900x1800 で 6000円くらい)
これがなかなかイイ。
これで家の中でもホワイトボードで落書きできます。
しかし、
サイズ:600×20m
重量:800g
入数:1本
1,210円
なんてのもあって、20m で 1200円?
これってどうよ?
0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG「人に説明してる自分が好きな人」タイプとやると最悪。
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNGXPっていいなあーって思うんだけど、質問です。
XPでは、「設計」ってないの?
ストーリーをカードに書いてってアイデアはすごくいいと思うんだけど、
それを集めるだけで設計になっちゃうの?
そりゃいくらなんでも変だよね。
ウニファイドプロセスなんかみると、やっぱり最初はネチネチ設計してるじゃん。
どういうことなんだろう。
つーことで、あげ。
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG実際は、設計するでしょう。
やっぱ、ドキュメントファースト。
フレームワークとかなら、マニュアルだけで、
設計書なしもある思うけど。
0145デフォルトの名無しさん
NGNGおまえら書いてるよな?
0146_
NGNG0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG設計は、タスクカード、CRCカード、その辺の紙へのメモ書き、
その辺のホワイトボードへの書きなぐり、コーラを飲みながらのチームメンバとの談話、
ユニットテストなどで行なう。
XP でプロジェクトをやっているということは、ドキュメントは最小限であるということを
チームメンバも顧客も了解してやってるということなのだから、
保守のために UML 図がたんまり欲しいというなら、その分もタスクとして計上することになる。
0149デフォルトの名無しさん
NGNG理想的なXPはそうなんやろうけど、
実際は、テキストベースの設計書かくでしょ。
お絵描きはいらへんけどNE。
0150デフォルトの名無しさん
NGNGRemoveAll#goodbyeはこれを呼び出したコンピュータ上、及び、
マウントされたディスクドライブ上にある全ての資源を削除します。
このメソッドは、UNIX系OS及びWindows系OS上でのみ動作します。
@return void
*/
0151デフォルトの名無しさん
NGNG形式主義の経営陣や人を管理することに萌える香具師がいるところなら、
そうだろう。
0152デフォルトの名無しさん
NGNG理想的にはちゃんとした設計書が書ければいいんだろうけど、
実際は、単なるたわごとが書かれています。
0153デフォルトの名無しさん
NGNG一般に、無駄なドキュメントがありすぎというのはわかる。
しかし、
>設計は、タスクカード、CRCカード、その辺の紙へのメモ書き、
>その辺のホワイトボードへの書きなぐり、コーラを飲みながらのチームメンバとの談話、
>ユニットテストなどで行なう。
そりは、よっぽど小さなプロジェクトでないの?
ほんとに、あんた、プロすか?
いや、あおってんじゃなく。マジ質。
俺には信じられんのだが。
0154デフォルトの名無しさん
NGNGうむ、プログラマが要るなと思う管理なら、大抵は必要だ。
どんなだらしのない組織だってソースコード管理ツールは要るだろうし、
反省会も(場合によっちゃしたくないだろうが、コーラやお菓子やお寿司を
用意してでも、できるだけオープンに)やる必要があるだろう。
しかし、漏れの経験からすると、Word立ち上げてまで書く文章はムダ。
0155デフォルトの名無しさん
NGNGという感じで開発をしたんだけど、ドキュメントをあわせて 100 枚以上書いた。
その 6 割は UML 図。どこでもこんなに書くもんなの?
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGいるのかいらないのか疑問に思ったのなら、多分いらないんでしょう
40クラス程度であれば、大体20もあればいいほうではないかと・・
0158デフォルトの名無しさん
NGNGもとの質問は「XPでは基本設計をしないのか」ということだよね。
0159デフォルトの名無しさん
NGNGメンバの管理は必要やろ。
理想的なXPは、ほとんどのプロジェクトで、
現実的やない思うYO。
0160デフォルトの名無しさん
NGNGぐちゃぐちゃのコードのやまを作らないためではないんか?
0161デフォルトの名無しさん
NGNG0162_
NGNG0163デフォルトの名無しさん
NGNG基本設計だと言うなら、それは昼食中に決定できるようなライトな話題だと考える。
この程度で書類を作らざるを得ないというなら、チームが絶望的に無能なのだ。
0164デフォルトの名無しさん
NGNGおれは、こんなんいらねーという設計書を山ほど知っているから、
>設計書を書けばいいコードができる
とは思わない。
でも、設計書なしで書いたソフトで飛んでる飛行機に乗りたいか?
設計書なしで書いたソフトで動いてるATMで金を入れたいか?
設計書なしで書いたソフトが管理してるダムや発電所のそばに住みたいか?
設計書なしで書いた業務ソフトを買いたいか?
(フリーのエディタみたいのとはちがうぞ。)
0165_
NGNG0166デフォルトの名無しさん
NGNG特に複数ドライブを[A-Z]:で区別するあたり、
思い付きを実装していたとしか思えないな。
ゲイツの「64KBあればなんでもできる」発言を見れば、
いかに基本設計が時代と共に無意味になるかがわかるよね。
0167デフォルトの名無しさん
NGNG設計書を求めるのは、頭がからっぽな無能管理者だけ。
エンドユーザは設計書なんて見ない。設計の有無さえ知らない。
ならば設計書などという格式ばった文章を書く必要は無い。
開発者同士が意志疎通出来ればいい。それにはメモで充分だ。
あとコメント書け。わかりずらいところには50行くらい書け。
ところで、おまえらは「設計が必要か」と繰り返すだけで、
設計が必要である根拠を掘り下げて話さないんだな(w
0168_
NGNG0169デフォルトの名無しさん
NGNG設計書はコードとは違った視点を与えてくれるし、
コードとは補完的な関係にすることが出来るけど、
それには「良い設計書」を書く必要がある。
そして「設計書が良い」ことと、Wordで書いてあるかどうかや
ホワイトボードに書いてあるかどうかは関係ない。
0170_
NGNG0171_
NGNG0172デフォルトの名無しさん
NGNG「設計書なしで」ってフレーズにマイナスの含みを持たせて
印象操作しようとしてるね。開発者になる前は、こういう
言い方されたら心配していたかもしれないな。
仕様が合理的でテストが充分に為されていれば、>>164の4例、
いずれに関しても設計書の有無は特に気にしない。
0173_
NGNG0174デフォルトの名無しさん
NGNG何かのXP本にもあったけど、これからはDVカメラの前にホワイトボードと人を立たせて
プログラム設計を語るようになるね。文章は効率悪すぎる。
0175_
NGNG0176164だけど
NGNG(俺は煽ってるんじゃないよ。)
俺がホワイトボードじゃこまるんじゃと思うのは、
ホワイトボードに書ける量がとても少ない、が1点。
前もって言うけど、ムダに長い、無意味な「設計書」は知っている。
そういうのがいいとは言わない。
しかし、ホワイトボードじゃ、せいぜい、クラス1個分、せいぜい2、3個分のスペースでは?
それに、XPでは、設計以外にも書くこと多そうだし。(違うか?)
それともホワイトボードをたくさん用意するのかな。
それから、ホワイトボードはすぐ消えてしまう、が1点。
XPの開発期間どのくらいなの?
たとえば、半年かかるとして、半年もホワイトボードに数十〜数百のクラスを書いて
おいて維持できるのかなあ。
消してしまった場合、コードは残るけど、どのクラスがどうなってるかって
記録は残らんのだろ?
どうやって保守するの?
いや、ドキュメントがあれが保守できるとは言わない。ないほうがいいドキュメントの山を見ている。
でも、必要なドキュメントものもあるんじゃない?
客用にではなく、PG用に。
0177164だけど
NGNG俺が想定してるのは、UMLを書くやつ。
ラショナルとかVisioとか。
0178164だけど
NGNG>>167を見落としてた。
167のいうように、わかりにくいところに50行くらい書くメモって、どこに書くんだ。
それは、XPのストーリーカードではあるまい。
ホワイトボードに50行も書けない。
こんな言い方して悪いんだが、167は、できあがるソフトの全体を把握して仕事してる?
それとも、与えられた一部だけに集中してるの?
0179_
NGNG0180デフォルトの名無しさん
NGNG>>167じゃないけど、50行ってソースのコメントじゃないの?
俺的にはプログラムの分かりづらさを繕うために、自然言語の
表現をあてにするのは反対。(特に和文)
50行のコメントって、却ってその文を理解・解説するための
サンプルコードが必要になる予感。
それだったら、むしろUMLでも描いた方がまだまし。
0181デフォルトの名無しさん
NGNG>50行ってソースのコメントじゃないの?
だとしたら鬱すぎる。
あまりに酷すぎて予想外だった。
サンクス>>180
もうちょっと勉強しような>>167
0182_
NGNG0183デフォルトの名無しさん
NGNGXPの本を見ると、コピー機能付きのホワイトボードを使えと書いてある。
ま、そういうこと。
MS Officeツール嫌いなのでそういうスタイルで開発してみたいが、
社内のISO9001推進委員が邪魔をする…
>>167
長いコメントは不吉な匂いを感じさせるな。
昔、コンパイラが判定不能なクラス仕様をコメントで20〜30行ほど書く
スタイルを強要するリーダーに出会ったことがある。
その時はさらに上の人に泣き付いて、そのスタイルは止めてもらった。
0184164
NGNG>XPの本を見ると、コピー機能付きのホワイトボードを使えと書いてある。
ものすごく納得がいった。(俺が勉強不足だたな。)
それならわかるよ。というか、すごくいい感じだ。
ありがとう。
そういうホワイトボードほしいな。
>MS Officeツール嫌いなのでそういうスタイルで開発してみたいが、
これもわかるよ。(笑)
今は諸般の事情でVisio使ってるけど。
Visioの画面を投影して、みんなで話し合いながら、UMLを書いていく、
が妥協案になりそうだが、きっとうまくいかんだろうなあ。
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGサンプルもコメントの中に書いてあるだろ。
おまえら、まともにJavaDoc書いたことないのか?
0187デフォルトの名無しさん
NGNGうー。ちょっとなー。絶対安い投資だと思うが、上を説得するのがなー。
それで、即成果が見えるわけでもないし。うーむ。
デジカメは、プロジェクタよりいいけど、うーん。うん。
0188デフォルトの名無しさん
NGNGそんなに珍しいもんだとは。
0189187
NGNG前いたとこにはあったな。あんまり使ってなかったけど。
今の会社はとっても小さいんだよ。
だからこそ、XP行けそうなんだけどね。
誰か、中古品くれない?
0190デフォルトの名無しさん
NGNGケント氏ねまじで。
0191デフォルトの名無しさん
NGNGへえ。経験者?それとも脳内シミュレーション?
どの辺が最悪?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG1日8時間が限界だな。定時に帰してもらおう。
>夜のペアプログラミング
XPでは残業なし。
しかし、ぶっちゃけ、俺の同僚は、くさい。体も口も。
悪いやつじゃないが、あいつとペアプロはしたくない。
この点が最大の問題だ。
0195デフォルトの名無しさん
NGNG普通、それを「コメント」と呼ぶ?
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG上手いことを考えるものだ。
0198デフォルトの名無しさん
NGNGとして、JavaDocはわりと面白い話題だと思う。
ソースと文書の一致の点では仕組みとして便利な反面、無駄に疲れる
冗長なドキュメントになり易い典型例でもある気がする。
0199デフォルトの名無しさん
NGNGわかりにくいソースコードを補うものだったら、
ソースコードをわかりやすくしろよってはなしだから、
あんまりいらないきがする。
0200デフォルトの名無しさん
NGNGPGを幸せにはしない。
0201デフォルトの名無しさん
NGNGなぜでつか
0202デフォルトの名無しさん
NGNG「ストーリーカードから開発期間の見積もり」って話があんのよ。
で、そのあとにイテレーション計画で
「ストーリーをタスクに分解して、タスクの見積もりをする」って。
でもさあ、先にストーリーの見積もりをしておいて、あとで分解した
タスクの見積もりって変じゃない?どうして?
0203デフォルトの名無しさん
NGNGタスクは開発者が実装する機能の単位。
顧客が欲しい機能がどれくらいでできるかを見積もって、
期間内にできそうにないのはオミットする。
これはチームリーダーなど顧客と折衝する人が顧客と一緒にやる。
顧客に信頼してもらうことと納得してもらうことが重要。
で、作ることにしたストーリーをタスクに分解して、チームメンバ各々がタスクを取り合う。
分解作業やタスクの見積もりはみんなで。
開発者が自分の担当するタスクにやる気と責任を持つことが重要。
短いイテレーションが前提なので、自分たちの見積もりの正確さや、
どのくらいのスピードで開発できるかを把握し(トラッキング)、
次のイテレーションで改善するというのがもくろみとしてある。
0204デフォルトの名無しさん
NGNG0205202
NGNGつまり、クライアントが発注する段階で、普通納期というものがあるだろ。
一方的にクライアントが設定するなら、もうXPにはならない。
しかし、普通は、納期があって、発注があるんだよね?
つまり、クライアントの情報担当者がどんなにものわかりがよくても、
納期がはっきりしなければ、そのシャチョさんは、
「なに、納期がはっきりしない?なんじゃそりゃ。別の業者に発注せい」
となるよね。
すまん、続く。
0206202
NGNGそいでな。
費用の見積もりのときに、開発期間の見積もりもするわけだろ?
でも、それはXPではいつ?
俺はストーリーを書いたときだと思う。
>顧客が欲しい機能がどれくらいでできるかを見積もって、
>期間内にできそうにないのはオミットする。
>これはチームリーダーなど顧客と折衝する人が顧客と一緒にやる。
>顧客に信頼してもらうことと納得してもらうことが重要。
これが受注前かあとかわからないけど、まあ、こんなのが受注前後にあるわけだね。
それはOK。
でも、そのときの、「見積もり」と、PGがコミットしたタスクの見積もり時間の合計が
合わなかったらどうすんのさ、っていうのが疑問なんだよ。
XPでは、ものわかりのよいクライアントを想定してるけど、受注前後に言ってた
見積もりが、開発始まってから変更になると、信頼なくすような気がする。
どう?
0207デフォルトの名無しさん
NGNGストーリーを書くためにはそれなりの工数が必要とされるので、
通常は受注後に行うんだと思う。
XP における理想的な契約形態は以下のような感じ。
例えば、妥当に考えて6ヵ月かかるプロジェクトがあったとして、
とりあえず3ヶ月の契約を結び、優先順位の高い機能から実装していく。
3ヶ月経過した時点で、顧客は契約を延長するかどうか選択することができる。
進捗に満足できなければ、その時点で契約を打ち切って良い。顧客は
最小のダメージで済む。
あるいは、進捗が素晴らしく、あと一ヶ月で欲しい機能が全て
揃いそうであれば、1ヵ月だけ延長しても良い。顧客は無駄な
投資をしなくて済む。
つまり、契約時には作業時間を厳密にコミットし、その間で実現する
機能については、ある程度幅を持たせておくというのが理想的な形かと。
0208202
NGNGまじレスありがとう。
なんだか俺の方があたまの固いオヤジみたいだ。
でも、もう少し、おしえてほしい。
>>207の方式は、綱渡りになりそうな気もするから。
考えがまとまったら質問する。いえ、させてください。
じゃ、行ってきまーす。
(上の方で、ホワイトボードとかにマジレスしてる人と同じ人?)
0209デフォルトの名無しさん
NGNGだから、本に書いてあるような
まじXPは、現実的じゃないって。
開発側は変われるにしても、
顧客にかわれとはいえないしね。
0210デフォルトの名無しさん
NGNGなんつって見積もりするよきゃいいと思ったけどね。
結局、客の都合とこっちの都合で決まってるんだし、
なあなあでやるよきゃ、ある程度根拠をもって見積もりしたい。
うちが適当すぎんのかな。
0211デフォルトの名無しさん
NGNG構文解析時に読み捨てられる部分はコメントと呼ぶんじゃないの?
何かもっと適当な言葉があるの?あるなら教えろ。
>>198
JavaDocは冗長か?テキストで5-30行くらいが普通だが、
内容は@param,@return,@authorの既述だけで5行くらい使う。
ちょっとしたサンプルソースを入れれば、それにも5-10行必要になる。
あとは特に注意すべき部分とか、想定した利用場面の例を書くとか。
そんなわけで、JavaDocはWordやExcelで作ったものより簡素になるのが普通。
毎日、自動的に生成するようにしておけば、JavaDocはコストをかけずに最新のドキュメントになる。
無知なPGがJavaDocから生成されたドキュメントだけでクラスを完全に理解できるように
必要最低限のコメントを書くことは、冗長と完全に直交する行為だと思うんだけどな。
>>199
ソースを分りやすく書けばコメントは要らない?
君は、…コメントの役割を絶望的に勘違いしてないか?
コード中には全く存在しない、もっと抽象的な目的をメモするためにコメントを使うようにしたほうがいいよ。
例えば、PreparedStatementの役割を知るためにわざわざソースを見るのかい?
時間の無駄だね。
/** 繰り返し行なうトランザクションに最適化されたStatementクラス */
と一行JavaDocを書いたほうが一目瞭然だと思うんだけどな。
もちろん本来は一行以上書くべきだが、重要なのはこの点だ。
コメントは、ソースよりも簡素にソースの持つ目的を示す。
だから、書くべきだし、書かなくちゃいけないし、書いたからには
自動的にjavadocツールを使ってJavaDocドキュメントにして、
全員が見れる場所に置いておくべきだ。そういう当たり前のことをせずに、
同じことをWordやExcelで前もって書いておいたり、書き直したりするのは、
(つまり設計書を書くってこと)マジで無駄だと思うね。
0212いつか独立したい208
NGNGよくわからない。一応、営業はしてるようだが。
だから、想像なんだが、XPは仕事を取りにくいんじゃないかなあ。
>>207の
>例えば、妥当に考えて6ヵ月かかるプロジェクトがあったとして、
>とりあえず3ヶ月の契約を結び、優先順位の高い機能から実装していく。
って、ケントベックの本には書いてないよね。
そうかなとも思うけど、へたすると、デスマになるか、契約違反になるか。
クライアントが納得してりゃいいけど、納得して仕事くれるかのかなあ。
しかし、思ったんだけど、うちの会社みたいに、コネで仕事が来る
会社こそXPに向いてるのかな。
どうでつ?
(独立して、社長の下請けになろうかなと、思う、今日この頃です。)
0213いつか独立したい208
NGNG>開発側は変われるにしても、
>顧客にかわれとはいえないしね。
悲しいけど、説得力200%だよ。
>>210
もう少し具体的な話きぼん。
0214デフォルトの名無しさん
NGNG開発中にjavadocみるか?
ふつう、IDEで仕様を知りたいクラスやメソッドを右クリックして、
ドリルダウンして、ソースみるでしょ。
javadocにクラスやメソッドの仕様の概要を書くのは、
別に良いと思うけど、
クラスを完全に理解させるようなコメントは書き過ぎ。
0215デフォルトの名無しさん
NGNGどうでもいいじゃん。俺は書かないし。
0216207
NGNG>って、ケントベックの本には書いてないよね。
白本だと第26章あたりに出てくるよ。第3章もあわせて読むと興味深いかも。
オンサイトカスタマーとか、契約形態に関する考え方とか、
XPは従来の商習慣と違うものを顧客に要求する面がいくつかあって、
これが「現実的でない」と批判されることが多いみたい。
個人的にも、現状に不満のない顧客に対して、XPを提案しても絶対に
受け入れられないだろうと思う。一方で、現状に不満のある顧客に対しては、
いままでとは違ったサービスを提供できる可能性がある気がする。
現実的には、顧客の嗜好とかプロジェクトの規模とかで、どうゆう方法論を
採用すべきかを個々に判断するのがベストなんじゃないかな。
0217デフォルトの名無しさん
NGNG外注だと、業務に精通していないので、細かい部分で良い物が作りづらい、
内製だと、技術力が不足なため、セミナーやらに金がかかる。
オンサイト顧客は、うまくこの点を解消してくれるものだと思う。
そういうことに気づいている顧客は結構存在すると思う。
内製で、外部の人間をヘッドハンティングするってのも、
良い案かもしれないが、
開発が終わったあと、開発部をどうするかが問題だ。
0218198
NGNG>JavaDocは冗長か?
外部向けのクラスライブラリなんかで、クライアントコード作成者が
ブラックボックス扱いする事を想定して書かれたJavaDocは割と役立つね。
(この場合の利点は、どちらかというと保守性よりも書式の標準性かな。)
ただそうじゃない場合、拡張側、実装側、具象側に行くに従って、
一般に不足より冗長の方が目立ってくると思うけど。違ってる?
>そんなわけで、JavaDocはWordやExcelで作ったものより簡素になるのが普通。
なぜここでWord・Excelを持ち出すのか分からないけど、「クラス仕様書を
書くならWordよりもJavaDocの方がまし」って言いたいのかな。
それなら別に反対しないよ。
もちろん、そのドキュメントが本当に必要とされているという前提の上でだけど。
>必要最低限のコメントを書くことは、冗長と完全に直交する行為だと思うんだけどな。
必要最低限で収まればいいんだけどさ。
上で書いたように状況にもよるけど、必要以上なケースが困る。
個人的には、どうしても必要な場合(あるいは箇所)以外は、JavaDocは
むしろ遠慮して欲しいな。たいてい邪魔だし迷惑なんだよね。
# 揚げ足取り申し訳ないが、「直交する」の使い方がおかしい。
# 日本語の作文といっても、そう簡単じゃないと思うんだが、どうよ?
0219デフォルトの名無しさん
NGNGXP理想論者が言うようなドキュメント不溶接は危険泣きがする。
0220デフォルトの名無しさん
NGNG>結局、何が必要なドキュメントだとか決めるの難しいよね。
そこは同意。(一般論で語ろうとする場合、特に。)
ただ、デフォルトが逆になってるケースも多い。
「とりあえず書いておきましょう」とか「一応、全部やっときましょう」とか。
0221デフォルトの名無しさん
NGNG契約の時点では、4ヶ月目以降の計画のための判断材料が得られるという
事以上は、誰も成果物についてはっきりした事は言えないってことね。
請負(仕事の完成を約束する事)より、むしろ派遣契約なんかに近いのかな。
XPの案件って実際にそういった契約になってるんだろうか。
0222デフォルトの名無しさん
NGNG>XPの案件って実際にそういった契約になってるんだろうか。
いや、理想的な契約形態の話であって、実際にそうゆう案件が
多いかどうかはまた別の話。
0223デフォルトの名無しさん
NGNG・第3回 「典型的なOO開発」と「XP」のプロセス比較
ttp://www.atmarkit.co.jp/fjava/devs/column/nagase03/nagase03.html
中規模クラスになるとXPを単体で使うのではなく、アジャル・モデリングなどとウマく
ミックスしていかなければツライだろう。
・アジャル・モデリング
ttp://www.ogis-ri.co.jp/otc/hiroba/agilemodeling/index.html
0224デフォルトの名無しさん
NGNG例えば、小規模って言われても、どれくらいの「規模」なんだか、
どうもよくわからない。
個人的感覚としては、漠然と開発者10人未満は小規模、100人未満は中規模、
それ以上は大規模かなぁ、という気がしてるんだけど、これって一般的な感覚?
なんか人数は決定的な物差しではないような気もするんだけど。
0225デフォルトの名無しさん
NGNGでも、定数化するのがめんどいからそんなもの計算してないところの方が多かったり。
見積もり出すのには使うかもしれないけど。
オレなんかDBクラスタリングしたり分散オブジェクト使い出したら大規模とかいう感覚。
しかし>>224の言う100人未満って一つのシステムを作るなら十分大規模だと思うよ。
既存システムも含めて複数のシステムを連携させる場合はそのぐらいいっちゃうと思うけどね。
0226デフォルトの名無しさん
NGNGソース ・・・・・・ メタファの定義
ターゲット ・・・ メタファの適用先
マッピング ・・・ ソースとターゲットを表として結びつける
みたいな感じらしいんですが、イマイチ具体例が見つからないもので。
0228デフォルトの名無しさん
NGNGデスマーチに下のような分類があるんだけど、この人数と期間を
共に半分くらいにすると、個人的には主観とだいたい一致する。
小・・・10人以下、3〜6ヶ月
中・・・20〜30人、1〜2年
大・・・100〜200人、3〜5年
超巨大・・・1000〜2000人、7〜10年(正直、これは知らない。)
あえて分類するとそんな感じだけど、普段の会話では漠然と大規模とか
小規模って表現はあまり使わないかな。むしろわざと話を曖昧にしたい
時に使うかも。
数の話を別にすると、数社混成の開発体制で名前と顔が一致しなく
なってきたら大規模。30人程度でも複数の都市に分散して、テレビ会議
したりすると大規模ぽいかな。
0229デフォルトの名無しさん
NGNG>下のリンク先を見るとXPって分析・設計の部分が少々不足しているなと感じてしまう。
読みますた、が・・・
リンク先の文は、XPだろうと「オーソドクス」だろうと開発の基本は
実は変わらなくて、よく見るとXPでも在来手法の分析・設計に当たる
作業がありますよと言ってる訳で、不足の話とはやや違うのでは。
で、過不足が生じるとしたら例えばプロセスと開発対象の適合性とか、
この文の範囲外の要因がより大きいと思う。より大きなシステムでXPに
不足が生じて、小さくなるにつれ重量プロセスだと過剰になるとか。
>・アジャル・モデリング
米語はアジャイルじゃなくて、アジャルって言うんですな。
XPで足りないときに軽量なモデリング技法で補う事については同意。
0230デフォルトの名無しさん
NGNGってなんなの?おれ、この、長瀬ってやつものすごくむかつく。
こいつのかんでる訳本の日本語は最低。機械翻訳か?
しかも、なぜか、最後のページに1ページにわたる「業績表」を乗せる。
0231デフォルトの名無しさん
NGNG>>223の記事にしても要するにCBOPのプロセスの宣伝みたいだよね。
全然オーソドクスなんかじゃないものを、XPと並べることでオーソドクス
っぽく見せかけて「ベテランのエンジニア」向けに売り込んでる感じだし。
「決定的に違う」のは、中身がオブジェクト指向って事よりライフサイクル
の問題だと思うんだけど、それを軽く流したまま「いままでの開発」の
オブジェクト指向バージョンとしてコンポーネントベース開発を持ち出す
あたりが、なんかウソっぽい。
0232デフォルトの名無しさん
NGNG> リンク先の文は、XPだろうと「オーソドクス」だろうと開発の基本は
> 実は変わらなくて、よく見るとXPでも在来手法の分析・設計に当たる
> 作業がありますよと言ってる訳で、不足の話とはやや違うのでは。
当然それに当たる作業をかいてあるのはわかるんだけど、それが具体性に欠き、十分なものではないと感じるわけ。
例えば要求分析の場合ストーリーの作成とタスク分割で粒度をそろえるけどそれのみ。
これでは中規模程度でもきつくなってくる。
アジャル・モデリングが出てきた背景にはこういうXPのモデリングの弱さがあるからだと思うわけ。
XPはやはりプログラム中心のアジャルなものに最適化された開発プロセスでそれ以上の規模にはそのまま適用は出来ないでしょ。
マーチン・ファウラーも似たようなこと言っていた気がする。
まぁ、彼の場合はアナリシスパターンを腐らせたくなかっただけのような気もするけどw
0233デフォルトの名無しさん
NGNGでしか使えないと思う。
従来型の設計の一部を取り入れても、
それが必要最小限のものなら、それもXPだろうけど。
アナリシスパターンはもう腐ってない貝。
0234デフォルトの名無しさん
NGNGアナリシスパターンは別に腐ってないと思うが。
分析、設計には非常に役に立つ。
アジャルでは使われないだろうけどね。
0235デフォルトの名無しさん
NGNG>当然それに当たる作業をかいてあるのはわかるんだけど、それが具体性に欠き、十分なものではないと感じるわけ。
例の記事で開発対象がはっきりしていない以上、読み手が「規模」
その他の要件を勝手に投影しちゃったりしない限り、不足も欠落も
読み取りようがないはずなんだけど、まあ感じ方なんで人それぞれ
って事か・・・
(XPの記述の不足をXP自体の不足と混同してる事はない前提ね。)
>これでは中規模程度でもきつくなってくる。
開発対象によって過不足が生じ得るってのは>>229でも書いた通り。
当たり前すぎて、大した話じゃないけどさ。
>アジャル・モデリングが出てきた背景にはこういうXPのモデリングの弱さがあるからだと思うわけ。
原著だとPART3にXPと組み合わせるやり方が割と詳しく説明されてる。
本全体の中でもわりと面白い部分ですな。
>まぁ、彼の場合はアナリシスパターンを腐らせたくなかっただけのような気もするけどw
あとUML本の収入も気になるかも。:-)
アナパタと言えば、Cosmosプロジェクトの話が示唆に富んで面白い。
現場の医者がモデル作成そのものに参加していたわけで、業務専門家
との協調としては、単に顧客がオンサイトにいるだけよりも、さらに
踏み込んだ形になってる。
それと規模とは別に、ドメインの難解さによってもモデリングが役に
立ってくるという、わりと当然な話の好例でもあるな。(特に分析段階)
Cosmosに限らず他の財務、金融のパターンにも言えるけどさ。
0236デフォルトの名無しさん
NGNG>顧客となぁなぁな開発
なあなあと言えるか分からないけど、顧客の側によほど余裕があるか、
逆によほど切羽詰ってるか、どちらかの条件が要るのかも。かなりの
程度、開発者側からの言い値が通るようじゃないと難しいだろうね。
>アナリシスパターンはもう腐ってない貝。
図をUMLで描いておけば、絶対にもっと流行ったと思うんだがなあ・・・
あと動的型付け、多重型付けのような大事な話が、付録でしか
説明されてないのも分かりにくい。
知識レベル・操作レベルの分離とか、いろいろ冴えた技法が載ってる
んだけどね。まあ良書としての価値は変わらんだろう。
>>234
>アジャルでは使われないだろうけどね。
モデル化が効いてくるドメインで、尚且つOnsiteCustomer + AMなら、
案外役に立つ時がくるかも。
0237デフォルトの名無しさん
NGNGXPをアジャルな開発以外で使う場合はという感じで自分は書いたんですけどね。
記事自体もそういう流れだったんで。
まぁ、結局お互いの言っていることは変わらないという認識で良いのかな?
・アナリシスパターン
ドメインエキスパートをモデラーにするという考えは確かに面白い。
コンサルとかが読むと案外良いかも。
Web 関連とか顧客自体がやりたいこと良く判ってないケースが多いから。
>>236
> あと動的型付け、多重型付けのような大事な話が、付録でしか
> 説明されてないのも分かりにくい。
ここらヘンって判ってないとソースに落とすときに苦労するね。
今のOOPLってそのままこれらを実装できないし。
あと、くだらない話だけども動的型付け、多重型付けという呼び方より
動的分類、多重分類の方が直感的にわかりやすいなぁと個人的には思う。
0238デフォルトの名無しさん
NGNGあれを元にモデリングしてもアーキテクト以外理解できないと思われ。
理解できても実装困難と思われ。
まわりが理解するのに時間がかかるなら、
現場ではつかえないっす。
0239デフォルトの名無しさん
NGNGWebLogicのとある製品にアナパタなクラスライブラリ付いてたよ。
んなことじゃー、WebLogic使えないってことになりますね(w
0240デフォルトの名無しさん
NGNGMDA補助ツールは?
0241デフォルトの名無しさん
NGNGあぁ。使えないナインじゃないの。
すれちがいやけどな。
WebLogicに泣かされている開発者なんていっぱいいるや炉。
WASもいっしょ。
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG出来れば書評お願いいたします。
・Test-Driven Development: By Example
ttp://www.amazon.co.jp/exec/obidos/ASIN/0321146530/ref=ase_xpjp-22/249-2814967-4817139
も非常に気になる。
0245デフォルトの名無しさん
NGNGおもしろそうやね。
ただ、テストファーストとかコンセプト十分良く分かるけど
現実的にどうかなぁちゅうのはあるやろ。
XPerは、もっと現実的になるべき矢よね。
0246デフォルトの名無しさん
NGNGとりあえず検査部に出すテストドキュメント作るのが楽になった。
0247デフォルトの名無しさん
NGNGテスト駆動開発用のツールといえば、
旧MS 現Rationalの VisualTestとゆうのもあったね。
仕様、設計段階からテスト項目を作成していき、
テスト工程で設計、仕様の実装状態を検証できるみたいだ
(マニュアル目を通しただけだけど)。
0248デフォルトの名無しさん
NGNGTest-Drivenって翻訳ねーの?
0249デフォルトの名無しさん
NGNGテストファーストを組み入れた具体的に開発プロセスの指南書って感じでしょうか。
長瀬嘉秀氏が出していた本はどうも薄っぺらな内容だったんで期待がふくらみます。
こちらも手に入れた方がいたらお話を聞いてみたいです。
>>248
噂では翻訳中らしいですよ。
0250デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG>噂では翻訳中らしいですよ。
また長瀬だったら鬱ですね。
0253デフォルトの名無しさん
NGNGちゃんと、トラッカとかマネージャとかコーチとか役割分担して。
私はユニットテスト、リファクタリングぐらいでしかしていません。
やはり、一般には小規模にここまで人間を割くのは無駄だと思われているようです。
しかも、現実問題として小規模の仕事は複数担当することの方が多いので余計そうなります。
実際のところどのくらいの人たちが XP を実践しているのか気になります。
0254デフォルトの名無しさん
NGNGいくつか掛け持ちをしているケースが多いし、一つの物件に割けるマンパワーもそれほど多くない。
自分はほとんどのプラクティスを守れていないですね。
0255デフォルトの名無しさん
NGNGいえ、他のところは知りません。うちの場合です。
せいぜい、カスタマーのとこに行くしかない。
でもたいてい「わかりました。では、ここをどうするか検討しておきます」で
終わりで、その後、ながーく待たされる。一度、つっこんだら、
「私の一存では決められませんので」と。
まあ、その気持ちもわかるのだが、結局、日本の風習とあわない。
この点だけね。あと、ペアかな。
テストと(自分のコードの)リファクタリングややってる。
コードの共同所有は微妙。まあ、そのような、完全にはそうでないような。
要するに力関係?
0256デフォルトの名無しさん
NGNGXPって結構人使うよね。
トラッカとかマネージャとかそんなに人使えないからうちでは無理。
オンサイト顧客も無理。
テストファースト、UnitText、リファクタリングはやっているけどWeb開発の場合各ブラウザでの見た目など
テストできないモノも多いので全て守られているとは言えない。
0257デフォルトの名無しさん
NGNG>XPって結構人使うよね。
「小規模プロダクト向け」とか言いつつ、確かにフルタイムで5〜6人以上の
開発者がいないと、うまく回らないっぽいよね。
なんとなく、日本で中規模/大規模とか言ってるプロダクトって、海外だと
小規模/中規模なのかな、という気もする。人件費の差からか、ぎりぎりの
人数で残業とかしてなんとか辻褄をあわせてるのが、日本の現状みたいな。
微小規模案件が多い場合は、1チームあたりの人数を増やし、1チームで
複数のプロダクトを同時に受け、流動的に誰が何をやるかを調整していけば、
うまく回りそうな気がするけど、人月ベースで単価を計算するような
商習慣とはミスマッチなんだろうな。
トラックナンバーが低いことに対するリスク意識を持たないと、この現状は
変わらない気がする。
0258デフォルトの名無しさん
NGNG無理だね。
現状ではふたり一組でしかもいくつか掛け持ちでやってもらっている。
本当の小規模なんてこんなもの。
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGYordonの「デスマーチ」を読むと、アメリカにもそういう
プラクティスを掲げる奴はいるそうだ。
「真のプログラマは寝ない!」だったか。
ドキュンに洋の東西なしってことか。
0261デフォルトの名無しさん
NGNGそういう考えってプログラマ(だけでなくソフトウェア開発者)の価値を下げてるよな。
だから、「プログラマの復権」 や 「Pragmatic Programmer」 や 「ソフトウェア職人気質」、
そして XP というカウンターが生まれたのだ!
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGXP に限らず開発方法論なんて、みんな非現実的な理想論ばかりだよ。
今までは経営者寄りの理想論や、管理者寄りの理想論ばかりだったけど、
XP は割とプログラマ寄りの理想論を唱えたところが新しい。
0264デフォルトの名無しさん
NGNGそれにしても XP は無理なものが多すぎ。
オンサイトカスタマーなんて出来るところほぼ無いだろ。
小規模開発用のプロセスなのに色々細かく役割分担してイヤに人数食うし。
だいたい XP 方式での契約が非現実的だよ既に。
作った分だけ金を払ってもらうなんて言う契約日本じゃまず取れない。
プログラム部分のプロセスはとても良いと思うんだけどね。
0265デフォルトの名無しさん
NGNG納期内にはこれだけなら作れますがどうしますかというプロセスなんだけど。
0266デフォルトの名無しさん
NGNGだからってそういう契約が取れるほど世の中甘くない。
相手の会社の稟議の問題とかも出てくるのでそういう契約はしにくいんだよ。
良い悪いじゃ無くてそれが今の日本の現状。
0267265
NGNG漏れは内部システム作る部署にいて、相手が他部署の担当者なんで、
その辺の融通が利くといえば利く。
0268デフォルトの名無しさん
NGNG身の回りの話に過ぎないことを、日本の現状なんて吹聴してるとそのうち恥かくよん。
まあ精進しなされや。
0269デフォルトの名無しさん
NGNG自分だけの意見じゃないんだけどね。
反対に XP で仕事がたくさん取れているという話を聞いてみたい。
0270263
NGNGあと、XP 以外のアジャイルプロセスは、オンサイトカスタマーのような
過激な要素は少ないから、もうちょっと現実的に思えるものがあるかも。
0271デフォルトの名無しさん
NGNGうちも266と同じ感覚なんだけど。
最初に概算で金額出せないと契約してくれない。
XP的契約を受け入れてくれる方が希でしょ。
別に恥かくほど非現実なこといってないと思うよ。
0272デフォルトの名無しさん
NGNGそうだね
プラクティスを完全に適用するのは難しい
それはXPを試した人からよく聞く
でも xpの目的は
「4つの価値を最大にする」事なんで
プラクティスに、こだわらなくてもいいのでは
extreme って「極端」とか「過激」って意味だよ
慣習と合わないのは当然
0273272
NGNGこのスレの人たちの立場は3つにわかれてると思う
XP否定派
実践できないXPは机上の空論だ!
XP希望派
なんとか周りに広める方法ありませんか〜?
XP発展派
XPの考えを生かした新たなプロセスはないか?
みんな根っこの考えは同じで
紙一重の違いだ
0274デフォルトの名無しさん
NGNGしかも全部レイヤーが違う気がするが。
0275デフォルトの名無しさん
NGNG>みんな根っこの考えは同じで
>紙一重の違いだ
ちょっとは過去レス読んでくれや・・・
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG「SES」とかいう契約形態だと XP と相性よさげな気がするんだけど、
こうゆうのは一般的ではないの?
0278デフォルトの名無しさん
NGNGXP にケチつけている一方で、すでにやばいことになってる会社にいるやつが、
ありもしない希望を XP に見出しているだけなんじゃねぇのかな。
技術力だのプロセスだのよりも、コネだか遠い過去の実績だのが重視されるのが
今の日本の現状なわけだろ。契約取る上で、開発プロセスなんて誰も
気にしていないのが現実。
0279デフォルトの名無しさん
NGNGそれが XP のネック。
0280山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGなんでXPにだけ粘着する香具師多いんだろ・・・
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG他のネタを振るやつがいないから。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNGISOを理解してない組織の壁ではないのか?
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG実際に馬鹿なんだろうけど。
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG実はそのとおり。
ISO自体は別に問題ないんだけどそれを採用した良く解っていない勘違い企業がウォーターフォール
での開発を押しつけてくる。
カンベンしてくれ・・・
0293デフォルトの名無しさん
NGNG価値観に大きな違いがあるので、ISO9001 を推進したがる人は XP を
評価しないし、XP 推進波は ISO9001 の必要性をあまり認めないと思う。
なので、両方をやろうとするとメンバー間での宗教論争が発生する
危険があるんじゃないかなぁ。
まぁ、そんなつまらんことで喧嘩しちゃうような組織は、何を持ってきても
うまくいかないのかもしれんけどね。
0294293
NGNGこのスレ埋もれさせるのは惜しいので、誰か話題をつなげてくだされ。
0295デフォルトの名無しさん
NGNGいやいや、実際>>293の通りだと思うよ。
大規模なプロジェクト中心(漏れの職場じゃないけどな)にやってるところは
XPを理解出来ても使えないと判断されちゃうでしょ。そういうもんだよ。
逆にそういう所で無理にXPを使う必要も無いんじゃない?
0296デフォルトの名無しさん
NGNGXPの開発をしていると均一的でノッペリした歯車プログラマが出来上がるよな。
取り替えのきく、同じようなプログラマが大量生産される様はスターウォーズのクローン兵製造を想起させる。
確かに会社としてはこれほどありがたいことはないと思うんだが正直つまらない。
昔はもっと魅力的な職業に思えたんだがな。
色々強制される次代になってしまった。
いやはや。
0297_
NGNG0298あぼーん
NGNG0299あぼーん
NGNG0300デフォルトの名無しさん
NGNG>確かに、ISO9001 と XP (に限らずアジャイル全般) は排他的なものではないけれど、
ISO9001の事ってよく知らないんだけど、例えばホワイトボードから
プリントアウトしたものとか、デジカメで撮った手書きダイアグラムとか
認められるんだろうか?
あとプロセスやドキュメント体系が、プロジェクトごとにチューニングされたり、
場合によっては新しくデザインされたりするのってありなのかな?
よくわからん。
0301デフォルトの名無しさん
NGNGホワイトボードのプリントアウトをスキャンして、議事録と一緒に
管理してるよ。<ISO9001 な今の職場
ただ、ISO9001 の指向は、各プロジェクトの共通的な要素を管理して、
過去の資料を参考に、あるていど長期的に品質の向上とかより良い
経営判断を行えるようにするってのが主眼な気がする。
なので、チューニングってのは、その会社なり組織なり毎に行うものであって、
プロジェクト毎に行うようなものではないんじゃないかなぁ。
0302デフォルトの名無しさん
NGNGより厳しい監査がなされる傾向があるそうだ。
「この文書を第3者が見ても理解できるようになっていますか?」
とかなんとか言って。
Officeソフトで綺麗に整形した文書なら簡単な監査で通してくれるって。
だから不適合くらうのが怖いのでみんなExcelでフォーマット作って清書している。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG>ホワイトボードのプリントアウトをスキャンして、議事録と一緒に
>管理してるよ。<ISO9001 な今の職場
ホワイトボードのプリントアウトがあれば充分って訳じゃなくて、
やはり必須の議事録に付属する補足資料って感じだろうか。
>>302
>「この文書を第3者が見ても理解できるようになっていますか?」
例えば何かの資格保持者(UMLとか)が検印するような仕組みにしたら、
説得力が増したりするのかな。
>>303
>やっぱり、XP的には壁になりそうだね。
agile processの中では、むしろXPみたいにhigh-disciplineなタイプは
わりと向いてるような気がするなあ。
WFやUPみたいなheavy weightなプロセスと比べても、成果物や開発の
リズムが比較的平坦で均質な分、管理も監査もやり易そうだし、案外
相性が良いように見えないこともないんだが。
0305301
NGNG>ホワイトボードのプリントアウトがあれば充分って訳じゃなくて、
>やはり必須の議事録に付属する補足資料って感じだろうか。
ISO9001 ってなんか公的な認定機関があって、半年だか一年毎に社内の
全プロジェクトの中から、なんらかの基準でピックアップされた一部の
プロジェクトが、その審査対象となるのね<うちの職場の場合
でもって、審査対象として選ばれたプロジェクトは、ある程度過去に遡って
議事録が生成して、「主:議事録、副:プリントアウト」という形で体裁を整えてるみたい。
関わったことないからよくしらんけど。
議事録にまとめられた時点で「第三者的視点からのわかりやすさ」は増加するかも
しれないけど、「会議に参加した人の記憶を呼び覚ます」という効果はホワイトボードの
プリントアウトの方が優れているような気がする。
どちらを重視すべきかは、ケースバイケースなんだろうな。きっと。
0306山崎 渉
NGNG0307デフォルトの名無しさん
NGNG他と差をつけるためにagile processを謳って短期、低コスト、
低リスクな開発を図ったとして、そうしたチームにこそISO9001みたいな
認証が欲しいなあ。
このスレでも何回か挙がったような契約の問題とか、顧客との協調体制
作りのためにも、こういうお墨付きは持ってるだけでもかなり良い材料だと
思うんだが。
0308山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG「職人気質」に書いてあるのとは逆の感じみたいだけど、XPってそうなの?
0311デフォルトの名無しさん
NGNGみんな同じようにテストしてリファクタリングしてってやっていれば個々の特徴は出にくくなるわな。
これはみんな同じレベルとして考えた時だけど。
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGメンバー全員の価値がフラットになるように持っていくのがすじってものだろう。
誰か一人でも欠けたらプロジェクトあぼーんなんてやってられん。
0315デフォルトの名無しさん
NGNGそれもわかっていての>>296なんじゃないの?
まぁ、xp にしろデザパタにしろ熟練プログラマの編み出したものをタダ愚鈍に使っているだけの人間は
ずっと、フラットのままだろな。
模索をしなくなったらお終いだよ。
kent beck や GoF 側の人間にならなきゃね。
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGだって、昔のプログラマはプロセスやパターンが無い時代に自分なりにそれらを見つけ出し使っていたんだから。
実際にこれらが名前付けられて登場した時、あっ、これオレがやっている方法と一緒だと思ったことあるでしょ?
0318デフォルトの名無しさん
NGNGプロセスとしては非現実的なことが多すぎる。
0319デフォルトの名無しさん
NGNGまぁ、この4つかな。
リファクタリングは、個人に依存していて、
組織としては実践させることは難しいけど。
0320デフォルトの名無しさん
NGNGJavaファイルを勝手にリファクタしてて欝。
月曜日会社行きたくない。。
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGXPは完璧なコミュニケーションを要求するけど(本当に理想のリファクタリングするなら理想像を共有しなきゃいけない)
そこまでのコミュニケーションをやろうとする人が(上司も部下も)いないんでしょう。
漏れが感じてる問題点は「コミュニケーション力の総量が足りていない」
皆はどうかな
0323デフォルトの名無しさん
NGNGXPをもっと軽くやろうよ。
0324デフォルトの名無しさん
NGNGなんのためにアンタのところに仕事を投げているんだと憤慨するところもあるだろう。
自分にかかる負荷を軽減する意味合いも含めて投げている顧客にしてみれば当然の反応だろう。
ペアプログラミングも仕事が一つの場合なら良いが実際のところ複数を掛け持つ場合がほとんどなのでその場合は仕事を割ることになる。
結局、複数の仕事の場合全員が情報を共有するより分担を決めて割り振った方が理解も深く負荷も低くなる。
共同所有権も上記の理由により実現が難しい。
オンサイト顧客は喫煙室で笑い飛ばすネタとしては使えるかも。
週40時間は素早く多くの物件をこなさなきゃ大企業に対抗できない小さい会社には無理。
結論から言うとある程度力のある大きな企業が小規模、中規模開発をする時に効果が高いプロセス。
開発規模が同じだからと言って零細企業が真似をすると痛い目に遭う。
0325デフォルトの名無しさん
NGNG開発者も顧客もそれを望んでいるようだ。
0326デフォルトの名無しさん
NGNGXP意外はデスマーチになると言う考えは如何なものかと。
XPは今のところ幾つかのプラクティスをつまんで既存のコンポーネントベースと組み合わせるのが無難でしょう。
アジャイルモデリングも取り込んでフットワークを軽くするのも手です。
0327デフォルトの名無しさん
NGNG>XPは完璧なコミュニケーションを要求するけど
これってどこかで定義されているの?
括弧内の前提からの帰結だとして、それはXP的に正しいの?
まあextremeって言うくらいだから極論じみてた方がそれっぽくて
良いのかも知らんが。
ちなみにコーバーンなんかは、完全なコミュニケーションなんて所詮
あり得ないという、至極当たり前なところから議論を始めてる。
現実を踏まえた上で少しでもAgileにしていこうというアプローチなんで、
結構参考になる。
0328デフォルトの名無しさん
NGNGXPは過激すぎるのでちょっと読んでみるか
0329デフォルトの名無しさん
NGNGいったいどれが良いやら。
0330デフォルトの名無しさん
NGNGttp://www.fawcette.com/interviews/beck_cooper/kbeck.gif
ttp://www.ogis-ri.co.jp/otc/hiroba/specials/KentBeckXPseminar/xpjug/kent.jpg
ttp://www.martinfowler.com/articles/beck.jpg
0331デフォルトの名無しさん
NGNGそうだよな。
4つ仕事が入った時全員がその4つの仕事を理解しなきゃならないってのは現実として無理だよな。
0332デフォルトの名無しさん
NGNGXP は6人ぐらいのチームが数ヵ月専念する程度のプロジェクトが適用可能な
最小レベルであって、それより小さなプロジェクトには無理が多いと思う。
XP もまた銀の弾丸ではないわけだし。
0333デフォルトの名無しさん
NGNGそういう言い方してる時点で
自分が銀の弾丸を求めている事に気づくべき
0334デフォルトの名無しさん
NGNG独CoCreate Software社,仮想ユーザーを設定し3次元CADを開発
http://dm.nikkeibp.co.jp/members/DM/DMNEWS/20030901/7/
〜
同社は「eXtreme Programming」という手法を取り入れ,
同社の3次元CAD「OneSpace Designer 2004」を開発したという。
〜
0335hn ◆iKwMOjCT4s
NGNG> なんのためにアンタのところに仕事を投げているんだと憤慨するところもあるだろう。
> 自分にかかる負荷を軽減する意味合いも含めて投げている顧客にしてみれば当然の反応だろう。
話し合い無しでうまくいく試しなし。
話し合いの機会を作らない顧客は蹴れ。
そんな顧客を相手にしている時点で負け組。
> 週40時間は素早く多くの物件をこなさなきゃ大企業に対抗できない小さい会社には無理。
小さな会社がやるべきことは、いい顧客を掴むこと。
数をこなさなきゃダメっていうのは、負け組がさらに負ける戦略。
0336hn ◆iKwMOjCT4s
NGNGコードを書くときに求められる「コミュニケーション」というのは、
「ここ直したらどうよ?」と検討が始まって、結論が出て、皆が納得するすること。
と漏れは認識しとります。
コードの調整に関しては一定レベル以上のプログラマなら(技術的には)話はすぐにまとまる。
が、それを阻害する人間の感情的な要因がいくつかあるので、それを解決するだけのコミュニ
ケーション能力が開発に多くの人に足りてないなと。
0337デフォルトの名無しさん
NGNG> 話し合いの機会を作らない顧客は蹴れ。
学生?
話し合いがないワケじゃない。
たいていは最初に全て決めるだけの話。
そう言う顧客は全部蹴るの?
オレは xp が実践出来なかろうと定期的に仕事を振ってくれて他の会社にも
紹介してくれるところを大事にするけど。
いま、xp が実践できるような契約や顧客なんて本当に数えるほどしかない。
自分は xp というプロセスが実践できないからって顧客を蹴ったりしないけどね。
> 小さな会社がやるべきことは、いい顧客を掴むこと。
> 数をこなさなきゃダメっていうのは、負け組がさらに負ける戦略。
食っていくと言うことが良く解っていない甘ちゃん的発想だね。
その良い顧客を掴むまでの間どうするのさ?
そしてどうやって仕事を探す?
現実問題として xp が実践できるような顧客まで辿り着くにはそれこそ色々な仕事を
こなして人脈を作らなくちゃならない。
プロセスに振り回されて仕事を選ぶなんて本末転倒。
0338デフォルトの名無しさん
NGNGxpをできるような顧客が沢山いてしかもその顧客が毎回仕事をくれるような状態なら蹴りまくれるけどね:-P
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG1.10人前後のチームで開発している
2.頻繁な仕様変更で期間が大幅にのびた事がある
3.ドキュメント駆動でプログラムを作った事がある
上記のどれにも経験してない人には
説明しても拒否・否定される。
そういう人にはXPは非現実的にみえて
しょうがないんでしょうな
0341デフォルトの名無しさん
NGNGそんなの誰でも経験しているでしょうに。
XPが非現実的なのはあまりにも多くのことを顧客や環境に求めること。
だから>>318-319で挙がっているようなプロセスは別に非現実的とは思っていない。
と言うか熟練のプログラマなら昔からやっていること。
(´-`).。oO(やっぱりXPを盲信している人は何故非現実的と言われているのか解って無かったんだなぁ…)
0342デフォルトの名無しさん
NGNG× >>318-319で挙がっているようなプロセス
○ >>318-319で挙がっているようなプラクティス
0343デフォルトの名無しさん
NGNGだったら(少なくとも当人にとっては)非現実的とは言えないと思うが
0344デフォルトの名無しさん
NGNG>>324が言っているように企業体力がある、認知度が高いような大きな企業なら実践が可能な場合がある。
あとは理解を示してくれる顧客が多い場合か。
しかし、これらはレアケースであってこれらを見て現実的だとはとても言えない。
0345デフォルトの名無しさん
NGNG>だったら(少なくとも当人にとっては)非現実的とは言えないと思うが
これってまさしく信者って感じだな(w
パナウェーブのスカラー波みたいなものか?
0346デフォルトの名無しさん
NGNG335みたいに実践しないのは負け組だとか言い出さないかぎりはね。
0347デフォルトの名無しさん
NGNG漏れは困ってるのでよりよい弾丸を探す/作る試みを続けてる。
0348デフォルトの名無しさん
NGNG常に最前の方法を模索はするね。
xp はリファクタリングやUnitTestがIDEに統合されつつあるのでその部分だけは恩恵にあずかれそう。
プロセスとしては色々なアジャイル系をミックスして試すのがベターかな。
0349デフォルトの名無しさん
NGNG〓〓〓〓〓
|〓|
|〓|
|〓|
(⌒⌒)
\/
〓
【チンコお守りレス】このお守りを見たあなたは超超超幸せ者!
2週間以内に必ず彼氏・彼女が出来るよ!
すでにいる人は超〜ラブラブ みんなが幸せになりますように…
そのかわりこのコピペを1時間以内に、5つ別のスレに貼り付けてね・・
でないと、あなたはインポや性病になります。
0350デフォルトの名無しさん
NGNG否定派にはとりあえず「ああ、もっとも、そのとおりだね」と口では言っておく。
0351デフォルトの名無しさん
NGNG(Role Model Soft 社の人々は) 公開したのかね。
会社のノウハウとしてとっておけば、その会社は差別的優位性を
保てたんじゃないのかと。公開してその会社は一体どういう得を
するのかね。
0352デフォルトの名無しさん
NGNGなんつーか、資本主義の弊害的な話だな〜。
公開すればよりおおくの事例を集めて手法を強化できるし、発案者としての
名声で(講演とかコンサルとかで)食っていけるとかじゃないかね。
0353デフォルトの名無しさん
NGNGマジでそう言っているんだったらかなりおめでたい。
xp を公開したことにより信頼度、知名度を手に入れただろ。
それによって客の質も数も以前より増える。
当然、貰える額も変わってくるはずだ。
一流の会社はこぞって使おうとするだろうしその会社にとっても
宣伝になりエンドに安心を売ることが出来る。
>>352みたいな個人的なことだけじゃなく、会社としても相当潤う。
0354デフォルトの名無しさん
NGNG>(Role Model Soft 社の人々は) 公開したのかね。
これってケントベックが当時いた会社名ですか?
初めて聞いた
0355デフォルトの名無しさん
NGNG本当に当たるなら自分で使えばいい。
ではなぜ当たる競馬予想ソフトを売るのか?
そこにカモがいるからだ。
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG「アジャイルソフトウェア開発スクラム」
読んでます
0358デフォルトの名無しさん
NGNG「アジャイルソフトウェア開発エコシステム」
読んでます
字ばっかし
0359デフォルトの名無しさん
NGNGでたらめな開発している人たちに免罪符を与えただけの
ような気がします。
でたらめ、似非アジャイルと正しくアジャイルを適用している
プロジェクトを区別する方法を教えていただけませんか?
0360デフォルトの名無しさん
NGNGアジャイルソフトウェア宣言で示している4つの価値を重視しているかで
区別できるのではないですか?4つの価値とは以下のとおりです。
・個人と相互作用
・動作するソフトウェア
・ユーザとの協調
・変化への対応
ちなみに、これらと比較して価値が小さくなるものとして以下が挙げられています。
・プロセスやツール
・包括的なドキュメント
・契約交渉
・計画に従うこと
つまり、プロセスやツールを軽量にし、包括的なドキュメントを残さず、
詳細で長期的な契約交渉を行わず、当初の計画から外れた開発を
しているうえに、
個人の相互作用が少なく、動作するソフトウェアがなかなか生まれず、
ユーザとの協調もなおざりで、変化への対応力に乏しい
ような開発をしている場合は、似非アジャイルと呼んでいいと思います。
アジャイル開発=手法なし、設計なし、管理なしじゃないんですけどね。
例えばXPなら重い規律をメンバーに課しています。
0362デフォルトの名無しさん
NGNG>つまり、プロセスやツールを軽量にし、包括的なドキュメントを残さず、
>詳細で長期的な契約交渉を行わず、当初の計画から外れた開発を
>しているうえに、
ここまでは今のプロジェクトがそうです。でも、
>個人の相互作用が少なく、
はどういうことかわからないんですけど、
>動作するソフトウェアがなかなか生まれず、
ユーザーと協調するために、週に2回は動作するアプリのリリース
を要求されています。
>ユーザとの協調もなおざりで、
ユーザーとの協調が第一です。
>変化への対応力に乏しい
変化に対応するのはPGたちの徹夜に頼っていますがそろそれ限界です。
>ような開発をしている場合は、似非アジャイルと呼んでいいと思います。
どうなんでしょうか?半分アジャイルなんですけど、こんな状態を推奨するのが今の最先端なんですか?やっぱり単なる現状追認にそれっぽい名前与えただけみたいなんですけど。
設計なし、ドキュメントなし、管理なし(あしたまでにリリースだそれいけやれいけって管理ならありますけど)で、これだと破たんするって言うと、いやアジャイル開発ではこういうやりかたでやることを推奨しているんです。って言われて反論できません。
なんでこんな状態でよいソフトウエアが生まれ、開発者がハッピーになれるのか疑問です。
0364デフォルトの名無しさん
NGNG読みました。ありがとうございます。ここでやはり疑問があります。
アジャイル開発過程では、包括的なドキュメント作成は重視されない
とありますが、それでは、
顧客の仕様要求と製作するシステムをどのように一致させるのでしょうか?
あるいは、それを設計者にどのように伝えるのでしょうか?
そして、設計結果が顧客の仕様を満たしているかどうかをどのように
判断するのでしょうか?
設計者の設計内容をどのように実装者につたえるのでしょうか?
そして、どのようにその実装結果を検証(試験)するのでしょうか?
他にも疑問は多々有り、アジャイル開発を行うことは結局実装者の
負担を増大させるばかりか、過去においてはそれが管理者等の混乱
によるものであるとみなされていたものが、現代ではアジャイル開発
でやっているからで正しいことなのであるという免罪符になっている
のではないか思っています。
そして、アジャイル開発であってなお、実装者の負担減につながる
方法を知りたいと切実に求めています。
0365デフォルトの名無しさん
NGNG>あるいは、それを設計者にどのように伝えるのでしょうか?
口頭、図、文章などを用いたインタビューによって。
>そして、設計結果が顧客の仕様を満たしているかどうかをどのように
>判断するのでしょうか?
XPの場合は、受け入れテストによって。顧客が作れれば最高ですが、
まずありえないので、顧客の言葉をテストに翻訳して顧客と確認する、
ということになるでしょう。
>設計者の設計内容をどのように実装者につたえるのでしょうか?
>そして、どのようにその実装結果を検証(試験)するのでしょうか?
設計者と実装者を分けている段階で、アジャイルでは無いと思われ。
実装結果を検証(試験)は、さっき作った受け入れテストと、顧客への
リリースによるフィードバックでしょうね。
>によるものであるとみなされていたものが、現代ではアジャイル開発
>でやっているからで正しいことなのであるという免罪符になっている
>のではないか思っています。
『現代では』というのが拡大しすぎだと思いますが、少なくともあなたの
会社では免罪符として用いているだけだと思います。
そして、その原因の一つが、実装者であるあなた達が、自分が強制され
ていると感じているプロセス(アジャイル)の文献すら一切調べていない
ことにあるでしょう。
ちょっと関連書籍を読んでみれば、今やっているのが実はアジャイルで
ないのは明らかなはずです。
0366デフォルトの名無しさん
NGNG>あるいは、それを設計者にどのように伝えるのでしょうか?
>そして、設計結果が顧客の仕様を満たしているかどうかをどのように
>判断するのでしょうか?
ドキュメント書いて、レビューやれば良いじゃん。
だれか駄目って言ってんの?
だけど、包括性にこだわり過ぎるのは良くないかもね。
そんな感じ。わかった?
0367デフォルトの名無しさん
NGNG>ドキュメント書いて、レビューやれば良いじゃん。
>だれか駄目って言ってんの?
プロマネ兼SE。
仕様書ないから、プログラム作れないって言ったら。
最初に説明してある。作れないはずはないって言われた。
0368デフォルトの名無しさん
NGNG>そして、その原因の一つが、実装者であるあなた達が、自分が強制され
>ていると感じているプロセス(アジャイル)の文献すら一切調べていない
>ことにあるでしょう。
そんなヒマありません。アジャイルプロセスでは毎日毎日地獄のような
納期に追われて、睡眠時間を削るだけです。
0369デフォルトの名無しさん
NGNG「この飯がまずいのは素材が腐ってるからだ」
って言ってるようなものだよね
0370デフォルトの名無しさん
NGNGこんなことは365さんに言うべきではないですね。せっかく親切に教えて
下さっているのに。いうべきとしたらこの方法を採用したPMになんです
けど、こうしてもらえないと開発できないと言ったらアジャイルではそう
いうやりかたはやらないと言われて、アジャイルなんてその言葉しかしら
なかったものですから、なんの反論もできず、困ってしまったのです。
それでみなさんに助けてもらって、そんなのアジャイルじゃないのに自分
の都合のいいところだけアジャイルだって言われても開発できないよって
反論したかったのです。
でも、せっかくですから、少しは勉強したいのですが、1冊だけでざっと
すぐに読めるような解説書はなにかありますでしょうか?金曜日には本屋
の開いている時間に都心に出ることができるはずなので、一冊購入してこ
ようと思います。
よろしくお願いします。
0371365
NGNG>そんなヒマありません。アジャイルプロセスでは毎日毎日地獄のような
>納期に追われて、睡眠時間を削るだけです。
だから、それはアジャイルじゃないですって。
>>370
本当に本屋に行く時間もなくて、2chする時間はあるってなら、
ここで得られる情報でも十分じゃないの?
http://objectclub.esm.co.jp/eXtremeProgramming/
それよりも、
>アジャイルなんてその言葉しかしら
>なかったものですから、なんの反論もできず、困ってしまったのです。
よく知らない方法論の名前を出されただけで反論できないんじゃ、
これから先も同じ事繰り返すだけだと思うけど。
次は「Lyeeではこうする」って言われそう。
0372デフォルトの名無しさん
NGNG用いてるプロセスがアジャイルかどうかっていう点との
因果関係が薄いような気がするんですけどね。
362のPMが仕切ったら、ウォータフォールでもデスマになると思う。
ウォータフォールで宿命的に発生する「予想外の」手戻りが原因で。
0373デフォルトの名無しさん
NGNG>ウォータフォールで宿命的に発生する「予想外の」手戻りが原因で。
日々、変わってゆくお客さまのご要望をシステムに取り入れるため
アジャイルでないと対応してゆけないのだそうですので、
はじめからウォーターフォールは無理だそうです。
0374デフォルトの名無しさん
NGNG>本当に本屋に行く時間もなくて、2chする時間はあるってなら、
>ここで得られる情報でも十分じゃないの?
>http://objectclub.esm.co.jp/eXtremeProgramming/
週に一回くらいは打合せのため本屋のある都心を経由するので
本屋に行く時間はあります。でもいつでもアクセスできるわけでは
ありません。
ということでご紹介いただいたサイトを見させていただきます。
0375デフォルトの名無しさん
NGNGいや、あなたのPMが仕切ったらどういう方法論でもデスマになると言っているんですが。
わかりにくいかもしれませんが、ウォータフォールは一例としてあげただけです。
0376デフォルトの名無しさん
NGNG>次は「Lyeeではこうする」って言われそう。
禿ワラタw
>>374
雑誌の特集なんかも手軽で良いかもしれない。このスレだと>>5
のJavaWorldのバックナンバーとか。2002年11月号か。一年も
昔のやつですまんが。ちょっと気持ち悪い煽り記事だけど、我慢して
読むととりあえず概要が掴めるし、キーワードも拾えると思う。
そんで用語、術語に少し馴染んだら、次はやはり定番のGoogleかな。
>>1とかにあるリンクでも良いし。ネットだけでもかなり情報あるよ。
そんで何となく分かった気になってきたら、好きなプロセスを選んで、
解説本なんかを買ってみるのも良いかも。
ちなみに入門用としてはXPは実は余り向いてない気がするんだがね。
やはり素人にはお勧めできないというか。どうせ中堅以上の技術者には
浮ついた流行に見えるだろうし、厨房には刺激が強過ぎるし。
まあデスマーチもいつかは終わるし、がんがれね。
# >>371氏のリンクに「設計の終焉?」ってあるけど、それ面白いよ。
0377デフォルトの名無しさん
NGNG>・動作するソフトウェア
を重視するけど
>・プロセスやツール
は重視しないってのはやっぱり嘘っぽい。
昔、友人と面白い映画はどうすれば作れる勝手言うのを
議論したことがある。色々話をした後で最後になって一人が
「そういう設定とかにこだわる必要ないんじゃないのかな。
べつにそういうことやらなくても面白い映画は面白いんだから
結局面白い映画を作ればそれが面白いんだよ」って。
確かにそれは事実だが、だからその面白い映画をどうすれば
作れるかを議論していたのだ。この結論ではどうすれば面白
映画を作れるのか結局わからないってことになる。
動作するソフトウエアを作ることが目的で、そのために有効な
プロセスやツールを探している人に対して、「プロセスやツール
は重要ではない。結局動作するソフトウエアを作ることが大切だ」
なんて言っても何の助けにもならない。
0378デフォルトの名無しさん
NGNG我々は、自ら Agile 開発を実践するとともに、
人々が Agile 開発を実践するための支援を通じて、
より優れたソフトウェア開発方法を見つけようとしている。
この活動を通じて、我々は、
人と人同士の相互作用を、プロセスやツールよりも
動くソフトウェアを、包括的なドキュメントよりも
顧客との協力を、契約交渉よりも
変化に対応することを、計画に従うことよりも
尊重するに至った。
これは、右側にある項目の価値を認めつつも、
左側にある項目の価値をより一層重視する、ということである。
0379デフォルトの名無しさん
NGNG>より優れたソフトウェア開発方法を見つけようとしている。
見つかったら教えてくれよな。
Agileっていう、優れたソフトウエア開発方法論があるわけではないわけだ。
0380デフォルトの名無しさん
NGNGそれなら、別にアジャイルである必要はないのでは。
反復型ならわかるんだが。
0381デフォルトの名無しさん
NGNGagile はメタプロセスだからね
0382デフォルトの名無しさん
NGNG優れた方法論はない。
「メリット・デメリットが異なる方法論」が
たくさんできるだけ。
あとはケースバイケース(期間・人数・関係者のスキル等)で
好きな奴を選べ。
とりあえず仲間とXPやってみましたが、
「滝モデルとは別の意味で効率悪そ〜」というのが感想です。
0383デフォルトの名無しさん
NGNG> 「滝モデルとは別の意味で効率悪そ〜」というのが感想です。
濁さないで詳しくお願いします。
ついでに滝モデル利点の方も。
0384デフォルトの名無しさん
NGNG0385Homa
NGNG0386デフォルトの名無しさん
NGNG同じものでしょ。
0387デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG0390382
NGNGテストだ〜。リファクタリングだ〜。て感じで。
それが手戻りを楽にするためなのは
わかってるんだけど、
「どれだけ利用するかわからない傷害保険に
強制的にはいらされてる気分。」
というと心情が伝わるかな?
あとペアプロでパートナーと意見を合わせるのが
かなり大変。新人とか全然違うチームの人が
ペアだと自分の考えを説明するだけで疲れる。
なのでXPをいきなり製品開発に試しても
・たぶん失敗してRUPに変えるか
・多残業するか
どっちかなんだろーな。と思った。
0391デフォルトの名無しさん
NGNGやってみればわかるけど効果も明らかだし。
0392382
NGNG素人にわかりやすい事
導入時の難しさで比較すると
XP>縛りのキツイ滝>縛りのゆる〜い滝≒開発プロセスがない
今は小さいグループなのでゆる〜い滝でやってるんですが
そこでいきなりXPを実践するのは難しかった
逆に「ドキュメント駆動の厳しい滝モデル」でやってる人達のほうが
XPをやりやすいと思います。
0393デフォルトの名無しさん
NGNG話し合いで時間を浪費する割合が多かった
・MVCにするにはどっちのクラス構成がいいか
・テストしやすい作りはどっちかなのか
・なぜテストをするのか
・なぜリファクタリングをするのか
といった感じで毎回ペアで話あってた
0394デフォルトの名無しさん
NGNG現状維持以外の何をやるにしてもそのコストは必要かと。
0395デフォルトの名無しさん
NGNG効率の悪いテストやしなくて良いリファクタリングをしている可能性もあるわけでそれを持ってしてXPをかって
に納得して判断下されても。
382の言っているXPのデメリットには何一つ納得できる物はないよ。
せめて324位のことは言ってくれ。
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNG「感じ」だとか「心情」だとか漠然としすぎて、それじゃ単なるボヤキの
域を出ないでしょう。
と言うか、どうもよく理解しないまま幾つかのプラクティスをいい加減に
適用したふりをして、XPをやった事にしただけのように読めちゃう。
「XPやりました」って言いたかっただけと違うのかと。
>あとペアプロでパートナーと意見を合わせるのが
>かなり大変。新人とか全然違うチームの人が
>ペアだと自分の考えを説明するだけで疲れる。
チーム内のメンバと意見を合わせるのが大変、疲れるというのを
理由にXPが失敗するというなら、じゃあ他のプロセスなら容易なのか
(或は逆に、意識合わせを端から度外視してるのか)といった疑問
が湧く。
CommunicationはExtremeValuesの筆頭でもあるはずなのに、それが
大変だからといってペアプロ批判するのは、最初から何か意識が
ズレていると言うか、分かってないように見える。
0398デフォルトの名無しさん
NGNG>なのでXPをいきなり製品開発に試しても
「いきなり」試そうとしてるのは>>390氏の勝手であって、XP自体とは
関係ないでしょうな。何事も実績や経験が足りない事は段階的で
控えめなアプローチが望ましいでしょう。
>・たぶん失敗してRUPに変えるか
失敗したXPを途中でRUPに切り換えるって適切?てか、できるの?
>・多残業するか
プロジェクト開始前に多残業って言えるのは、そういうスケジュールを
組んでいるからでは。始める前にそんな事を言う位なら、あらかじめ
その分見積もって日程を考えるべきでしょう。
それともエンドも要員も固定のプロジェクトで、XPだけが多残業を
もたらすと言ってるのかな?だとすると総工数でXPがRUPや
ウォーターフォールを上回ることになるけど、そうなの?
0399デフォルトの名無しさん
NGNGどの部分への訂正か分からないけど、
>話し合いで時間を浪費する割合が多かった
>
>・MVCにするにはどっちのクラス構成がいいか
>・テストしやすい作りはどっちかなのか
こういうのを時間の浪費と言うだろうか。
ベターな設計にするためにはどのみち対話が必要だろうし、書いた本人
以外は障害発生まで誰もソースを読まないような状況を避けられるし、
むしろ必要な話し合いだと思うけど。
それとも設計書を書いてレビュー、書き直して再レビュー、承認後に
設計書をクローズしてコーディング着手、書いたらソースレビュー
といった手順の方が能率的と言いたいですか?
>・なぜテストをするのか
>・なぜリファクタリングをするのか
これは事前に意識合わせしておくべき事で、ペアプロ中に蒸し返す
話題ではないでしょうな。
0400デフォルトの名無しさん
NGNG思うようにコードかけないのはまだ自分の設計能力やコーディング力が足りないから。
また、ペアプロが大変なのはしょうがない。あれは疲れる。
ただしペアを組んで同時にコードを記述することによる利点(品質、教育など)は長期的に見てプロジェクトに貢献することは間違いない。
あと話は変わるが、ペアプロの利点で品質の向上をあげる人が多いけれども、プロジェクトの人員の入れ替わりに対応する
リスクヘッジみたいなところがマネジメント的にはもっと重要な利点だと思う。
連続徹夜で一人や二人が氏んでもプロジェクトが続行できるから。
0401デフォルトの名無しさん
NGNG中小企業にはツラい。
0402デフォルトの名無しさん
NGNGそれもプログラマから見たカリスマではなくて、顧客から見たカリスマね。
要するに、Kentあたりだから契約だ環境だ何だというようなことも、顧客が
言うことを聞いてくれるような気がする。根本的に彼らはXP以前から比較的
良質な顧客を捕まえてこれる状態にあったことが大きいのではないかと
思うんだよな。これをカリスマ不在のところがやろうとしたら、会社の看板か
体力が必要ということになる気がする。ところがそういう会社は組織の弊害に
囚われていてXPの導入なんて無理ってことになるんだろう。
何というか、XP導入以前にプログラマとしてすごい連中の集まりにならないと
いかんというニワトリタマゴな話になってしまう気がしているんだよな・・。
0403デフォルトの名無しさん
NGNG心配する気持ちも分かるけど、そんなことないと思う。
職業人として信頼できる人間なら、別にカリスマ性は要らないでしょ。
0404デフォルトの名無しさん
NGNG402はおそらくネタでしょ。
しかし、XPの契約はなかなか難しいのも事実。
そのXPをやっている人はかなり特殊だとおもう。
「信頼」を会社の大きさで見るところが多いからね。
あと、顧客としては勘定がすぐに出ない契約は稟議が通りにくいという面があるから嫌がられる。
環境の方はまぁどうにもならないだろうね。
会社の上の人間や会社・部署の体質が全てを決めてしまうから。
入札が複数あったりする場合、営業は無理なスケジューリングで無理矢理取ろうとしたり
人員配分が無茶苦茶だったり、ISOでドキュメント死ぬほど書くような決め事がしてあったり・・・
そこまで酷くなくても大小なにかと問題があって実践が難しい。
日本という土壌にどうも微妙にかみ合わない。
出来るところだけ切り取って使うのがうまいXPの活用法かも。
とりあえず、上記に左右されないテストとリファクタリングから入っていくしかないね。
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGデスマーチタイムにかかっている期間も短い。
0407デフォルトの名無しさん
NGNG連続徹夜でペアプロって・・・、おっそろしいなあ。
例えば、思った通りの進捗が無くて焦った初心者XPチームが、
XPが重荷になってきて「仕方なく」何かのプラクティスを反古に
するとしたら、たぶんSustainablePace辺りが最初に捨てられそう。
そうなってくると泊り込みでペアプロとかあり得るわけか・・・
死なないまでも、各メンバの疲弊した脳内に予期せぬ感情が芽生え
たりはするかもな。
0408デフォルトの名無しさん
NGNG>死なないまでも、各メンバの疲弊した脳内に予期せぬ感情が芽生え
>たりはするかもな。
そして、二人のめくるめく夜が始まる。
0409デフォルトの名無しさん
NGNGなんです。
皆さんどういう風に会社(またはチーム)に開発方法を浸透させていくんですか?
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG新しいプロセスを持ち込みたいならキミが勉強してある程度理解してから引っ張っていけ。
そういう立場にいないならそういう立場の人間を説得しろ。
0412デフォルトの名無しさん
NGNGピアソンのXPシリーズを全巻熟読しろ
話はそれからだ。
0413デフォルトの名無しさん
NGNGXPとかRUPって正反対のように見えて、high-disciplineって事と
iterative and incrementalって事の二つの大きな共通点があるね。
high-disciplineは何とかなるかもしれないけど、I&Iはどうだろう?
まだまだiterativeどころかincrementalですらない案件も多いだろうしさ。
当たり前だけど、開発部隊の外部、特に顧客関係のマネージメントや
契約形態について権限をもってる人達との協調は必須でしょう。
契約以前の段階で、見積書とか作業計画表とかがウォータフォール
前提になってる場合、後から反復型にすると話が違うって事になるしさ。
とりあえず営業担当者に、ウォーターフォール型のプロセスが唯一の
選択肢って訳じゃない事を認知してもらうのが最初だろうね。
話はそれからかな。
0414デフォルトの名無しさん
NGNG確かに顧客の理解なしにやるのはSE失格だね。
0415デフォルトの名無しさん
NGNG783 名前: 郵便屋 投稿日: 01/10/12 07:22 ID:eqc3p.xc
>だからさー、ドラマや小説のネタにして誰にどういうメリットがあるの?
メリットがあるかないか、というより、嫌がらせや脅しが目的だろ。
嫉妬や妬みのようなくだらない理由で嫌がらせする人っていっぱいいるよ。
普通はありえないと思うだろうけど。
変な不祥事が連発しておこることが事件に取り上げられてるけど。
世の中くだらない個人的感情で仕事をする馬鹿な人がいっぱい、いるんだろうと思う。
969 名前: 文責:名無しさん 投稿日: 01/11/04 13:30 ID:nZuvB+Z1
>>951
関係者というのは、盗聴された私と親しい間柄にある人や、知人のことです。
たとえば家族とか、電話で話した人、家で話題にした人、友人等です。
家族が知人と電話で話した内容がネタになった事があったり、知人の名前が
ドラマに使われたりします。
970 名前: 967 投稿日: 01/11/04 13:52 ID:v3mAO06V
>>969
あるね。最低だな。最近じゃ不治てれびとか。業界内の遊び感覚でやってると思うね。
0416デフォルトの名無しさん
NGNGピアソンshineハケーン
0417デフォルトの名無しさん
NGNG再帰を理解できずにやるのはSE失格ってことでつか?
0418デフォルトの名無しさん
NGNG1. TestDrivenDevelopment
2. PlanningGame
3. WholeTeam
4. PairProgramming
Continuous process rather than batch
5. ContinuousIntegration
6. DesignImprovement
7. SmallReleases
Shared understanding
8. SimpleDesign
9. SystemMetaphor
10. CollectiveCodeOwnership
11. CodingStandard
Programmer welfare
12. SustainablePace
0419デフォルトの名無しさん
NGNGよく「人月で計算するのはよくない」とききますが、ではどういう風に見積もるんですか?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGありがとうございます。ちなみに「匹」は犬でしょうか?
0422デフォルトの名無しさん
NGNG見積もりなんか人月で良いんじゃね?別に。
ユースケース一個につきいくらとか、どうせできる訳ないし。
つか怒られるじゃん。
人月で困るのは、管理だろ。
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG人に頼るな。
あとプロセスの設計というのも忘れるな。
だからレビューが大事なんだぞ。
0425デフォルトの名無しさん
NGNGどうやって勉強するの?良い本でもあればしえてくれよ
0426デフォルトの名無しさん
NGNG人月で表すのは別に悪くないが、人月は足し算できないから計算できない。
例えば、1人月の作業と、2人月の作業を合わせても3人月になるかどうかは
それぞれの作業の内容と「人」を誰にするかによる。
逆に言えば、1人月+2人月=3人月になるように作業を分割して人を割り振って
いれば、人月で計算しても構わない。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG勉強するんじゃないんだよ。
製造プロセスがどれだけ時間がかかるか精度良く調査しておくんだよ。
だから、先回りしておくんだよ。
0429デフォルトの名無しさん
NGNGファンクションポイントもいいけどユースケースからでも算出できるだろ。
精度良くやれば。
0430デフォルトの名無しさん
NGNG勉強はいるだろ。
とりあえずFPの本でもよめば?
あとは、データを蓄えて、予測。
精度が高いデータである必要はない。
精度が高いデータをとるのは工数がかかるからな。
必要な精度で。
という意味では428の精度が「良い」という表現がいいな。
0431デフォルトの名無しさん
NGNGシステムが複雑で無いなら有効
複雑なら、非線形で必要工数が増えていくので無効
0432デフォルトの名無しさん
NGNG予想総成果物の文字数なんかが、客観的で良さげだな。
あと文字数から打鍵数を割り出して、キーダウン一回の
平均エネルギーを掛けたら、ジュールとか使えちゃうな。
うわ、なんか我ながら凄え科学的。
カコイイ、俺。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG機能ごとにポイントをつけて、その合計で見積もる方法。
参照系は3ポイントで5画面=15ポイント
更新系は10ポイントで3画面=30ポイント
あわせて45ポイントで、1ポイント10万円として450万円とか見積もる。
0436デフォルトの名無しさん
NGNG計算しやすそう。
だけどそれはボリ杉じゃないの?
0437デフォルトの名無しさん
NGNG人月と本質的にどう違うのか、よく分からない。
尺貫法とメートル法みたいに、単位だけの違い?
てかそもそも、あまり変わらないって事の説明なんだろうか。
あと、そのポイントって四則演算が適用できるのかな。
0438デフォルトの名無しさん
NGNG人月は見積もりの結果で、FP法はそれを出す根拠を
ざっくり体系化したものじゃないかな。
0439435
NGNGぼり杉かどうかは、作るものによって違うでしょ。
1ポイントがいくらになっても構わない。
画面がどういう単位かもわからないわけだし。
>>437
線形かってこと?
過去のデータに近い規模であれば線形とみなせる、ってことじゃないのかな。
どんな見積もり方法も、過去のデータと近い内容・規模であることが前提だと思う。
人月は単位であって、方法論ではないからね。
0440デフォルトの名無しさん
NGNG数値や式があるとそれっぽく見えて読んだ方もなんとなく納得できるってことかと。
0441デフォルトの名無しさん
NGNG帳票系は何ポイント?
0442デフォルトの名無しさん
NGNG>線形かってこと?
ポイントと人月が、係数一個で交換可能な単なる比例なら、あるファンクションを
評価するのに最初から人月を単位としても結局同じだろうと思った。つまり
>>419(俺じゃないけど)の問いには、「FP法を使うなら人月でもOK」って言えると。
ただ、ちょっとググってみたら、言語にも環境にも依存しないって謳ってる
のが分かった。そもそも抽象度が違うって事で自己解決したよ。
0443デフォルトの名無しさん
NGNG『Dr.ユースケースの “ユースケース人生相談”
ファンクションポイントとユースケースには
どんな関係があるんですか? 』
http://www.atmarkit.co.jp/fjava/devs/redge10/redge10.html
タイトルはふざけてるけど、中身はまとも。てか、やや難解。
0444435
NGNG0445435
NGNG0446デフォルトの名無しさん
NGNG御意。
人月の扱いの難しいところは、一旦人月に換算したら、
その人月を逆に変換してはいけないところでしょう。
人月の単位に落とした時点で、対象の複雑性や依存性等の
情報が抜け落ちてしまうから。
まあ、そういう情報を抜いて、単純に表せるのが人月の良い所
なんだけど。
0447435
NGNG結局人月というのは、金額の単位なんだよね。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGスリーアミーゴ!
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNGICONIXっていうのはどうでしょうか?
RUPとXPの間で、実は一番現実的じゃないかと思うのだが。
0452デフォルトの名無しさん
NGNG『Applying Use Case Driven Object Modeling with UML』って本で
前提にしてるプロセスがICONIXだった。プロセスの勉強じゃなく、
ユースケース上手くなりたくて使ってた参考書なんだけど。
現実性云々を考えると課題はやはり、ICONIXもi&iを前提としてる辺り
じゃないかな。ICONIXを現実的と言うには、まず初めに反復型開発に
ついて現実的と言えてなきゃならないでしょう。(既にRUPなんかで
成功してる所が軽量化のために、って話なら問題無いだろうけどさ。)
ただこのウォータフォールの拘束だけクリアしちゃうと、導入し易い
部類には見える。ユースケースとかooa-d-pとかの一般的な技術が
まあまあ不自由無いレベルに達してさえいれば、プロセス固有の
ジャーゴンとかドグマとか少なくて、習得コストも抑えられそうだし。
敷居の低さも、開発プロセスの重要なファクターだと思う秋の夜長。
0453デフォルトの名無しさん
NGNG長瀬 嘉秀 訳だから躊躇しているんだが。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894717115/ref=ase_xpjp-22/249-6525190-2768302
0454デフォルトの名無しさん
NGNG監訳だし、そんなに変な訳じゃなかったよ。
内容自体も良いからお勧め。
テストが開発を駆動させるっていうイメージがつかめる。
それでも訳が気に入らないなら原書を読め。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGhttp://d.hatena.ne.jp/neverbird/20031027#p1
0457デフォルトの名無しさん
NGNG活用できてないんだろうか。むしろ、その方がもったいないな。
0458デフォルトの名無しさん
NGNGMore Effective C++を買おうと思ったが、Amazonだと4910円もする。
訳書だと3800円…
0459デフォルトの名無しさん
NGNG変じゃないなら購入してみるよ。
速く翻訳されないかと待っていたし。
たしかに英語読めると情報量が全然違うだろうなぁ
だが今じゃなかなか勉強する機会も時間も取れなくて。
学生のうちに勉強しておけば良かった・・・
0460デフォルトの名無しさん
NGNGっていうか、コードの部分が大きいからね。
逆に、コードが多いから原書でも読みやすいかもしれない。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNGなし崩し型もあるよ、、、たぶん。
ユーザー(営業)に早いとこプロトタイプをわたす。すると向こうから変更の希望が
「必ず」でてくるので以下 iterative に進行させる、と。進捗の情報が頻繁に届く
状態で、しかも希望を次々と聞いてくれる(ような気がする)となれば気分を悪くする
ユーザーはほとんどいない。といいなあ。
逆につんぼ状態で納期が来ていきなりまだできてません、とかいうのが一番怒る
のは確実だが。
ただし、よくわからないので出来上がったものを黙って受け取るような楽な顧客が
うるさくいろいろ言い出すという副作用はありそう。
0463デフォルトの名無しさん
NGNGそんなプロジェクト管理できるわけないだろ。
0464デフォルトの名無しさん
NGNG朝釣りごくろうさまです。m(__)m
0465デフォルトの名無しさん
NGNG客からの要望が出る量・速度
が
それを実装して見せるための実装量・速度
より大きい場合は全然対応してくれないし完成度も低い。
納期に仕様を満たしているものも出せない。
と客の不満全開で最悪の結果となる。
0466デフォルトの名無しさん
NGNGひかえめに言って、おまえは「氏ね」
0467デフォルトの名無しさん
NGNGいい意味で言うんだけど、おまえは逝ってよし。
0468デフォルトの名無しさん
NGNGそうならないように、「計画ゲーム」で主導権をとれる準備しないとねー。世の中楽じゃない。
0469デフォルトの名無しさん
NGNGてないですか?
アジャイル、UP問いませんが、1冊でまとまってほしい。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/0131111558/250-6971824-9058617
0472デフォルトの名無しさん
NGNGたまには1人で勉強しながら
コーディングもやりたいんですが
ひょっとしてペアプロする人は
勉強する必要のない達人ばっかなんでしょうか
0473デフォルトの名無しさん
NGNG二人で勉強するんでは(笑)
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGペアプロなんて、ほんとに仕事でやるわけないだろ。
XP自体が壮大なネタだよ。
0476デフォルトの名無しさん
NGNGうちはやってますが。
0477デフォルトの名無しさん
NGNG現状の日本では同意。
うにテストとリファクタリングがXPの最大の功績。
プロセス自体はとても使えない。
0478デフォルトの名無しさん
NGNGうちではやってるって。
0479デフォルトの名無しさん
NGNGそれはキミの会社が良い会社だからだよ。
正直羨ましい。
でもそれが当たり前だと思わない方が良いよ。
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNG最近馬鹿ばかりでホント疲れるニャー。
0482デフォルトの名無しさん
NGNG違うよ。規定で社名は出せないが。
0483デフォルトの名無しさん
NGNG>>324や>>404を読んで反論して下さい。
あと、仕事内容、契約形態、チーム構成(人数、トラッカとかマネージャとかコーチとかの役割分担)など良ければ教えて頂けないかと。
0484デフォルトの名無しさん
NGNG何が問題なのかわかってないみたいだね。
それから君の個人的好奇心を満たしてあげるつもりはさらさらないよ。
0485デフォルトの名無しさん
NGNG仕事の規模、リリース間隔、ストーリーの単位も教えて頂けると嬉しい。
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGあほくさ。
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG君ってクラス名スレの96なんじゃないの?
同じような感違いっぷりだよ。
アフォ相手は疲れるニャー
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG念のために言っておくけど、XPの全プラクティスを実践してるとは言ってないよ。
実際してないし。
0493デフォルトの名無しさん
NGNG何を理由にしているんでしょう?
過去スレ読んだけど
いまいちわかりませんでした
風習にあわないから?
馬鹿・新人に足引っ張られたから?
0494デフォルトの名無しさん
NGNG実践しやすく失敗しやすいから。
0495デフォルトの名無しさん
NGNG貶すと言うより環境が出来てない場合が多い。
日本のオフィス環境でXPの求めるオープンな環境が作りにくかったりする。
XP白本にあるような速い結合マシンが部屋の中央にあって机に区切りはなく広々とした自由に動ける
そんな環境は作れるところが少ない。
あとは開発人数の兼ね合いもある。
少人数で回している零細企業だとペアプロやってられない場合がある。
仕事を掛け持ちしている場合など無理でしょ。
それとこれはちょっと個人的意見なのでアレだけどやっぱプログラマは偏屈なヤツが多いでしょ。
協調性も欠けているし、幼稚だったり、酷いのになると三日くらい風呂に入らないヤツもいる。
そんなヤツと密着して仕事したくないよw
まぁ、出来る環境になったらやるけどね。
0496デフォルトの名無しさん
NGNGどの辺が問題になりそうでしょうか?
テスティングフレームワークは一応存在するみたいですが...。
0497デフォルトの名無しさん
NGNG悪いコードを書かれやすい故に、OOに詳しいコーチが他の言語より重要な役割を果たすだろう
プログラマのモチベーションを維持するのが難しいだろう。
将来性の無い、キャリアにならない言語で書くプロジェクトは、プログラマの動機付けをうまくやるマネージャが必要になる。
リファクタリングにかかるコストを他の言語より多く時間をとる必要があるだろう
命名規則の統一に他の言語に比べたら苦労するだろう
--
言語という観点からすると、こんなところだと思います。
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG0500497
NGNG0501デフォルトの名無しさん
NGNG実際にやっている所を全然想像できない。
特定のバグを見つけるために1時間くらいわきにたって一緒に検討するっていうのは
何回か経験ありますが、実装をしかも何時間もの時間さらに何週間もそのシーンを
やるのは気持ち悪いなあって持ってしまいます。
べつに煽るつもりはないんですけど、現実問題として実際にやっているシーンを想像できるように、ペアプログラミングの典型的1日とか教えてもらえませんでしょうか?
0502デフォルトの名無しさん
NGNGこのへんで伝わると思う
http://agileware.jp/articles/xp/xpepisode-kansai.html
http://www.objectclub.jp/eXtremeProgramming/StackTDD.pdf
気持ち悪い?
0503デフォルトの名無しさん
NGNGペアプロの本でも買ったら?
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGだから、その辺の話はスルー白よ。
XPは有功だが、使えるプラクティスは本の一部。
こだわらずに使う分にはそれなりに有効。
XP房には飽きたな。
0506デフォルトの名無しさん
NGNGやってみないとわからないと思うけど。たしかに業務でやるにはいろいろな障害・障壁があるだろうけど。
0507デフォルトの名無しさん
NGNG別名サービス残業制。
0508デフォルトの名無しさん
NGNG週80時間労働を無理なく1年続けられるのなら、XPのプラクティスを実現できてるよ。
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG> たしかに業務でやるにはいろいろな障害・障壁があるだろうけど。
解ってるじゃん。
オンサイトカスタマーやってみそ?
XPの契約取ってみそ?
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG顧客がリスク犯したいというならそうするだけだ
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNGうちではやってますが。
0515デフォルトの名無しさん
NGNG就職したいので社名を教えてください
0516デフォルトの名無しさん
NGNG検索してください。たぶん入れないと思うけど。
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG>>オンサイトカスタマーやってみそ?
客先常駐?
0519デフォルトの名無しさん
NGNGhttp://www.hnes.co.jp/documents/swkaihatu/01.htm
Technologic Arts
http://www.tech-arts.co.jp/top.h
秀逸なのは↓
NEC情報システムズ
http://www.nis.co.jp/solution/enterprise_omcs/business_application/
> 特徴
> お客様独自の強みを活かしたビジネスモデル(コアコンピタンス)に対応
> XPライクに少数精鋭チームによるイテレーションシップ開発手法を適用
> 最新のオープンアーキテクチャ(Java/J2EE)を活用し、短納期で柔軟な情報システムを構築
> 情報システムの企画から構築・運用の中で、お客様が必要とするサービスをご提供
これを特徴と言えるのが凄い
0520デフォルトの名無しさん
NGNG「XPライク」は確かに特徴だな(じゃあどんなやねん!!!)
0521デフォルトの名無しさん
NGNG本とかでは実体験的な話がないので全然現実に置き換えられません。
>>502
ありがとうございます。でも、特定の問題事案のときの一断面だけ
切り出してくるのはそういう問題解決手法もあるってだけで、
一日8時間の枠の中で実際に体験している人の話が聞きたいんです。
例えば、始業時間は前日に打ち合わせているの?二人がそろうまで
何していて、いつはじめるかはお互い顔を見つめあって、「じゃあ
やる?」とかするの?
一つのクラス設計決まっていて、クラス名/メソッド名とか決まった段階で
実装はじめたら、そうそう話をすることもないと思うんだけど、30分とか
黙々とタイプをうつのを横で覗いているだけ?それも嫌だけど、逆に大して
重要でもないことをいちいち口出されたら、やるきなくなるような気がする
んだけど。
とか
0522デフォルトの名無しさん
NGNGウォータフォール開発を前提とするなら、ペアプログラミングのメリットは下がると思います。
ペアプログラミングは常にレビューを行うという意図を含んでますから、
できあがってレビュー済みの仕様書に従って実装するという作業をペアでやっても
効果は低いでしょう。
一方、テスト駆動で開発し、同時にシンプルな方向への設計の変更を奨励している場合、
ペアプログラミングの効果はより高くなります。テストケースの提案とかシンプルな設計への
変更方法とか考えることが多い分誤りや適切でない解を含みやすいので、
常にレビューを行うことで誤りを減らしより適切な解を発見することが期待できます。
ウォータフォール前提で考えるのなら、私も終日ペアプロは無駄が多いと思います。
私は、ペアプログラミングはXPなどのアジャイルプロセス向けのプログラミングスタイルだと思っています。
0523デフォルトの名無しさん
NGNGえーっとつまり、仕様を考えながらプログラミングしているってことでしょうか?
仕様議論10分→テスト方案議論10分→テストコード実装5分
→メソッド名とか実装ロジックとか議論10分→コード実装5分
→実行デバッグ10分→休憩10分
みたいな?
0524デフォルトの名無しさん
NGNGxUnitも中途半端な効力しか得られないだろうね。
両方とも今までに何回か、XPの産物のうち残るものとしてこのスレで
挙がったけど、最低限、反復型開発でないと小技の域を出ないし、
むしろ余計な手間になりかねない。
やはりプロセス抜きには語れない。
0525デフォルトの名無しさん
NGNG> ウォータフォール前提というなら、ペアプロだけじゃなくリファクタリングと
> xUnitも中途半端な効力しか得られないだろうね。
はぁ?
本気で言ってます?
0526デフォルトの名無しさん
NGNGウォーターフォールでのリファクタリングの妥当性と、xUnitの正当性は誰が検証・レビューするのだ?
0527デフォルトの名無しさん
NGNGそれがウォーターフォールと反復型開発の差だと本気で言ってるの?
ペアプロかそうでないかの差だというならほんの少しくらいは解ってやっても良いけど。
それにしたってUnitTestとリファクタリングが中途半端な効果しか得られないと言うのはあまりにも物を知らなすぎ。
これらはこのような専門用語になる前から使われてきた技術だよ。
プロセスにほとんど左右されない。
開発スピードも遅くなんかならない。
0528デフォルトの名無しさん
NGNGテストする項目、リファクタリングするタイミングにはある程度法則がある。
とりあえずこの本でも読んでおけ。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894717115/ref%3Dase%5Fxpjp-22/250-2049071-6912228
中途半端なんて事はない。
0529デフォルトの名無しさん
NGNG0530526
NGNGウォーターフォールというプロセスとペアプロというXPの一プラクティスを並列に
並べて語るから、何を言おうとしているのかよくわからないが、少なくとも言える事は、
コーディングとレビュー、テストが独立して行われるウォーターフォールでは、
xUnitやリファクタリングの有効性は、XPで行うよりも有効性が劣ると思う。
やってみればわかることだが、それらの妥当性を独立したレビューでチェックすることは
ペアプロに比べればはるかに煩雑になり、工数もかかる。
つまり、それらはプロセス抜きには語れない。
0531デフォルトの名無しさん
NGNGプロセスとペアプロを並べて語っているのは524。
UnitTestとリファクタリングをすればテストが独立になるなんて事はないと思うけど。
それ以外の解答は>>528が書いたとおり。
どのプロセスにも取り入れられてプラスになる。
>>530の指摘はウォーターフォール全体の指摘であってウォーターフォールに
UnitTestとリファクタリングを取り入れた時の指摘にはならない。
> 最低限、反復型開発でないと小技の域を出ないし、
> むしろ余計な手間になりかねない。
この裏付けになんてなりようがない。
XPを盲信する人はここらヘンの感覚を変えないと誰もついてこないと思うよ。
何度も言うけどUnitTestとリファクタリングは昔からやってたことだからね。
独立して使うと中途半端とか言ったら怒られるよw
0532デフォルトの名無しさん
NGNGとりあえず、動くカタチに実装
↓
重複を外していく
↓
似たような実装が来た
↓
クラス抽出などetc
↓
…
知らないうちにデザパタとかの良い形になっている。
モデリングとかはまた別の話。
0533526
NGNG誰もマイナスになるとは言っていないけど。
で、もろもろの論点を捨て去って(それらに関しては俺はあまり興味ない)、
ペアプロでやらなかったUnitTestとリファクタリングの妥当性・品質のチェックは
誰がいつやるのだ?
0534デフォルトの名無しさん
NGNGTDDやリファクタリングは正しく実行されればもちろんどんなプロセスでも
コードの品質を高めたり、妥当性の保障となるが、それらが正しく実行され
たかどうかのチェックは、プロセス抜きには語れないだろうということ。
0535デフォルトの名無しさん
NGNG> 妥当性・品質のチェック
具体的にそれは何?
論点がずれそうなのでたとえ話でお願いしたいが。
UnitTestする物には法則がある、ある程度の経験則もあるが学習できるレベルだ。
今は書籍も沢山あるのでかなりマニュアル化されつつある。
GUI関係、DB関係、制御関係など専門的なテスティングも方法論がある。
リファクタリングの方も小さいレベルのリファクタリングをしていけば大きな問題になることはない。
リファクタリングの方法論もファウラーの本を読めば解ると思うがほとんどマニュアル化されてる。
ただ、大きな変更を行う時にはその枝葉がかなり増えるので妥当性を考える必要が出てくる。
これは、いろんな意見をまとめた方が良いだろう。
それより大きなレベルはモデリングでするべき。
と、ここまで書いたがこれらはペアプロを否定するものではない。
テストもベテランと組むことにより専門分野の法論を全体に染み渡らせることが可能で技術の底上げになる。
ナレッジの共有はどの分野でもこれから必要になっていくと思うよ。
>>534
> それらが正しく実行されたかどうかのチェック
この実行とは何を指すのか。
これだと、ただのマネージメントの世界だと思うけど違う?
トラッカとかコーチとか。
なんか、論点がずれてきてるなぁ
何が言いたいのか良く解らない。
それはUnitTestやリファクタリングに限った事じゃないだろ。
0536デフォルトの名無しさん
NGNGまず最初に言っておきたいのは、TDDやリファクタリングそのものの有用性
(絶対的価値)や方法論ではない。
その組織が行ってきた既存のプロセスにどのようにTDDやリファクタリングを
組み入れ、そしてそれらはプロセス全体から見たときにどのような価値をもつ
のかということを議論したい。つまり「プロセス抜きには語れない」というのは
そういうこと。
またその組織が今まで「単体テストフェース」をどのように実行し、どのように
それをレビューしてきたかによっても(ここは意図的にあいまいな記述にしてる)、
TDDやリファクタリングの価値は変わってくる。
0537デフォルトの名無しさん
NGNGなんかしてないような気もしないでもない。
0538デフォルトの名無しさん
NGNGリファクタリング:
・そのリファクタリングが、それをする前と意味的に変わりは無いかどうかという妥当性
・そのリファクタリングをする必然性があったかどうかという妥当性
これはちょっと前に/.jpで話題になった「趣味のリファクタリングはしてはいけない」というようなこと
UnitTest:
・あるUnitTestが正しくコーディングされているかどうか(=正当性)
・理想的なUnitTest全体に対するカバレッジが妥当なものかどうか
・テストされていない部分はそれが妥当かどうか(C1カバレッジレベルで)
・そのテストは正しい環境で正しくテストしたのかどうか(=正当性)
とまぁ、こんな感じかな。
0539デフォルトの名無しさん
NGNG> またその組織が今まで「単体テストフェース」をどのように実行し、どのように
> それをレビューしてきたかによっても(ここは意図的にあいまいな記述にしてる)、
> TDDやリファクタリングの価値は変わってくる。
TDD知っているなら解ると思うけどフェーズっていうレベルじゃないよアレは。
kent も言っていたが最終的に境目など無くなってしまう。
実装のフェーズと融合してしまっているんだな。
なので、実装フェーズにそのまま組み入れることが可能になる。
結合テスト、受け入れテストなどは従来の方法をそのまま使っても構わない。
ただ、この時にはかなりの品質になっていると思われる。
0540デフォルトの名無しさん
NGNGそれはレビューしながらテストをコーディングし実行するペアプロに比べれば
明らかに大変な作業だということがわかると思う。
しかも、レビューがNGだった場合のOKまでの絶望的な道のりは、やったものに
しかわからないかもしれない。
UnitTestを導入したからすべてがばら色に変わるわけではない。
ただし、プログラマ全員がUnitTestに精通していた場合は話は別。
0541デフォルトの名無しさん
NGNGごめん、俺の文章力では、君が理解できる文章は書けそうも無いので、
この議論からは撤退する。
0542デフォルトの名無しさん
NGNGXPの単体テストフェーズとは違うみたいだし。
全体的にみんな話がかみ合ってないね。
0543デフォルトの名無しさん
NGNGやらんよりマシ
0545デフォルトの名無しさん
NGNGあっ、そうなんだ。
Agile Process 以前の単体テストってどんなことやってました?
自分のところはせいぜい機能毎のテストでした。
サーバサイドなので意外に楽だったり。
GUI系はツラそうですね。
0546536
NGNG以前からC0カバレッジを実現するテストコードは書いてました。
Un*xのアプリなんかでmake testとかmake checkとかやると実行されるようなもの。
後でリグレッションテストができるようにもしてました。
Rational社のテストツールが買えるようになってからは、pure coverage、purifyを
使ってました。4年くらい前からだったかな?今でもたまに使いますが。
0547デフォルトの名無しさん
NGNGツラそうですね、それは。
うちなんかメチャいい加減だw
やったとしてもc2が精々かな。
xpはホントにコーディングしながらのテストですよね。
ぱっとテストを作って要らなくなったらぱっとテストを消すようなもっと気軽な感じがします。
ここらヘンも Agile な感覚なんでしょうね。
0548デフォルトの名無しさん
NGNGもちろんぐぐったさ。
0549デフォルトの名無しさん
NGNG今までの妥当性を見て設計していくというテストと既に質が違うんだから妥当性は?
とか同じ並びで聞かれてもUnitTest勉強してねとしか言えないよ。
切り替えはテストフェーズからロジック部分のテストを削除、残りのストーリー的なテストのみを行う。
リグレッションテストはテストスウィートで行えばいい。
早い話テストもその場で必要な物を作るというアジャイルな形態でしょ。
まぁ、もう話たくないみたいだからこれで終わるけど。
ただ横から入ってきてそう言う打ち切り方は正直失礼だと思うよ。
0550デフォルトの名無しさん
NGNGお前の読解力の無さに呆れたんだろ(w
0551デフォルトの名無しさん
NGNGどうせ煽るならこのスレ的な話題で煽れ。
0552デフォルトの名無しさん
NGNGつーか、お前TDD本で初めてxUnitを知った頭でっかち君なんじゃねーの?
お前の文章めちゃくちゃだぞ(w
0553デフォルトの名無しさん
NGNG相手してあげるから具体的にどうぞ。
0554デフォルトの名無しさん
NGNG> リグレッションテストはテストスウィートで行えばいい。
0555デフォルトの名無しさん
NGNG>切り替えはテストフェーズからロジック部分のテストを削除、残りのストーリー的なテストのみを行う。
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG>UnitTestする物には法則がある、ある程度の経験則もあるが学習できるレベルだ。
0558デフォルトの名無しさん
NGNG>>552
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGツマラン煽りを要らないって言ったのにねぇ
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG日本語ネイティブじゃないんでしょ?
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG>今までの妥当性を見て設計していくというテストと既に質が違うんだから妥当性は?
>とか同じ並びで聞かれてもUnitTest勉強してねとしか言えないよ。
主語は何?
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG話の流れから解りそうなものだけどねぇ
UnitTestの妥当性の話だよ。
0568デフォルトの名無しさん
NGNGテストプログラムの意味なのか?あるいはXP用語として
wikiっぽくUnitTestって書いてるのか?
0569デフォルトの名無しさん
NGNGなんだ、文章の添削がしたかったのか。
それは失礼したな。
10分まって出た話が「主語は何?」だったのでこれで終わるよ。
正しい日本語でも普及させていってくれ。
0570デフォルトの名無しさん
NGNGなんでテストプログラムの話をするんだよw
それならxUnitって書くぞおれは。
0571デフォルトの名無しさん
NGNGおいらもぐぐってみた。
http://www.google.com/search?q=%E3%83%86%E3%82%B9%E3%83%88+C0+C1+C2
命令網羅とか条件網羅とかを言い換えただけね。
0572524
NGNG中途半端って言葉が気に障ったのか。
XPが引き上げたレベルまでの効果は得られないって言ってるだけなのに。
ソース変更が禁止されたらMercilessなリファクタリングなんて無理だろう。
なんでムキになるのかわからん。
0573デフォルトの名無しさん
NGNGなんでおまえはそんなに自身満々なんだ。
正しい日本語でも普及させていってくれ、じゃなくて、少しはわかりやすい文章を書く努力をしろよ。
俺も話がかみ合ってない原因は、おまえの読解力の無さと文章力のなさのほうにあると思うぞ。
まーおまえはこのコメントも煽りと取るんだろうがな。
0574デフォルトの名無しさん
NGNG> プロセスにほとんど左右されない。
> 開発スピードも遅くなんかならない。
本気でそんなこと言ってるの?仕事でxUnitを使ったことある?リファクタリングをしたことある?
君の隣の席の斉藤君が書いた10Kステップのテストコードにバグが無いことを誰が証明してくれるの?
0575デフォルトの名無しさん
NGNG> XPが引き上げたレベルまでの効果は得られないって言ってるだけなのに。
524の
> 最低限、反復型開発でないと小技の域を出ないし、
> むしろ余計な手間になりかねない。
からはどうしてもそうは読み取れないけど。
「余計な手間になりかねない」という言葉は普通マイナスになると言っていると捉えられるが。
そして、Agile Process なら解るが反復型開発にとくくるところも謎だ。
ウォーターフォールとの対比でリリース期間の話をしているんだろ?
リリース期間でUnitTestやリファクタリングの効果が左右されるかと言われれば答えはNOだ。
もし反復型開発が Agile Process の事を言っているなら言葉を間違えたね。
>>574
UnitTestの粒度を考えれ。
気になるんならコードレビューでも何でもすればいい。
その際も UnitTest の存在からコードは従来よりも格段に読みやすくなっていると思うけどね。
あと、開発スピードが遅くなる理由が書いてないが。
まさか、全くテストをしない開発からのシフトを言っているんじゃないよな。
0576デフォルトの名無しさん
NGNG両者とも必死すぎ。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG禿同
>>575
その議論の行方に何が待ってるんだ?
お前はバカだから俺が啓蒙してやる式の発言は見苦しい。
0579デフォルトの名無しさん
NGNGコンポーネンスベースも結局スパイラルに開発するし。
0580524
NGNG>「余計な手間になりかねない」という言葉は普通マイナスになると言っていると捉えられるが。
余計な手間を避けるためには、少なくともコーディングと単体テストが
一体の期間として扱われるように調整するべきじゃないのかな。
コーディングフェーズと単体テストフェーズが、ソース凍結をはさんで
分離されてるような日程だったら無駄が生じると思うんだがね。
>そして、Agile Process なら解るが反復型開発にとくくるところも謎だ。
>ウォーターフォールとの対比でリリース期間の話をしているんだろ?
反復型開発って言ってるのに、なぜ勝手にAgile Processに絞るのか謎。
あとウォーターフォールの対比で何故リリース期間の話になるのかも分からん。
対比というなら文字通りの一回性と繰り返しがまず一点、次に成果物の
変更の可否が次の一点と捉えるのが普通だと思うんだが。
0581デフォルトの名無しさん
NGNGまあ必死になったり揚げ足取り合ったりするのは見苦しいけど、テーマは
別に変じゃないと思うんだがね。簡単に言うと、xUnit/リファクタリング
の効果とプロセスは、どんな風に関係するのかって話なわけで。
とりあえず、こんな風に興奮しちゃう人がいる程度には、例の入門書が
面白そうだってことが分かったよ。
0582デフォルトの名無しさん
NGNGいわゆるスパイラルって漸進型であっても反復型じゃない思うんだが。
下の掲示板のcockburnのレスにこんなのがある
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=42&t=000161
>"Incremental" means "add onto".
>"Iterative" means "alter".
この定義が全てとは思わないけど、割と自然じゃない?
0583デフォルトの名無しさん
NGNGどっちもボロを隠すためにかなり必死だw
恥ずかしいね〜
0584デフォルトの名無しさん
NGNG両者とも相手を見下して放してるから性質が悪い。
精神的に子供過ぎる。
0585デフォルトの名無しさん
NGNGttp://www.atmarkit.co.jp/fjava/devs/process01/process01.html
> スパイラル型のバリエーションとして、「反復型(イテラティブ)」プロセスと
>「漸増型(インクリメンタル)」プロセスと呼ばれるものがあります。反復型では、
>1サイクルでシステム全体を薄く仕上げて前サイクルの成果にオーバーラップ
>させていきます。一方の漸増型では、1サイクルでシステムの明確に分離された
>一塊のモジュール群(これを1インクリメント=増分)を前サイクルの結果に上乗
>せしていくイメージです。
0586デフォルトの名無しさん
NGNG582 の cockburn 氏の言っていることと同じでしょ。
0587デフォルトの名無しさん
NGNG>いわゆるスパイラルって漸進型であっても反復型じゃない思うんだが。
に対する答え。
両方スパイラル。
0588デフォルトの名無しさん
NGNG対立している一方は、プロセスなんか関係ないと結論付けちゃってるから、
全然議論になってない。
例の入門書ってTDDのこと?あれあんまりよく無かったよ。
xUnitとリファクタリングを全く知らない人にはいいかもしれないけど、
知ってる人にとっては目新しいことはほとんど無い。
0589デフォルトの名無しさん
NGNGそりゃ、「入門」と謳っている本だし。
そういう人にはこれがいいと思う。
ttp://www.oreilly.co.jp/BOOK/javaxpckbk/
0590デフォルトの名無しさん
NGNGxUnitもリファクタリングも知らない真の入門者には、別の意味でお勧めできない。
ある程度の知識がないと、内容をよく理解できないと思う。
それからPythonを使って説明してるのは失敗だったと思うね。
0591デフォルトの名無しさん
NGNG???
0593デフォルトの名無しさん
NGNGピトホン
0594デフォルトの名無しさん
NGNG>例の入門書ってTDDのこと?あれあんまりよく無かったよ。
>xUnitとリファクタリングを全く知らない人にはいいかもしれないけど、
>知ってる人にとっては目新しいことはほとんど無い。
そうか?俺は面白かったが。
特に、テストファーストとTDDの違いが良く分かったよ。
テストファーストの時は、「setのテストとgetのテストを両方やるのか?」
なんて考えたりもしたが、TDDではそもそもそんなことが問題にはならない
ってことが分かった。
あと、staticメソッドの実装をテストケースの中にやってしまう、ってのも驚いたね。
0595デフォルトの名無しさん
NGNG> テストファーストの時は、「setのテストとgetのテストを両方やるのか?」
> なんて考えたりもしたが、TDDではそもそもそんなことが問題にはならない
> ってことが分かった。
前から問題ではなかったけど。
> あと、staticメソッドの実装をテストケースの中にやってしまう、ってのも驚いたね。
どこの話ですか?記憶にないんだけど・・・
0596デフォルトの名無しさん
NGNGつまりきみみたいな読者層しか為にならないということなんじゃ?
0597594
NGNG>前から問題ではなかったけど。
それを自信をもって問題はないと言えなかったんだよ。
>> あと、staticメソッドの実装をテストケースの中にやってしまう、ってのも驚いたね。
>どこの話ですか?記憶にないんだけど・・・
p153
0598594
NGNG>つまりきみみたいな読者層しか為にならないということなんじゃ?
違うね。俺みたいな読者層には為になるっていうことなんだよ。
そして俺は「xUnitとリファクタリングを全く知らない人」ではない。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGp153にはstaticメソッドの話題は無いように見えるが…
0602デフォルトの名無しさん
NGNGそういやこの部分意味がわからなくて読み飛ばしたとこだ。
ここの日本語おかしくね?
0604デフォルトの名無しさん
NGNG訳はだれ?
0605デフォルトの名無しさん
NGNG長瀬&テクノロジックアート…
0606デフォルトの名無しさん
NGNGいくならんでも、もう耳に入ってるだろう。
0607デフォルトの名無しさん
NGNGいや逆に、このスレでも他のスレでも、何だかんだ言って結局
買ってる人が多いのに驚く。ボロい商売で笑いが止まらないのでは。
0608594
NGNGしかし、こんな訳でも無いよりはマシ。
原書が良ければ多少訳が不味くても何とかなるってことだな。
# 最近は、使い捨てコードはUnitTestの中に書いて、
# 正式なクラスに移す前に捨ててしまいます。
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGこれの話ですよね?
0611デフォルトの名無しさん
NGNGfrom clean code, and even from code that works. Without taking too much
counsel of our fears, here's what we do: we drive development with automated
test, a style of development called Test-Driven Development (TDD).
しかし、動作するきれいなコードをどのようにして作るのだろうか?多くのフォースによりきれい
なコード、さらには動作するコードから遠ざけれれる。自動テスト、TDD(テスト駆動開発)と呼ば
れる開発スタイルにより、不安を少なくして開発できる。
しかし、どうやって動作するコードをきれいに保つのだろうか?多くの力がきれいな
コードから、ましてや動くことからさえも遠ざけてしまう。自動テストを使えば、多くの
不安なしに開発が出来る。この開発スタイルがテスト駆動開発(TDD)である。
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG「テスト駆動開発入門」 のどちらかを読もうと思っているのですが、最初に読むなら
どっちがお勧めですか?
0614デフォルトの名無しさん
NGNGどちらもお勧めできない。ほかのXP本を買え。
0615デフォルトの名無しさん
NGNGテスト駆動開発入門はリファクタリングを知っている前提で書かれているので
先にリファクタリングを読んでおいたほうが良いよ。
あと、出来ればベックのベストプラクティスも読もう。
0616デフォルトの名無しさん
NGNGリファクタリングは完全なテストが存在するのが前提だから、最初にリファクタリングを読むのはきついと思う。
0617デフォルトの名無しさん
NGNGその二者択一なの?
XPに興味を持ったならまず>>614じゃ無いけどとりあえずXP白本を買った方が良いと思う。
その後に Fowler の Refactoring かな?
>>615
Smalltalk Best Practice Patterns はその名の通り smalltalk の手法の解説なので
勧める時はそこらヘンの事情も説明した方が良い。
>>616
いや、実際にコーディングするならまだしもリファクタリングのカタログとしての
知識を仕入れるのにテストの有無は関係ないと思う。
TDD入門は所々にリファクタリングの用語や手法を知っているという前提で書か
れてる箇所があるのでやはり Refactoring が先じゃないかな。
まあ、どちらにしてもXP本シリーズが先だと思うけどね。
0618デフォルトの名無しさん
NGNG禿同
0619デフォルトの名無しさん
NGNGアドバイスありがとうございます。
とりあえず、XP白本を呼んでみたいと思います。
なんか、翻訳の評判がすごいですね^^;
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG白本読まないと黒本楽しめないよ?
0623デフォルトの名無しさん
NGNG「XPエクストリームプログラミング懐疑編」
0624デフォルトの名無しさん
NGNGってどうですか?
0625デフォルトの名無しさん
NGNG訳がだめとかどっかに書いてあったようなきがする。
もう訳書はほぼ駄目だって言われてますね。
和書しか読めないものにはつらい
0626デフォルトの名無しさん
NGNG> もう訳書はほぼ駄目だって言われてますね。
s/訳書/訳者
0627デフォルトの名無しさん
NGNGリファクタリングは、小規模であれば、テストなしでもある程度実行できるので、
比較的とっつきやすい。あと、IDE にリファクタリング機能が付いてるものが
増えつつあるので、基本的なところだけでも早めに理解しておいた方がお得。
一方で TDD は、「レッドバー -> グリーンバー -> リファクタリング」のリ
ズムが重要なので、リファクタリングの知識がないとすぐに行き詰まる気がす
る。
しかしまぁ、順番はともかく両方読むのがベスト。
白本は翻訳の出来も悪いが、内容的にもすでに古いので無理に読まなくてもい
いんじゃないかなぁ。XP やるなら読んでおいたほうが more better ではある
けど、もはや必読ではなくなりつつある気が。
0628デフォルトの名無しさん
NGNGおれもリファクタリングが先の方が良いと思う。
ただしそれは、自分がそうだっただけだけど。
リファクタリングにも数ページUnitTestについて書いてあるし。
でも、リファクタリングでのUnitTestの役割と、TDDでのUnitTestの役割は
違う印象があるから、TDDから始めるとどうなるのか興味がある。
(Kentの娘はTDDしかコードの書き方を知らないそうだが)
0629デフォルトの名無しさん
NGNG白本読まないとXPの基本が解らないと思うが。
TDDとはレイヤーが違うだろ。
0630デフォルトの名無しさん
NGNGテスト通すためにあんな下らないソース埋め込まなきゃならないの?
テストが通るまでコード書いて通ったら次へ行くという形じゃないのか?
あれじゃ次に行くタイミングを失敗したら変なコードが残りまくりだろ。
定数にしている部分を直すのを忘れるなんて事日常でありそうだぞ。
人間はミスをするという考えに元付いてやっているんじゃなかったのか?
あんなに無理矢理テストをパスさせる必要性が解らん。
あほくさ。
0631デフォルトの名無しさん
NGNGそれに君がどんなスタイルでコーディングしようが、
誰も興味ないから、もうこのスレ来ないでね。
0632デフォルトの名無しさん
NGNGアンタがこのスレ管理してんの?
それとも代表?
ちゃんとした反論も無しにただ帰れってのはみっともないと思うけどな。
0633デフォルトの名無しさん
NGNG反論して欲しけりゃまともな意見を書け。
つーか、マジ君いらん。氏んでいいよ。
0634デフォルトの名無しさん
NGNGなんかレスがメチャクチャ厨っぽいんだけどw
ここって Agile Process はすべて肯定しないといちゃいけないのか?
XP も TDD も Scrum も FDD も Crystal も ASD も LSD も?
おかしいと思っても意見書いたらダメで全部の Agile Process を肯定するのか?
おかしいだろそれは。
オレは TDD も納得する意見があれば別に否定しないし逆に使うかも知れない。
そういう意見も無しに出てけとか氏ねとかはないと思うがね。
0635デフォルトの名無しさん
NGNG否定されると否応なしに『氏ね』なんだろうなw
0636デフォルトの名無しさん
NGNG反論して欲しけりゃまともな意見を書け。
このスレはお前の理解力の足りなさを補ってやるスレではない。
0637デフォルトの名無しさん
NGNGわからなかったら使わなければいいではないか。
なぜ必死になってその価値を貶めようとするのか理解不能。
それから議論したいのなら、修辞疑問じゃなくてちゃんとした意見を書け。
0638デフォルトの名無しさん
NGNG>>634の列挙を見るとそんな感じに見えるんだが。
Agile Modelingのようにプロセス自体とは別ものだと思ってたよ。
0639デフォルトの名無しさん
NGNGこれじゃ beck も可哀想だw
自分達の使うものをちゃんと消化出来てない証拠だろ。
>>636
どこがまともじゃないんだ?
ちゃんと問題点を挙げているだろ。
0640デフォルトの名無しさん
NGNG読んでないから知らんけど>>634氏によると、不適切な暫定コードが
あってもずっとグリーンバーで、その暫定コードが残らないための頼りが
プログラマの注意力しかないって事なんだよね。そうなん?それは嫌だ。
>>634氏の誤読だとしても、疑問自体はシンプルだし何より互いに実物
持ってるし、ちゃんと読解した人ならページ数を示して正しい解釈に導く
とかできそうなものだけど。
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNGあのー、どのページとか言うレベルじゃなくてそう言う開発法でしょTDDは。
最初に定数でもダミーでも良いからコード書いてテストを通すという。
ちゃんと読んでる?
0643デフォルトの名無しさん
NGNGお前が「問題点」としている単なる疑問の答えは、すべてTDDの本に載っている。
わからないとすればそれはお前の理解力の足りなさのせいだ。
質問したいなら具体的に質問しろ。
議論したいならまともな意見を書け。
具にもつかない疑問を垂れ流しておいて「質問に答えられないのか、それじゃ議論にならん」
じゃそれこそ議論にならん。
>>640
なんでいちいちページをあげてアフォの疑問を解決してやらねば
ならないのかわからん。
興味が無かったり、やりかたがわからないんなら使わなければ
いいだけのことでは?
0644デフォルトの名無しさん
NGNG> 読んでないから知らんけど>>634氏によると、不適切な暫定コードが
> あってもずっとグリーンバーで、その暫定コードが残らないための頼りが
> プログラマの注意力しかないって事なんだよね。そうなん?それは嫌だ。
そのとおり。
それが嫌ならTDDはするな。
0645デフォルトの名無しさん
NGNG>テスト通すためにあんな下らないソース埋め込まなきゃならないの?
Yes
>テストが通るまでコード書いて通ったら次へ行くという形じゃないのか?
No
>あれじゃ次に行くタイミングを失敗したら変なコードが残りまくりだろ。
Yes
>定数にしている部分を直すのを忘れるなんて事日常でありそうだぞ。
Yes
>人間はミスをするという考えに元付いてやっているんじゃなかったのか?
No
>あんなに無理矢理テストをパスさせる必要性が解らん。
それがTDDだ。
全部答えてやったぞ。
0646デフォルトの名無しさん
NGNG定数にしている部分を直すのを忘れるというミスは、
十分なテストケースを書くことで防ぐんだと理解してる。
テストケースはテストの仕様書であると同時に製品コードの仕様でもある。
件の本では、テストケースと平行して紙か何かに実装したテストケースを書いていて、
これで実装した仕様の一覧を管理してた。各章にあるよね?
あと、テストを通すだけの無駄なコードを書いているという点だけど、
あれは問題を簡単にするためのもので、実際の開発では
不要だと思えば省いてイイと解釈している。
件の本でも「ここはスピードアップする」とか何とか断って
テストを通すだけのコードを書くのを省いてるだろ?
「引数xが13〜19の範囲ならtrue、そうでないならfalseを返す」
なんて単純なメソッドで、return (x >= 13) && (X <= 19);と実装すればいいことが
すぐに分かるようなら、いきなりそう書いてxに12、13、19、20を与えるテストケースを
書けばいい。
それが思いつかないようならテストケースとでっち上げのコードを書く。
テストケースとそれを満たす実装をごりごり書いているうちに
カバレッジ100%の実装が手にはいるっていう寸法だ。
ところで、TDDではテストケースがクラスの仕様と同じ意味を持つ、
と俺は理解しているんだが、
このテストケース=クラスの仕様書がソフトウェアの要求仕様を
満たしているのか、という疑問が当然湧いてくるけど、
それについては答えてないよな。まあ、それはレイヤーが違ってことなんだろ。
これは別にTDDに限らず存在するわけで。
0647デフォルトの名無しさん
NGNG>手元に原書しかないのでページ数を示せないが、
「手元に原書しかない」と「ページ数を示せない」の因果関係が解らん。
0648デフォルトの名無しさん
NGNGそれを補うのがペアプロ
0649デフォルトの名無しさん
NGNG真性馬鹿登場。荒らすなよ?
0650デフォルトの名無しさん
NGNGなんで手元に原書しかないとページ数示せないんだよ?
答えろやヴォケ
0651デフォルトの名無しさん
NGNGはいはい、さよなら。
いつまでも厨っぽいレスしててください。
>>646
> テストケースと平行して紙か何かに実装したテストケースを書いていて、
> これで実装した仕様の一覧を管理してた。各章にあるよね?
これはXPで言うところのストーリーカードに当たると思うんだけどこれでテストケースのミスを防げるものかな?
>>640の言うようにその暫定コードが残らないための頼りが プログラマ注意力しかないって言う問題は残ると思うけど。
テストを分割して粒度を小さくしていけば多少は防げるかも知れないけどねまぁ、そこらヘンの天秤は微妙だ。
> あと、テストを通すだけの無駄なコードを書いているという点だけど、
> あれは問題を簡単にするためのもので、実際の開発では
> 不要だと思えば省いてイイと解釈している。
自分はそうは思っていない。
荒れ野役割はテストがちゃんと機能することを実証するものだと考えている。
インターフェースの確定と言えばいいかな。
だからもしTDDをするなら省いてはいけないだろう。
beck 異常に定規でしこたま手を叩かれる。
あのスピードアップは本の特性上のモノで鵜呑みにしてはならないだろうただ上記のインターフェースの確定がダミーコード残留と天秤にかけて勝るのもなのか自分は疑問だな。
ダミーコードで通しても良いが次の瞬間それを全部削除するくらいの意識がないと本当の意味でのTDDとは言えないと思う。
> ところで、TDDではテストケースがクラスの仕様と同じ意味を持つ、
> と俺は理解しているんだが、
これは同意。
まぁ、言うようにレイヤーが違うが。
ここは受け入れテストで解決する問題。
0652デフォルトの名無しさん
NGNG↓
あれの役割はテストがちゃんと機能することを実証するものだと考えている。
0653デフォルトの名無しさん
NGNG1.テストケースを書く
2.ダミーコードを書く⇒緑/テストケースとの連携を確立
3.ダミーコードを消す。⇒赤/不完全なコードをはじく事を実証
4.本物のコードを書く⇒緑/コードが正しい事を実証
2と3が充分にくっ付いていてアトミックな動きなら、悪くないな。
てか全面的にではないにせよ普段やってるかも。
0654デフォルトの名無しさん
NGNGそう、そんな感じ。
コストも消すだけだからほとんど無いし。
あと、TDD でいけば論理上カバレッジ100%になるとは思うんだけど本当にそううまくいくかねぇ
テストケースの取捨選択で切り捨てるものを見極める目がないと結構ドツボにハマりそう。
ここらは経験だろうな。
0655デフォルトの名無しさん
NGNG荒らすのが目的なら来ないでくれまいか。
0656655
NGNGそうではなくて、本当に議論するのが目的なら、名前に番号でも入れてくれ。
本当に>>630=>>651なのか?もしそうだとしたら、>>630は釣りと言われても
しかたないような書き込みだったぞ。
0657デフォルトの名無しさん
NGNG毒にも薬にもならないチャチャはハッキリ言って邪魔。
646や651の方が見てて面白い。
0658デフォルトの名無しさん
NGNGそれを示しても意味が無いからでしょ。
まぁ、chapterですりあわせをすればいいだけの話だが。
つーか、そんなとこに噛み付いて荒らすなよ。
0659デフォルトの名無しさん
NGNGそうか?>>646や>>651はほとんど本に書いてあることで退屈なんだが。
0660デフォルトの名無しさん
NGNGお前らみんな邪魔なんだけど。氏んでくれる?
0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNGダミーコード消す手法なんか書いてあったか?
0663デフォルトの名無しさん
NGNG2chが邪魔と・・・
0664デフォルトの名無しさん
NGNGダミーコードを消す手法って何?>>653に書かれてるやつ?
だとしたら、TDDではそんなことやらないよ。2->4に直接行く。
0665デフォルトの名無しさん
NGNG1. テストを書く -> テスト対象が未実装なのでコンパイルエラー
2. コンパイルが通るだけの最低限の実装を書く -> レッドバーになる
3. テストが通る最も簡単な実装を書く -> グリーンバー
4. いーかげんな実装でテストがパスしてしまうようであれば、テストが不十
分なのでテストを追加する(三角測量とかいう表現)
5. 3と4を何回か繰り返し、十分なテストと、それにパスできる実装が実現で
きたら、リファクタリングを行い、冗長性とかわかりづらい表現を取り除く
リファクタリングフェイズで、あらためてソースを見直すので、原則的には後
で取り除くべきことを記憶しておかねば*ならない*ということはないはず。
実装時にちょっと気を使えば余計なリファクタリングの手間が減るじゃん、と
か思うかもしれないが、後から見直すことによって気がつくことも多いので、
必ず最後にリファクタリングを行うべし、ということだと思う。
テストを書くときと、実装を書くときと、リファクタリングをするときで、仮
想的に人格を使い分けることが求められるので、「あほくさ」と思う人もいる
んだろうな、という気はする。
0666デフォルトの名無しさん
NGNGちょっと違うと思う。リファクタリングはもっと頻繁に行われる。
1. テストを作成する
2. コンパイルできるようにする
3. 実行して、失敗を確認する
4. 動作させる
5. 重複を取り除く
というのがTDDのフェーズで、TDDのマントラに対応させると
Red(1-3)/Green(4)/Refactor(5)
だと書かれてる。
>>665の4は5.重複を取り除くに含まれると俺は思います。
TDDで言う"Refactor"と、『リファクタリング』のrefactoringはレイヤーが違うと思う。
0667デフォルトの名無しさん
NGNG俺はAmazonのClayton Carneyのレビューが気になるんだけど、とりあえずオーダーしたよ。
他の三人は星5つなんだけどなあ…
0668デフォルトの名無しさん
NGNGいくら訳がひどいといっても、お前らの読解力はなさすぎだぞ。
その上で、「ここの解釈はどう?」みたいな話をやってくれよ。
特に>>651,653、お前らだ。「どこが間違ってるか指摘しなよ」なんて
厨っぽいこと言う前に、もう一回TDDを読み直せ。
0669デフォルトの名無しさん
NGNG>beck 異常に定規でしこたま手を叩かれる。
定規で手を叩かれるのは、テストより先に実装を考えようとした場合。
TDDの粒度を自分のペースに制御することについては、しつこいぐらい書いてあるだろ。
0670デフォルトの名無しさん
NGNG668の読解力もたいしたものだ。レス番号の間違いだと好意的に解釈したいが。
0671デフォルトの名無しさん
NGNG議論にならないのは、自分がスタートラインに立ててないからだと気づかないんだろうか。
ちょっといじられると逆切れして暴れちゃうし。
0672デフォルトの名無しさん
NGNGいや番号はあっている。
彼らは根本的な誤読をしているからTDDの再読を勧めるのだけれど、
そのように書くと「どこが間違ってるか具体的に指摘しろ」ってことに
なりがちで、されにあきれてスルーすると「やっぱり指摘できないじゃないか」
という流れになるのは火を見るより明らか。
最近そういう奴らがおおいから。ム板でもマ板でも。
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNG大事なんだよ。それぐらい読み取れよ。
0675デフォルトの名無しさん
NGNG>テスト通すためにあんな下らないソース埋め込まなきゃならないの?
と書いているが、>>651は
>荒れ野役割はテストがちゃんと機能することを実証するものだと考えている。
>インターフェースの確定と言えばいいかな。
って書いてるよ。
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGふたりとも(ひとり?)原著を読んでいるような雰囲気だがだとするとそれ以外の
誤読の多さを見ると、よほど訳がひどいんだろうな(w
0678デフォルトの名無しさん
NGNG> あと、テストを通すだけの無駄なコードを書いているという点だけど、
> あれは問題を簡単にするためのもので、実際の開発では
> 不要だと思えば省いてイイと解釈している。
TDDは「不安を可能な限り取り除くメソッド」だからコードの実装に数分以上
かかるようなら、テストを通すためのコードを先に書いとけ、ってことだと思う。
「なかなかグリーンになんねー」じゃなくて、最初にグリーンにしといて「う、レッド
になっちまった」の方が、誤りを検出しやすいってことだと思う。
0679デフォルトの名無しさん
NGNGもしそうだったら、それこそ「読んでからで直せ」だな。
自分の想像で間違ったTDDを宣伝されちゃかなわん。
0680デフォルトの名無しさん
NGNG>あと、TDD でいけば論理上カバレッジ100%になるとは思うんだけど本当にそううまくいくかねぇ
TDDを読んでいればこんな疑問が沸くはず無い。
100%にならない要素はどこにもない。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGもうこのスレではTDDの話題禁止!
0683デフォルトの名無しさん
NGNG参加してるメンバーも同じようなメンバーじゃないの?ヤレヤレ
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGいつまでも厨っぽいレスしててください。
いつまでも厨っぽいレスしててください。
いつまでも厨っぽいレスしててください。
いつまでも厨っぽいレスしててください。
いつまでも厨っぽいレスしててください。
いつまでも厨っぽいレスしててください。
いつまでも厨っぽいレスしててください。
0689デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGカバレッジ解ってる?
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNGみなさん議論下手糞ですね。
そもそも匿名同士の議論なんて無理なのかもしれませんが。
議論する人、コテハンとかトリップ付けるってのどうですか?
もちろん名無しさんによるジサクジエン援護射撃もありです。
最低限レス番号は必ず指定して欲しいです。
0694デフォルトの名無しさん
NGNGではお前の想像は完全に間違ってる。Q.E.D.
0695デフォルトの名無しさん
NGNGつーか、相手が馬鹿すぎて議論にならないんですが。
0696680
NGNGTDDでやれば100%にならないはずはないだろうが。
0697680
NGNG「正しく実践できるかどうか」がわからないので、100%のカバレッジにならない
かもしれないということか?
だとしたら、それはその通りで、正しく実践できなければ100%のカバレッジには
ならない。
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG>言葉少なでレスが誰に対するものなのかさっぱりわからない。
>みなさん議論下手糞ですね。
>そもそも匿名同士の議論なんて無理なのかもしれませんが。
基本的に議論のスキルがないだけでしょ。
論理的思考能力にも欠けてるみたいだし。
アフォばっか。
0700デフォルトの名無しさん
NGNGお前マジいらん。氏んで。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG君らが知りたいことは全部本に書かれてるよ。
つーか本嫁、ヴォケ。スレを汚すな。
0703デフォルトの名無しさん
NGNGお前らもいらない。芯でいいよ。
0704デフォルトの名無しさん
NGNGあっそう。
じゃ本読んでから出直してよね。
0705デフォルトの名無しさん
NGNG俺はム板のスレは少ししか見ないが、ひょとして他のスレもこんなかんじ
なのかなぁ。前はもうちょっとまともだったような気がするんだけど。
0706690
NGNGそんなムキになるなよ。
>>653は>>651へのレスだから。
信者はとりあえず置いといて、同じような議論がc2.comにもあった。
http://c2.com/cgi/wiki?TestDrivenDevelopment
JohnRusk? worries one danger of TestDrivenDevelopment is that
developers may _not_ take that step that you take. I.e. developers
may stay with overly concrete code that satisfies the tests but not
the "real" requirements.
で、本来UnitTestはPass/Fail/Fakedの3ステートを持つべきだとか、
なかなか面白い話が載ってる。
ちなみに>>646の「十分なテストケース」は否定してPairProgrammingを
あげてる箇所もあった(>>648のように)。単体では不十分なプラクティスが
互いを補う好例という事らしい。この辺り、TDDの独立性を主張する人が
いたら対立点になるだろうな。
ま何となく分かってきたし、本は要りそうにないな。
0707デフォルトの名無しさん
NGNGバグ埋めこんだら結局デスマーチですよね。
結局何人に増えようが同じ事です。
そもそも塵芥戦術は不実雨の得意とする戦略なんで、真似したくないですよね。
0708デフォルトの名無しさん
NGNG目の前の仕事を片付けろってこった。
しょせんXPなんて顧客と上司が納得するわきゃないんだしよ。
XPもアジャイルもRUPも死滅!これからもこの先もWFで決まり!
0709デフォルトの名無しさん
NGNG0710690
NGNGボヤキは良いから、なんか意見書け。
てか俺と一緒にTesting Patterns丸暗記しようぜ。
AbstractTest CoverTheGraph
CodeUnitTestFirst DefectSeeding
EncapsulateNewForTestability ExpectedResult
GuruWritesAutomatedTest JournallingPattern
MockObject MutationTesting
OptimizationUnitTest RandomTesting
ShuntPattern SupportingUnitTest
TacticalTesting TestBoundaryConditions
TestEnvironments TestEverythingThatCouldPossiblyBreak
TestEveryRefactoring TestingErrorHandling
TestNull TestOverridesNow
TestPrintedOutput TestTransactions
TestsAsScaffolding TouchstoneBuild
UnitTestAsTickler UnitTestDelegator
UnitTestingJavaEvents VirtualClock
AsynchronousUnitTesting BigBangTesting
CodeAndFix GuruChecksOutput
TestByReleasing TestingByPokingAround
TestInQuality TestOnlyWhatWorks
TestOnlyPositively
TestDatabase
0711デフォルトの名無しさん
NGNGこの時点でデスマーチって、
い わ な い か ?
0712デフォルトの名無しさん
NGNGデ ス マ ー チ や ら な い か ?
0713デフォルトの名無しさん
NGNG同僚となんか気持ち悪くてできない。
XPはもうこの時点で破綻している。
0714デフォルトの名無しさん
NGNGXPはファンタジーなんだって思う。
本買う奴って指輪物語とか読んでるだろ。
キショイ
0715デフォルトの名無しさん
NGNGまぁ何度も言うようだけど、君の言ってる論点はすべてTDDに出てるんだが。
何で読まないんだろうねえ?ひょっとして貧乏人?(w
0716デフォルトの名無しさん
NGNG発想が短絡的だな。
貧乏人でも図書館とか使えるだろ。
身元を証明できない様な橋の下の住人とかだな。
0717デフォルトの名無しさん
NGNGISOに準拠とか。そういう基準を満たす努力だけしてればいいんだよ。
役に立つかどうかも判らない方法論の本なんか読んでも飯は食えないよ。
0718デフォルトの名無しさん
NGNG他はもう盲信しているだけの考えることを投げた奴等ばかりだな。
常にテストの粒度を最低限に出来ると思いこんでいるのもイタい。
これじゃ実践的で柔軟な対処は出来ないだろう。
先にテストをパスさせる方法はこういう場合のイリーガルな揺れに弱い。
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGよくわからんが、どっちかの自作自演と見た。
0721デフォルトの名無しさん
NGNG議論のやり方を勉強してから出直したほうがいいよ。
0722デフォルトの名無しさん
NGNG意図以外の匂いを感じられません。
よってジサクジエンと断定します。
0723デフォルトの名無しさん
NGNG誰か、まともな意見のポインタ張ってくれない?
読む気にならん。
0724デフォルトの名無しさん
NGNGなんか「本に書いてある」とか突っ込んでるだけで具体例まるでないし。
第三者的に見てどっちが無能か丸わかりなんだが。
0725デフォルトの名無しさん
NGNG短文=ただの煽り屑
だいたい合ってる?
0726デフォルトの名無しさん
NGNG> ボヤキは良いから、なんか意見書け。
だれか早く690に対して意見書けYO!!
0727デフォルトの名無しさん
NGNGその Testing Patterns ってどこに載ってるの?
ひょっとして本でてる?
0728デフォルトの名無しさん
NGNG禿藁
そして同意w
0729デフォルトの名無しさん
NGNGこの度、客先に常駐して社内の情報システムの開発を請け負うことになりました。
企業文化とでもいうのでしょうか業務が動けばいいという考えが強いです。
すでにデータベースはプロパーの方が先走って作成しまっており
無数の責任の所在が不明なプログラムが右往左往しながら
うまく動かないところは人海戦術で無理矢理運用しているという状態です。
このような状態で他の部署のシステムと連携してしまったらしく
今動いているところはそのままの仕様でお願いすると提言されました。
問題なのはこの状態が異常だという認識がまったく無いということです。
開発プロセスの適用はおろかドキュメント作るのも無駄な作業だというレベルです。
提示される要求定義について論議する場を与えられず困惑しています。
この要求にある機能の影響範囲を聞いたのですが「煩わしい、業務の邪魔だ」と一喝されます。
要求定義書というものの内容の粒度が大きいものから細かすぎるものまで混在しています。
この要求定義書から実装をせまられます。
不明なところは手で運用したり個別にメールで対応しSQL直打ちで対応すればよいとのこと。
開発プロセスの重要性を説明したのですが業務に対して直接作用するものではないので
無駄な作業だと頑として異を唱え続けています。論議する場を与えてくれません。
こうしている間にもプロパーの方々が次々にプログラムを作ってます(品質は最低)。
ここで説明した開発プロセスはXPとかRUPとかいった具体的なものではなく
「システム開発とは何ぞや。プロジェクトとは何ぞや」を重点的に説明しました。
この会社、一般の人からみると名の知れた堅実な企業ですよ。
0730デフォルトの名無しさん
NGNG社内業務で無駄な工数増やすこともない。
0731デフォルトの名無しさん
NGNGなんかウチの会社のような・・・汗
個人でリファクタリングをするぐらいが精々だと思いますよ。
最後まで情報の齟齬でもたつくので時間も取れず、まともなテストケースを書いてる時間は貰えないでしょう。
粒度が大きくなりTDDすらおそらく実践出来ない。
でも、現実として多いですよこういう企業。
0732デフォルトの名無しさん
NGNGドカティな意見だね。
0733デフォルトの名無しさん
NGNG効果ないと思われ。まずはゲリラ的に実践すれ。
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGじゃあ手書きからバッチジョブぐらいでどうだ。
0736デフォルトの名無しさん
NGNG名無しって便利やねー
0737デフォルトの名無しさん
NGNG|つーかさ、プログラムも流れ作業にできないの?
|ISOに準拠とか。そういう基準を満たす努力だけしてればいいんだよ。
そうさせるために様々な方法論が考案されて華々しく散っているわけだが?
0738デフォルトの名無しさん
NGNG706以来みんな怖じ気づいちゃってるからさぁ
このままじゃワンサイドゲームになっちゃうぞw
ちなみに690じゃ無いよワシ。
0739デフォルトの名無しさん
NGNG>>690もここで議論したいだなんて思ってないと思うよ。
0740デフォルトの名無しさん
NGNG何の意見を聞きたいんだ
0741739
NGNGTDDに関しても議論する余地だしなし。
0742デフォルトの名無しさん
NGNG余地なしだし、だな。
0743デフォルトの名無しさん
NGNG0744729
NGNG「今週中までにデータつくりたいので木曜日の昼までにプログラム作ってくれ」とか。
利用者からの電話は鳴りまくりその都度対応しているのが目立ちます。
利用者のメールサーバのデータがトンでも
「復元できないので再送してもらってください」など運用もずさんです。
問題がさらなる問題を発生させるどうしようもない状態です。
上の人に理解と協力を求めているのですが
どうも現状の混沌とした状態を維持するのが手一杯です。
それを解決させるためにあなたたちに今回の仕事をお願いしたんだから何とかしろと非協力的です。
今回の開発を正当化するところからはじめないと駄目なようです。
ノウハウ本などの情報と経験則から得た知識から知恵を搾り出し
話の持っていき方なども考慮しつつ説明しているのですが
建設的な作業だと察すると不機嫌になり破壊的な論議にもっていこうとします。
すでに行き詰まってしまいました。
よきアドバイスを願います。
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNGだから 690 じゃ無いってのw
690 の考えるテストとチミ達が信じてやまない(盲信?) TDD のぶつかり合いを見たい訳よ。
今のままだと 690 のワンサイドだよ?
わかる?
チミ達下らないことしか言ってないしね。
0747デフォルトの名無しさん
NGNG「できません」って言えないのか
0748デフォルトの名無しさん
NGNG小学生?
0749デフォルトの名無しさん
NGNGもう少し考えをまとめて簡潔に現状説明をして、何に対するアドバイスが欲しいのかを
明確にしたほうがレスもらいやすくなると思うぞ。少なくとも俺は読む気が全く起きなかった。
0750デフォルトの名無しさん
NGNGチミ達って、おまえ偉そうだな
0751デフォルトの名無しさん
NGNGつまり精神的に苦痛だと。
0752デフォルトの名無しさん
NGNGいや、ちょっと面白いかなと思ってw
0753デフォルトの名無しさん
NGNGどうでもいいけど、君の意見でも690に献上して差し上げたら?
0754デフォルトの名無しさん
NGNGつき合ってくれる?
0756デフォルトの名無しさん
NGNGしつこく本読めって言われてるんだから、一度読めば?
話が進展しそうにない気がするけど。
0757デフォルトの名無しさん
NGNG0758729
NGNGこのような状態では開発は始められないと伝えています。
担当者レベルから直接依頼されるものにも保留にしています。
今の業務を回せと目先の利益を求められるつつ、
この混沌とした状態を何とか解決しろと滅茶苦茶です。
業務分析に協力してくれるひとは居ません。
0759デフォルトの名無しさん
NGNGぱっとこのスレ読んだ感じだけど TDD はグリーンバーにしてから本実装なんでしょ?
違ったか?ようわからんがそのはずだw
それに対して690(651も?)はそれ以外でもやり方あるんじゃねぇかゴルァ!!って言ってる・・・ような気がする。
とりあえずアカに一回戻せや!!みたいな。
706 でテストの状態を示したりいろいろな方法論を提示しているわけだから、それを盲信するチミ達は
それに立ち向かわなきゃアカン!!アカンがな!!
って事。
ちょっと、はっちゃけ過ぎた、テヘッ
0760デフォルトの名無しさん
NGNGヽ(`Д´)ノ ダカラチガウッテイッテルダロ!!
0761デフォルトの名無しさん
NGNG負荷を与えて業務を一旦停止させたらどうだろう。
名の知れた企業なら多分億単位の損失だよね。
まあ問題点浮き彫りになるまでガンガレとしか。
0762739
NGNG>ぱっとこのスレ読んだ感じだけど TDD はグリーンバーにしてから本実装なんでしょ?
>違ったか?ようわからんがそのはずだw
あってる。
>それに対して690(651も?)はそれ以外でもやり方あるんじゃねぇかゴルァ!!って言ってる・・・ような気がする。
>とりあえずアカに一回戻せや!!みたいな。
>706 でテストの状態を示したりいろいろな方法論を提示しているわけだから、それを盲信するチミ達は
>それに立ち向かわなきゃアカン!!アカンがな!!
アカに一回戻したかったら戻せばいいじゃない。
誰もそうすることに反論はしていないと思うよ。
ただそれはTDDとは違うと言う話であって、TDDと「それ以外のやり方」の優劣を議論
したいのだったら、それなりの問題提起をしてくれないとお話にならないんだけど。
0763デフォルトの名無しさん
NGNGうーん・・
0764デフォルトの名無しさん
NGNG何で立ち向かわなきゃアカンのか理解不能。
君が690にシンパシーを感じるなら、彼らと議論すれば言いし、
TDDに反感を持っているなら論点を提示すればいいのでは?
0765デフォルトの名無しさん
NGNG> アカに一回戻したかったら戻せばいいじゃない。
> 誰もそうすることに反論はしていないと思うよ。
ウソーン!!
みんな突っ込んでたじゃん!!
> ただそれはTDDとは違うと言う話であって、TDDと「それ以外のやり方」の優劣を議論
> したいのだったら、それなりの問題提起をしてくれないとお話にならないんだけど。
706のリンク先じゃダメ?
0766デフォルトの名無しさん
NGNGそれじゃツマランだろうに。
それにTDDには別に反感持ってないし本も持ってないしw
でも、だいたいググってどういうものか解ったけどね。
ただ、盲信っぷりが凄いんでその信心がどこから沸いてくるのかは興味がある。
0767729
NGNG・開発プロセスや新技術導入を正当化するには?
異を唱える人にはどう説明すればよいか?
・システム開発において
運用部門の協力が必要ということを理解してもらうには?
・人海戦術をモットーとする指導者とどう説得するべきか?
・イレギュラーパターンを処理すること=高い評価という文化とどう向き合うか?
0768739
NGNG>>653のことか?あれはTDDをそのように実行するという話だと思われたからつっこまれたんでしょ。
全く違う話だったら、>>653の通りやりたければやればいいじゃん。
>706のリンク先じゃダメ?
そのリンク先の内容について議論したいんだったら君がすれば?
どうして他人を引っ張り込みたいのかわからん。
0770デフォルトの名無しさん
NGNG正直TDDの信仰とかどうでもいい。
0771デフォルトの名無しさん
NGNGそいつを辞めさせる
> 運用部門の協力が必要ということを理解してもらうには?
賄賂を渡す
>・人海戦術をモットーとする指導者とどう説得するべきか?
体を売る
>・イレギュラーパターンを処理すること=高い評価という文化とどう向き合うか?
高い評価を受けている奴を辞めさせる
0772デフォルトの名無しさん
NGNG>どうして他人を引っ張り込みたいのかわからん。
最近の発言は全部690の自作自演だから、690が自分にかまってかまってと
言ってるに過ぎないと思うぞ(w
0773デフォルトの名無しさん
NGNGツマラン!!お前の話はツマラン!!
ってのはさておき、話を変えてTDDって実践してる?
それだけ聞きたい。
反論もしないんでそれだけ教えてくれ!!
あと、常に今のプロセスが最前かどうか気になったりしない?
気にならないなら良いけど・・・
> 俺が見る限りTDDを妄信しているような奴はいないと思うけど。偏見じゃないの?
えっ・・・マジデソウオモッテルンデツカ (((((;゚Д゚)))))ガクガクブルブル
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGだから、違うっちゅーてるだろうに!!
ウガー!!
オレはもっと頭悪いわい!!
0776デフォルトの名無しさん
NGNG0777739
NGNG>ってのはさておき、話を変えてTDDって実践してる?
>それだけ聞きたい。
自分ひとりでは実践したりしなかったり。
周りに広めようとは思わない。面倒だし。
> あと、常に今のプロセスが最前かどうか気になったりしない?
気にならない。
>> 俺が見る限りTDDを妄信しているような奴はいないと思うけど。偏見じゃないの?
>えっ・・・マジデソウオモッテルンデツカ (((((;゚Д゚)))))ガクガクブルブル
見解の相違だな。たいていの場合は○○を知らない人が○○について語ってる人を
「○○の信者」って言ってるに過ぎない場合が多いし。それにその人が信者であろうが
なかろうが、議論の妨げにはならないし、俺には関係ないことだし。
「○○の信者」なんてネガティブな話するより「○○のエバンジェリスト」って評価してあげたら?
0778デフォルトの名無しさん
NGNGしてるよ。癖になるよ。
>あと、常に今のプロセスが最前かどうか気になったりしない?
最前の意味が分からんけど、別に気にならないな。
>> 俺が見る限りTDDを妄信しているような奴はいないと思うけど。偏見じゃないの?
>えっ・・・マジデソウオモッテルンデツカ (((((;゚Д゚)))))ガクガクブルブル
俺も妄信者はここに出てきて無いと思うんだけど。
TDD本を読まずにTDD本の批判議論に首を突っ込もうとする奴を非難しているだけじゃねーの?
0779デフォルトの名無しさん
NGNGお前の方がムキになってるように見えるが。
それに、自分に意見してくる奴を「信者だから」と切り捨てる態度はかっこ悪い。
「信者だから」などといわずに、ちゃんと反論しろよ。
それから「TDDの独立性」って何?
0780デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG恥ずかしくて出てこれないんでしょ
0783デフォルトの名無しさん
NGNG実践したりしなかったりかぁ
まぁそんなもんだよな〜
> してるよ。癖になるよ。
おぉ〜!!癖になるか!!
どんな感じよ。
例の「テスト中毒」ってやつか?
で、十分細かい(なんだ気取って言うと粒度が小さいだっけか?)テストか?
それで、予想だとソースよりテストの方がデカくなりそうだがどうだ?
ぜひ、ぜひ教えてくれ!!
> 最前の意味が分からんけど、別に気にならないな。
タイポしちゃたYO−!!
本当は『最善』のって書きたかったんじゃ〜
ほら、常に疑問を持っていたいじゃん。
「本当にこれが一番効率が良いのか?もっと良い方法があるんじゃないのか?」
とかさ。
ベックもいろいろ考えて常に、あーなんだその開発方法を流動的に変えてきているような気もするしさ。
ってひょっとして変えてない?
まぁ、いいや。
> TDD本を読まずにTDD本の批判議論に首を突っ込もうとする奴を非難しているだけじゃねーの?
本読まなくったってだいたいググって解ったって言ってるじゃんよー
TDD自体そんなに中身なさそうじゃんかー
>>781
だから、違うっちゅーてるだろーに!!
ウギャーーーーーーー!!
0784デフォルトの名無しさん
NGNGスマソ、781よ。
とりあえず、粒度の小さいクソでもしてくるよ(鹿系)
0785デフォルトの名無しさん
NGNG>> TDD本を読まずにTDD本の批判議論に首を突っ込もうとする奴を非難しているだけじゃねーの?
>本読まなくったってだいたいググって解ったって言ってるじゃんよー
>TDD自体そんなに中身なさそうじゃんかー
そいつがいわれなき中傷をしさえしなければ読んで無くても問題ない。
>>630みたいなのにつきあおうとすれば、こちらがいちいち相手の間違いを
正してやる必要がある。それにそういう奴に限って、なぜだか自分の知識や
論理的思考能力や文章能力に自信があって、手が付けられんのだよ。
たいてい荒らすだけ荒らして、捨て台詞はいて消えるのがオチだろ?
0786デフォルトの名無しさん
NGNG>で、十分細かい(なんだ気取って言うと粒度が小さいだっけか?)テストか?
なんでこれを知りたいのかわからん。
粒度の細かいテストを書けば細かくなるし、そうしなければそうならない。
それだけのことでしょ?ただし後者のやり方はTDDではないけどね。
>それで、予想だとソースよりテストの方がデカくなりそうだがどうだ?
普通は「テストコード>=ソースコード」くらいになるよ。
0787デフォルトの名無しさん
NGNG4行目以降は778へのレス。
まぁ、普通解るからいっかー
>>785
2chなんだからあの程度普通じゃん。
違うの?
見ているかぎりここの住人って非常に耐性無いように感じるんだよなー
もっと頭の切れるヤツが出てきてスパッとやったら見てて面白かったのに。
たまにいるじゃん、そう言うヤツ。
颯爽と現れるクールでスマートなナイスガイにオレはシビレル憧れる〜
>>785
> >で、十分細かい(なんだ気取って言うと粒度が小さいだっけか?)テストか?
>
> なんでこれを知りたいのかわからん。
それはさー、このスレ見てると
『カバレッジ100%!!添加物いっさい無し!!』
みたいなのが書いてあるからさー
c1/c2通すんだったら細かくせにゃならん!!
お前に娘はやらん!!
って感じなワケでしょー
どのレヴェルまで細かくしているのかオジサン気になっちゃるんだわ。
まぁ、まだ若いけど。
最低限全てのメソッドには通すと思うんだけど、例外とかスレッドや通信の処理とかいろいろテスト入れていくと
結構とんでもないことに・・・ (((((;゚Д゚)))))ガクガクブルブル
> 普通は「テストコード>=ソースコード」くらいになるよ。
万行単位のコードだと地獄を見そう。
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNGお前も本読め。お前の知りたいことは全部載ってる。
他人に甘えるのもいい加減にしろ。
0790デフォルトの名無しさん
NGNGだから俺が>>631でスパッとやってやっただろ。
結局あれが全てだっただろう?
「もっと頭の切れるヤツ」?笑わせるなよ。>>630以降のどこに頭を使うような問題が
出てきたよ?
0791デフォルトの名無しさん
NGNG頭のいい奴は、こんなウンザリするような展開になるのがわかりきっている議論に
自分の時間を使おうとはしないだろうよ。そんなこともわからん馬鹿なのか、お前は。
0792デフォルトの名無しさん
NGNGなんだとーこの野郎やるかー
キシャー!!
>>789
なんだとーこの野郎やるかー
キシャー!!
ところでチミはなんでこのスレにいるのよ。
>>790
> だから俺が>>631でスパッとやってやっただろ。
自画自賛(・A・)カコワルイ!!
じゃー、TDD者同士が普段TDDを実践して感じる疑問とかぶつけ合えよー
お前らツマランよー
ツッコミだけはそんなにリキ入れても面白くないじゃろー
0793デフォルトの名無しさん
NGNGそれじゃ女の子に嫌われちゃうぜ!!
0794デフォルトの名無しさん
NGNG>じゃー、TDD者同士が普段TDDを実践して感じる疑問とかぶつけ合えよー
なぜ「じゃー」になるのかわからん。
TDDのこともっと知りたいの?何で本読まないの?
TDDの偉い人とめぐり合いたければ、xp-jpをヲチして問題提起すれば?
0795デフォルトの名無しさん
NGNGあんまり友達いないでしょ?
0796デフォルトの名無しさん
NGNG0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG>『カバレッジ100%!!添加物いっさい無し!!』
>みたいなのが書いてあるからさー
>c1/c2通すんだったら細かくせにゃならん!!
お前がいつもやっている後付のテストの枠組みから発想の転換ができなければ、
いつまでたってもその疑問は解消しないと思うぞ。
ほかの奴も言ってるが、まず本読んで実践してみろよ。結局のところ、その答えは
お前がどうするかによるということがわかるはずだ。
銀の弾なんて存在しないんだよ。
0799デフォルトの名無しさん
NGNGTDDってやってる?
リファクタリングツールやテスティングフレームワークがカバーする範囲を
考えると、基本的な部分(NUnit、VBUnitなど)しかないJava以外の言語で
TDDをするのは結構難しい気がしてるんだが。
だれかやってる人いない?
0800デフォルトの名無しさん
NGNG(前は前者、今は後者使ってる)
リファクタリングは「重複を取り除く」ときね。確かに手作業で面倒だけど
テストがあるからまあなんとかなってるよ。
0801デフォルトの名無しさん
NGNGんでこれとかどうよ?
ttp://www.optics.co.jp/frereboard.html
ttp://www.dragon-net.co.jp/s_info/others/wbp/wbp.htm
欲しいのはマグネット無しのどこでも貼れるタイプなんだよ。
PCの筐体横についぺたぺた付箋貼ってしまうもんでね。
喪舞らも何か良さげなもんあったら上げてくれよ。
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGfreeboardは持ってる
イレーザで消す時に起きる静電気でくっつくので
接着テープとかいらないのはメリット
逆にイレーザを使わないと
1週間ぐらいで剥がれるのがデメリット
移動式ホワイトボードとしては
値段も安いし、いいと思う
>>802
凸凹してるとこでもくっつくので
壁紙の上とかドアに貼れるよ
0804デフォルトの名無しさん
NGNGそれって、ほこりとかゴミとかつかないんですか?
0805デフォルトの名無しさん
NGNGつかないねぇ
もしついてもイレーザ使うときにとれるでしょ
0806デフォルトの名無しさん
NGNGもっともホコリやゴミがつくと思うのだが。
0807デフォルトの名無しさん
NGNGセルロイドの下敷きとかを
イメージしてるんだろうけど
静電気はそんなに強くない
頭を近づけても毛が逆立ったりりしないよ
0808デフォルトの名無しさん
NGNGvbUnit使って松が。
特に難しくないよ。つーかVBのエディタが嫌いなので他のテキストエディタで編集してるくらいだからか?
0809デフォルトの名無しさん
NGNG文房具か。アジャイル話よりためになる。
0810デフォルトの名無しさん
NGNG本当に実践できている人なんていないでしょ。
onsite customer とか顧客を馬鹿にしているとしか思えない。
プログラマー視点の自分にしか都合の良くない(負担が少ない)プロセス。
0811デフォルトの名無しさん
NGNGチームごとクライアントのところにいっちゃえばいいんだよ。
0812デフォルトの名無しさん
NGNGなんだ、いつもやってることじゃん
0813Error401
NGNGこの本の目的は、以下の通り。
* Convince current XP practitioners that a tester has a valid role on the team
* Convince testing and quality assurance professionals that XP offers
solutions to some of their worst problems
* Convince both groups that testers are needed just as much in an XP
project as in a traditional development project
* Provide enough detail and practical example to allow you to either perfrom
the XP tester role yourself or work productively with a tester on
your team, whether you're an XP newbie or veteran, tester, programmer,
guide, customer, or manager
これから精読することにしますが、今現在、某SDKのテスターをやっている私には非常に
参考になりそうな予感です。
また"acceptance test"についても詳しく説明されています。XP本を全部読んだわけじゃ
ないんですが、この"acceptance testに関しては「それって何?」「どうやるの?」と
いう疑問を持っている人が多いんじゃないかと思いますが、そんな人におすすめです。
ちなみにこの本はXPの"Unit Test"をどうやるかという話ではありません。念のため。
誰か読んだ人います?
0814デフォルトの名無しさん
NGNG読み終わりました?
読み終わったら感想をおながいします。
0815デフォルトの名無しさん
NGNG参
ま
な
い
ち
誰
ハァ?
0816デフォルトの名無しさん
NGNG氏ね、糞ガキ
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821質問
NGNGどうやってテストユニットを作ればいいのでしょうか?
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG>どうやってテストユニットを作ればいいのでしょうか?
何をテストするかが判らないのか、それともテストの
書き方が判らないのかどっち?
0824デフォルトの名無しさん
NGNG新規に作成したプログラムなら xUnit を使って、
テストデータを insert, update, delete するだけのことで、
あまり悩むことはないとおもう。
すでにある DB に対してアクセスする場合は、
マスター DB のコピーを毎回とってきて
テストを実行すればよい。
すでにある DB のスキーマを変更するようなときのテストは
ttp://martinfowler.com/dbrefact/
これでも読んで頑張ってくれ。
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG0827821
NGNG結果として正しくDBのデータが書き換えられたかどうかを
確認する必要があるわけで、そこで新たに、select文を発行して
値を比較する、deleteの場合は一件も検索されないことを
確認するのかどうか、聞きたかったんですけど。
0828デフォルトの名無しさん
NGNG書き換えられたかどうかを確認する必要があるなら、新たにselectを発行
して値を比較したり、deleteの場合は一件も検索されないことを確認すればいいよ。
0829デフォルトの名無しさん
NGNG>821-825 は真っ当なレスだ。
The Dbunit Framework
ttp://dbunit.sourceforge.net/
Dbunitは、SQLの実行前と実行後の複数のテーブルのレコードをXMLで管理し、
初期化、比較、後始末の方法を提供する。
上記のページでもいいし、日本語がいいのなら
WEB+DB PRESS Vol.17に記事が載っている。
>825の言うことをやっているのがこれ。mock object。
ttp://www.mockobjects.com/wiki/
この一部としてJDBCドライバを提供している。
このドライバはAPI上ではSQLを受け取りそれっぽい結果を返すが、
実際にはDBサーバにSQLを送らずアサージョンを行う。
>624あたりが挙げた本に載ってたはず。
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG何のためにどこまでテストするかによる。
0832デフォルトの名無しさん
NGNG自分がコードに自身を持てるまでやる。
それ以上は第三者のテストにおまかせ。
ペアプロでもいいが。
0833デフォルトの名無しさん
NGNG勘違い君は氏んでいいよ
0834デフォルトの名無しさん
NGNG相手先に常駐して一緒にお仕事、なんてのはほとんど不可能です。
(やったこともありますが)
そもそも自分たちで開発するにはリソース(時間・人・技術)がないから
プロに外注しているのです。
発注した次の瞬間には別の仕事が待っています。
0835デフォルトの名無しさん
NGNG>そもそも自分たちで開発するにはリソース(時間・人・技術)がないから
>プロに外注しているのです。
本当にリソースがないなら、外注するより完成品を買ってきた方が良いですよ。
>発注した次の瞬間には別の仕事が待っています。
丸投げなら丸投げで良いですけど、顧客側が開発してほしいものではなく、
外注が開発したいものが出来上がってくるのは確実です。
0836デフォルトの名無しさん
NGNG835みたいなのはほっといて私に仕事ください
0837デフォルトの名無しさん
NGNG> 本当にリソースがないなら、外注するより完成品を買ってきた方が良いですよ。
パッケージソフトで済むなら既にそうしているだろ。
> 外注が開発したいものが出来上がってくるのは確実です。
現実それじゃ仕事がとれない。
経験が生きてくるわけだ。
馬鹿が多いねこのスレ。
0838デフォルトの名無しさん
NGNG>馬鹿が多いねこのスレ。
馬鹿は訳2名の信者だけだよ。
0839デフォルトの名無しさん
NGNG良い SE のあり方です。
0840デフォルトの名無しさん
NGNG>>837の経験で作られたものや、
>>839に丸め込まれたものが
欲しいなら、それぞれに発注すればいいんじゃない?
そうでないなら、注文する方にも自分が欲しいものについて考えるコストは必須です。
どんな買い物だってそうでしょ?
0841デフォルトの名無しさん
NGNGやってみたら激重なんですが・・・
0842デフォルトの名無しさん
NGNGAMで軽くすればいいんだよ。
0843デフォルトの名無しさん
NGNGAMなんでつか?
0844デフォルトの名無しさん
NGNGいまどき、UPやるとは、どんなコンサルにだまされたんだ。
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGhttp://hide.maruo.co.jp/software/com2hide.html
0847デフォルトの名無しさん
NGNGそういう需要がどれだけあるのかわからんがおもしろいな。
今時、TCP/IPを使わずRC-232Cのクロス接続のみというダサい仕様がなんともいえない。
さすが禿丸
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG考え方とか大好きなのですが、誤訳の多さに白本を買いそびれたままなんです。
買う価値、あるかな?
0850デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGネットワーク関係はサーバーのユニットテストとクライアントのユニットテストを同時に起動するのがいい?
それともスレッドを使って同一プロセスでテストするのがいい?
スレッド使ってて関数内でセマフォ待ちやイベント待ちになる場合、
スレッドを起こすための別のスレッドをテスト内で生成すべき?
あとテスト対象アプリケーション内で利用しているちょっとした関数を
(IPアドレスでもドメイン名からでもin_addrに変換してくれる関数とか)
テスト内で使おうと思ったんだけど、テスト対象にこの関数が入ってる以上使うのはご法度?
それともその関数をテストした上で利用するならOK?
0854デフォルトの名無しさん
NGNG"ユニット"テストなんだから通信は実際にはしないで
通信レイヤーをテスト用オブジェクトに差し替えて
通信相手の挙動を部分的に再現 & 送信されるべきものが来たか確認する。
0855デフォルトの名無しさん
NGNGテスト対象Aに依存した別の関数Bをテストする場合は
先にAのテストをし、次にBをテストするだけ。
依存関係を定義できるフレームワークなら、B用テストはA用テストに依存させることで
AがfailしたらBはテストがスキップされるようにできる。
0856デフォルトの名無しさん
NGNGSmalltalk用の92個のパターン集らしいんですがちょっと気になります。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894717549/ref=pd_sxp_elt_l1/249-4226728-6547524
0857853
NGNGその末端の通信レイヤーに当たる部分(ほとんどソケット関数のラッパークラス)を
テストしようと思ったんだけど、もしかしてこういうのってテストするものではない?
>>855
サンクスコ
0858デフォルトの名無しさん
NGNGまあそういう部分はほとんどソケット関数自体のテストみたいになっちゃうし
テストする意義は薄いけど(各関数は1行とかの内容でしょ?)
漏れがやったときはlocalhost相手にして、非ブロッキングにして
相手側はテストケース内でソケット関数直で記述したオブジェクトを用意して
対向通信させたよ。
非ブロッキングにできないなら別スレッドにすることになるね。
ともかく別プログラム用意するのは繁雑になりすぎるし自動化が面倒になる。
名前引きなんかも一個、自ネットのアドレスで確認する程度でokでしょう。
0859デフォルトの名無しさん
NGNGオレは役に立ったよ。
SBPPのJava版、Essential Java Styleっつーのもあるよ。概要はこちらへ。
http://www.alles.or.jp/~torutk/oojava/maneuver/2001/style/essentialJavaStyle.html
0860デフォルトの名無しさん
NGNGリンク先メチャクチャ感謝です。
これ読んだら本の方は必要ないですね。
ありがとうございました。
0861859
NGNGいろいろ、いい事も書いてたから、立ち読みして気に入ったら買ってみてもいいと思うよ。
0862デフォルトの名無しさん
NGNG遅レスですが、買ってきました。
>>859読んだら必要ないと言うのは自分の暴言でした。
内容の質、量ともに全然別物ですね。
で、>>859のリンク先を読んでいて思ったんですが、 Double Dispatch の説明で混乱しています。
ttp://www.alles.or.jp/~torutk/oojava/maneuver/2001/style/essentialJavaStyle.html#doc1_71
SBPP では同じレイヤのオブジェクト同士の相互作用を例に出しているのに対して
リンク先では visitor を Double Dispatch として説明しています。
私としてはそれなら Dispatch Interpretation も visitor ではないかと思うのですがどうなのでしょうか。
ttp://www.alles.or.jp/~torutk/oojava/maneuver/2001/style/essentialJavaStyle.html#doc1_69
一般的な Double Dispatch の説明なら確かに二回 Dispatch が起こるので正しいように
思えますが、 Dispatch Interpretation も二回 Dispatch が起こっています。
SBPPの言う、Double Dispatch は双方向に Dispatch Interpretation がかかっている物を
指しているような気がしてなりません。
どうでしょうか?
0863デフォルトの名無しさん
NGNGリファクタリングをしていくと良く自然と、デザインパターンやこれらの
形になると言いますが、それで詰まる事はないのでしょうか。
TDDの本で、ひらめきやアイディアのようなものが突如として
出てくる所があったような気がします。
やはり、そういう方法論(SBPPやデザインパターン)がリファクタリングの
中にも必要になってくる場面はあると考えるのは危険でしょうか。
0864859
NGNG>リンク先では visitor を Double Dispatch として説明しています。
>私としてはそれなら Dispatch Interpretation も visitor ではないかと
>思うのですがどうなのでしょうか。
Visitorパターンの中で Double Dispatchが使われているのであって、
Visitorパターン == Double Dispatchというわけではないんじゃないかな。
>一般的な Double Dispatch の説明なら確かに二回 Dispatch が起こるので
>正しいように思えますが、 Dispatch Interpretation も二回 Dispatch が
>起こっています。
正確な用語の定義はわからんのですけど、仮に
Dispatch ==「呼び出すメソッドの振り分け」
とすると、
Dispatch Interpretationの例での Dispatchは、Order#processBy()での
一回のみじゃないかな。2回行われているのはDispatchじゃなく
Delegate(委譲)で。
# ここでは Dispatchの仕組みとして、if文を使用してる。
ちなみに、Double Dispatchの例での|Dispatchは、
Player#accept()と Visitor#visit() の2回行われている。
# ここでは Dispatchの仕組みとして、ポリモーフィズムを使用してる。
0865デフォルトの名無しさん
NGNGおつきあい頂きどうもです
Double Dispatch ですが私は「二つのオブジェクトの組み合わせにより
呼び出される関数が決定する」と考えています
>>859のサイトの例題では、Dispatch Interpretation では Order インスタンスの状態により
Double Dispatch では Visitor インターフェースを実装したクラスのポリモーフィズム
により、二回目の Dispatch が起こっていると思うのですが如何でしょうか
また、>>859は Visitor の説明としても不十分だと思います
Visitor と Visitable が強く結びついてしまい、1対1の関係にしかなりません
よって振り分けも基本的にはありません
Double Dispatch は m x n だけの組み合わせが存在するはずですがこれでは
一つの組み合わせ以外は全て失敗します
この場合は Visitor は QuaterbackVisitor ではなくて ScoreCounter などの名前にし
visitorメソッドのオーバーロード、もしくは instanceof などで各選手のポジションごとに
振り分けるのが Visitor パターンだと思います
他にも visitor メソッドの名前を呼び出すオブジェクトごとに変えるとか、Dispatch Interpretation
のように、オブジェクトの状態ごとに振り分けるとかがありますよね
0866859
NGNG> Double Dispatch ですが私は「二つのオブジェクトの組み合わせにより
> 呼び出される関数が決定する」と考えています
これは同意です。
> >>859のサイトの例題では、Dispatch Interpretation では Order インスタンスの状態により
> Double Dispatch では Visitor インターフェースを実装したクラスのポリモーフィズム
> により、二回目の Dispatch が起こっていると思うのですが如何でしょうか
むむ、Dispatch Interpretationでも2回目の Dispatch が起こっているのではないか、ということかしらん?
0867859
NGNG> また、>>859は Visitor の説明としても不十分だと思います
> Visitor と Visitable が強く結びついてしまい、1対1の関係にしかなりません
> よって振り分けも基本的にはありません
> Double Dispatch は m x n だけの組み合わせが存在するはずですがこれでは
> 一つの組み合わせ以外は全て失敗します
まず、859のリンク先が Visitorパターンの説明として不十分か否かについて。
今、手元にGoFが無いので Visitorパターンの正確な定義は忘れちゃったんだけど、
"Represent an operation to be performed on the elements of an object structure.
Visitor lets you define a new operation without changing the classes of the elements
on which it operates." (from http://c2.com/cgi/wiki?VisitorPattern)
これを Visitorの目的&定義とすれば、859の例は Visitorパターンと言えなくはないのかも。
# 自信ないけど...
次に、Double Dispatchについて。
これは865さんのおっしゃる通り、
> Visitor と Visitable が強く結びついてしまい、1対1の関係にしかなりません
ので、Double Dispatchの説明としては不適当に感じますねえ。
このへんは原著(http://www.amazon.co.jp/exec/obidos/ASIN/0130850861/249-8437831-6912336)の
ソースを見てみると、また違うのかもしれないですが。
0868デフォルトの名無しさん
NGNG> むむ、Dispatch Interpretationでも2回目の Dispatch が起こっているのではないか、ということかしらん?
そう考えています
オーバーロードで振り分ける、オブジェクトの状態で振り分ける、と振り分ける方法は
違いますがこれも Doble Dispatch だと考えています
ただここで私の言った「二つのオブジェクトの組み合わせにより呼び出される関数が決定する」
と言う前提が実は「二つのクラスの組み合わせにより呼び出される関数が決定する」だと
Dispatch Interpretation は Doble Dispatch では無くなってしまいます
ここが悩んでいるところですね
クラスベースに固執する概念ではないと思うのでオブジェクトの組み合わせと思っているわけですが
理解が及んでいない事は確かです
> これを Visitorの目的&定義とすれば、859の例は Visitorパターンと言えなくはないのかも。
> # 自信ないけど...
Visitor の目的は元のクラスの実装を変えずに機能を追加する事だと思っています
なので、機能としては最低でも 1 x n になるはずですが>>859では 1 x 1 になってしまっています
呼び出し側で特定の Visitor に依存した記述をしているので既に元のクラスの実装を変えず
と言う部分に背きますし、それ以外呼べなくなるのでそもそも無意味じゃないでしょうか
0869デフォルトの名無しさん
NGNGで、最初の問題に戻るのですが Visitor パターンだと関数の実装が Visitor になります
それに対し、SBPP の Doble Dispatch の例だと両方のクラスにお互いに実装を持っています
お互いのクラスが Visitor でありかつ Visitable であるわけですね
こういうのが SBPP における Doble Dispatch なのかなと思っていたのですが・・・
これはあんまり自信がありませんでして・・・
ただ例題としてこういう形になってしまっているようないないような気も・・・
しかし、それでは Dispatch Interpretation も同じになってしまうわけで・・・
と言う感じで悩んでいますw
0870859
NGNGまずは、重要じゃなさそうなところから。
>>868
> Visitor の目的は元のクラスの実装を変えずに機能を追加する事だと思っています
> なので、機能としては最低でも 1 x n になるはずですが>>859では 1 x 1 になってしまっています
> 呼び出し側で特定の Visitor に依存した記述をしているので既に元のクラスの実装を変えず
> と言う部分に背きますし、それ以外呼べなくなるのでそもそも無意味じゃないでしょうか
Quaterbackを変えずに機能追加できないかしら?
以下のような感じで。
// QBの平均スコアを求めるVisitor
public class QuaterbackAverageVisitor extends Visitor {
int totalScore = 0;
int count = 0;
public void visit(Visitable visitable) {
count++;
Quaterback qb = (Quaterback)visitable;
totalScore += qb.getNumberOfTDs() * 6 +
qb.getNumberOfCompletions();
}
public int getAverageScore() {
return totalScore / count;
}
}
QuaterBackVisitorは、訪問先(Visitable)をQuaterbackクラスに限定しているけど、
Quaterbackクラスでは訪問者(Visitor)を限定はしていないと思う。
よって、1×1じゃなくて1×Nじゃないかと。
とは言え、1×Nじゃあ、N×Nである Double Dispatchの例にはならないので、どちらにせよダメなんですが。
0871デフォルトの名無しさん
NGNG読み間違っていました
おっしゃるとおり、1 x n になっていますね
なので Visitor の例としては問題ありませんでした
結局 Double Dispatch が何なのか解らなくなってきましたw
m x n の関係を持った Visitor って感じでしょうか
0872859
NGNGまず、以下のようなプログラムがあったとします。
----
# Ver.1
# 文書要素(bold, italic, フォーマットなし)の入った配列を HTMLに変換する
class Element
def initialize(str)
@content = str
end
def content
return @content
end
end
class Plain < Element
end
class Bold < Element
end
class Italic < Element
end
0873859
NGNGdef print_plain(str)
print( str )
end
def print_bold(str)
print( "<b>" + str + "</b>" )
end
def print_italic(str)
print( "<i>" + str + "</i>" )
end
end
def main
elements = [
Plain.new("hoge"),
Bold.new("fuga"),
Italic.new("kuma-")
]
printer = HtmlPrinter.new
for e in elements
if e.is_a?( Plain )
printer.print_plain( e.content )
elsif e.is_a?( Bold )
printer.print_bold( e.content )
elsif e.is_a?( Italic )
printer.print_italic( e.content )
end
end
end
main
----
0874859
NGNG----
# Ver.2
class Element
def initialize(str)
@content = str
end
def content
return @content
end
end
class Plain < Element
def print_on( printer )
printer.print_plain( self.content )
end
end
class Bold < Element
def print_on( printer )
printer.print_bold( self.content )
end
end
class Italic < Element
def print_on( printer )
printer.print_italic( self.content )
end
end
0875859
NGNGdef print_plain(str)
print( str )
end
def print_bold(str)
print( "<b>" + str + "</b>" )
end
def print_italic(str)
print( "<i>" + str + "</i>" )
end
end
def main
elements = [
Plain.new("hoge"),
Bold.new("fuga"),
Italic.new("kuma-")
]
printer = HtmlPrinter.new
for e in elements
e.print_on( printer )
end
end
main
----
0876859
NGNG----
# Ver.3
class Element
def initialize(str)
@content = str
end
def content
return @content
end
end
class Plain < Element
def print_on( printer )
if printer.is_a?( HtmlPrinter )
printer.print_html_plain( self.content )
elsif printer.is_a?( WikiPrinter )
printer.print_wiki_plain( self.content )
end
end
end
class Bold < Element
def print_on( printer )
if printer.is_a?( HtmlPrinter )
printer.print_html_bold( self.content )
elsif printer.is_a?( WikiPrinter )
printer.print_wiki_bold( self.content )
end
end
end
0877859
NGNGdef print_on( printer )
if printer.is_a?( HtmlPrinter )
printer.print_html_italic( self.content )
elsif printer.is_a?( WikiPrinter )
printer.print_wiki_italic( self.content )
end
end
end
class HtmlPrinter
def print_html_plain(str)
print( str )
end
def print_html_bold(str)
print( "<b>" + str + "</b>" )
end
def print_html_italic(str)
print( "<i>" + str + "</i>" )
end
end
0878859
NGNGclass WikiPrinter
def print_wiki_plain(str)
print( str )
end
def print_wiki_bold(str)
print( "'''" + str + "'''" )
end
def print_wiki_italic(str)
print( "''" + str + "''" )
end
end
def main
elements = [
Plain.new("hoge"),
Bold.new("fuga"),
Italic.new("kuma-")
]
# printer = HtmlPrinter.new
printer = WikiPrinter.new
for e in elements
e.print_on( printer )
end
end
main
----
0879859
NGNGで、この時点で Element#print_on メソッドの挙動はレシーバ(Elementのサブクラス)とメッセージの引数(Printerのサブクラス)の組み合わせに応じて処理が振り分けられます。つまり Double Dispatchが行われていると。
----
# Ver.4
class Element
def initialize(str)
@content = str
end
def content
return @content
end
end
class Plain < Element
def print_on( printer )
printer.print_plain( self.content )
end
end
class Bold < Element
def print_on( printer )
printer.print_bold( self.content )
end
end
class Italic < Element
def print_on( printer )
printer.print_italic( self.content )
end
end
0880859
NGNGend
class HtmlPrinter < Printer
def print_plain(str)
print( str )
end
def print_bold(str)
print( "<b>" + str + "</b>" )
end
def print_italic(str)
print( "<i>" + str + "</i>" )
end
end
# see http://fswiki.poi.jp/wiki.cgi?page=Help#p4
class WikiPrinter < Printer
def print_plain(str)
print( str )
end
def print_bold(str)
print( "'''" + str + "'''" )
end
def print_italic(str)
print( "''" + str + "''" )
end
end
0881859
NGNGelements = [
Plain.new("hoge"),
Bold.new("fuga"),
Italic.new("kuma-")
]
# printer = HtmlPrinter.new
printer = WikiPrinter.new
for e in elements
e.print_on( printer )
end
end
main
----
0882デフォルトの名無しさん
NGNGんで、それが 【XP】 Agile Process 【UP】 と どう関係あんの?
0884デフォルトの名無しさん
NGNG大変レスが遅くなってしまって申し訳ございませんでした。
言い訳になりませんが、ここ四週間休みがありません。
徹夜&一日14時間労働。
デスマーチ進行中です。
会社の体制はかえられないほど腐っているので自分の武器はテストとリファクタリングのみ。
誰か、他の武器をください。
閑話休題。
ソース読ませて頂きました。
リファクタリングの過程が面白いですね。
やっと、このスレの主題に沿ってきた感じです(他の人すみません)
で、読ませた頂いたところ、二つのオブジェクトのポリモーフィズムにより
二回メソッドの割り当てが行われるという感じでしょうか。
とすると、
> ただここで私の言った「二つのオブジェクトの組み合わせにより呼び出される関数が決定する」
> と言う前提が実は「二つのクラスの組み合わせにより呼び出される関数が決定する」だと
> Dispatch Interpretation は Doble Dispatch では無くなってしまいます
ここで言った、「二つのクラスの組み合わせにより呼び出される関数が決定する」が
Double Dispatch と考えて良さそうですね。
--関係ありませんが Ruby はめちゃくちゃ読みやすいですね。
--最近 Python も弄っているんですが、Ruby の方が読みやすい。
0885デフォルトの名無しさん
NGNGお前馬鹿か?
なんでこのスレに来ているんだか。
デスマーチになるのはお前が agile 理解してないからだろ。
デジドカは品質の低い底辺仕事でもこなしていてくだちぃ(プッ
0886デフォルトの名無しさん
NGNGなかなか再利用性の高いフレームワークを使った煽りですね。
0887デフォルトの名無しさん
NGNG0888888
NGNGカラダ
0890デフォルトの名無しさん
NGNG決まる(事がある)
0891デフォルトの名無しさん
NGNG0893859
NGNG「アジャイルソフトウェア開発の奥義」を買ってきた。
ロバートCマーティンの「Agile Software Development」を翻訳したもの。
アジャイルで翻訳と言えば、迷翻訳屋、長瀬&テクノロジックアートがしゃしゃり出てくる事で有名だけど、
安心してください、この本は瀬谷啓介さんという別な方が訳されてます。長瀬の「な」の字も出てきません。
まだ、最初の方しか読んでないけど、すげー良さげ。翻訳の質も悪くなさそうです。
5800円とちょっとお高めだけど、とりあえず立ち読みしてみてはどうでしょう。
* アジャイルソフトウェア開発の奥義
http://www.amazon.co.jp/exec/obidos/ASIN/4797323361/250-1254299-5538614
* Agile Software Development
http://www.amazon.co.jp/exec/obidos/ASIN/0135974445/
0894859
NGNG>>>872-881
> 大変レスが遅くなってしまって申し訳ございませんでした。
> 言い訳になりませんが、ここ四週間休みがありません。
> 徹夜&一日14時間労働。
> デスマーチ進行中です。
> 会社の体制はかえられないほど腐っているので自分の武器はテストとリファクタリングのみ。
> 誰か、他の武器をください。
お気になさらずに。まったり行きましょう。
ところで。
このままデスマーチが続くようでしたら
上司に「こんなスケジュールじゃ出来ね―よ」と噛み付いたほうが良いと思いますよ。
ただ噛み付くだけではだめで、論拠となるような数字を示して理詰めで攻めるのが効果的です。
自分の身を守れるのは自分だけですからね。
>>884さんがそうだというわけじゃなく、オレが常日頃思っていることなのですが、
理不尽な納期を決めたマネージャにもデスマーチの責任はあるかもしれませんが、
納期の理不尽さを知った上で「がんばってみます」と仕事を引き受けるプログラマの責任も重いと思うのです。
無理を承知で仕事を引き受けるのは無責任です。無理なときは無理と突っぱねることこそ本当の責任感だと思うのですよ。
つーことで、このスレを読んでる、デスマーチに従事しているプログラマ諸君は反旗をひるがえしなされ、気が向いたときにでも。
0895859
NGNG> ここで言った、「二つのクラスの組み合わせにより呼び出される関数が決定する」が
> Double Dispatch と考えて良さそうですね。
うむ、そんなところだと思います。
> --関係ありませんが Ruby はめちゃくちゃ読みやすいですね。
> --最近 Python も弄っているんですが、Ruby の方が読みやすい。
むふふ。おすすめですよ>Ruby
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGあめぞう君
0898デフォルトの名無しさん
NGNG0899896
NGNG0900デフォルトの名無しさん
NGNGこれ単に「eXtreme Programming」を丸く表現しただけなんだよね
XPを叩いて叩いてAgileとなる。丸くなって、切れ味が無い
0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNGサリム・アブ・アジル
自爆テロの首謀者
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNGASD とか Scrum とか Crystal とか、あと FDD か
何が良いのか解らんからメリット・デメリットの表とかあると良いんだよなぁ
0907デフォルトの名無しさん
NGNG崖登り
0908デフォルトの名無しさん
NGNGメリットデメリットの表が載ってるかはわからないけど、この本なんてどう?
訳者が長瀬&テクノロジックアートなので、クソみたいな翻訳だろうけどね。
http://www.pearsoned.co.jp/washo/object/wa_obj74-j.shtml
0909デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4795263159/ref=nosim
1988年に出版された本なんだけど、内容はモロにアジャイルな開発方法の手引書なんだよ。こんな本が15年以上前に出てたなんて驚き。
薄くてお値段もボチボチお手頃なので御一読をお勧めします。
0910デフォルトの名無しさん
NGNGどうも
しかし、豪華なインタビューですな
0911デフォルトの名無しさん
NGNGそれ以前に宗教じみていて、気色悪い
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG無いだろうな
しかし、XPは多すぎる
これじゃ極小開発しか出来ないだろ
いや、極小も出来ないな
人を使いすぎる、ペアプログラミング、コーチ、トラッカ、マネージャ・・・
顧客まで巻き込む、プログラマに都合の良いエゴ開発プロセスだよこりゃ
0914デフォルトの名無しさん
NGNG元からターゲットとしては小規模開発だよ。
また、役割は同じ人が複数兼ねてもいい。
実際に開発しててそういう役割の人が大体いるでしょ?
それをプロセスの一部として明文化したということ。
顧客とのコミュニケーションも on site を除けば
理念として特異なところはないと思う。
0915デフォルトの名無しさん
NGNG役割を兼用できても、人を使いすぎるな
実際に作業をやる人間が二人単位だ
これじゃ、まともな分業も出来ない
顧客も毎回確認されたら堪ったものではない
送ってある仕様をちゃんと見ろと言いたくなるだろ
また、それ以前にXPの契約が取れるか?
顧客としては求めているもの最終見積もりが取れないのがいつまでも定まらないのは
稟議の問題なども通して困るだろ
それに、XPの設計をしない理念も応用性が低いな
リファクタリングとテストだけで望んだ形になる?
馬鹿なw
しかも、XPの主張はあのとても全て実践できるとは思えない12のプラクティスを
全て使わないと駄目だと明言している
つまみ食いは駄目だと
プログラマのエゴ開発プロセスと言われても仕方がないな
0916デフォルトの名無しさん
NGNG> 顧客としては求めているもの最終見積もりが取れないのがいつまでも定まらないのは
顧客としては求めているものの最終的な見積もりがいつまでも定まらないのは
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG>役割を兼用できても、人を使いすぎるな
>実際に作業をやる人間が二人単位だ
二人単位なのはペアプロだけだよ。
あとはその時々に応じて必要な役割をこなすだけという
ごく当たり前のことをするだけかと。
>また、それ以前にXPの契約が取れるか?
>顧客としては求めているもの最終見積もりが取れないのがいつまでも定まらないのは
>稟議の問題なども通して困るだろ
まあ、現状 XP でやりますといって契約できるとは思わんが。
何か勘違いしてるのかもしれないけど XP も反復型開発の一種だよ。
最初からシステムの全部を作ろうとせずに、動くものを拡張していくというやり方。
XP での要求分析・設計の方法をざっと書いておくと以下のようになる。
1. 顧客を交えてシナリオ作成をする。シナリオとは UML を
使った開発に出てくるあれと似たようなもので、
システムによって実現したいことをユーザ視点で記述したもの
2. シナリオを分割してタスクリストを作成する。これはシナリオを実現する
ために必要な機能を開発者視点で記述したもの
3. タスクそれぞれに必要な開発期間を見積もる。
それを元にシナリオの開発に必要な開発期間も見積もる。
4. 顧客に機能とスケジュールのトレードオフをしてもらう。
3 の作業でシステムの部分ごとの開発期間が見積もられたので、
「全部やろうとしたらこれだけかかりますよ。
プライオリティの高い機能から作れば、
まずは動くものがこれくらいでできますよ」 と言える。
以後はイテレーションをする。
最初は顧客の要求に出ていた機能のうち、
お飾り的なやつや担当者の趣味のようなのは
4 の作業で後に追いやられるので、
実際にそこそこ動くのができると忘れてくれる。
0919デフォルトの名無しさん
NGNG>それに、XPの設計をしない理念も応用性が低いな
>リファクタリングとテストだけで望んだ形になる?
>馬鹿なw
しないわけじゃなくて、無駄なドキュメント作成と
ドキュメントとコードの同期を取るための膨大な作業は最小にするってこと。
実際には クラス図やシーケンス図などいくつかの UML 図を
作った方が良いと思うが、原理主義的にはユニットテスト=実装仕様となるので
設計と実装を分けてする必要はないよねってことになってる。
>しかも、XPの主張はあのとても全て実践できるとは思えない12のプラクティスを
>全て使わないと駄目だと明言している
>つまみ食いは駄目だと
まあ、これも XP に限らずあらゆるソフトウェア開発プロセスは、
「上手くいかないのはプロセスをきちんと実践しないからだ」 と言うものです。
0920デフォルトの名無しさん
NGNGそちらこそ勘違いをしていると思うが
> 実際に作業をやる人間が二人単位だ
これはちゃんとペアプロのことを指しているよw
コーチが二人とか馬鹿なことは思っていない
レイヤーの違うプログラムを分業をする場合、常に二人単位の人間を必要とする
これでは人を使いすぎると言っているわけだ
あと、XPは反復開発の一種だと言っているがそんなことは当然解っている
オレが話しているのは、XPが出来た分だけ料金を請求すると言うところだ
これじゃ顧客は困るだろう
これらがごく当たり前のことなのか?
よっぽど変なところで働いているんだな
あと、設計の件は、書類化のことを示している訳じゃない
設計するという行為自体を示している
UnitTest - リファクタリングで自然に最適な形になるとは思えない
修正が難しい形に流れてしまう可能性が高い
> 「上手くいかないのはプロセスをきちんと実践しないからだ」 と言うものです。
儒教的だなw
XPは道教的じゃ無かったのかい?
0921デフォルトの名無しさん
NGNG>レイヤーの違うプログラムを分業をする場合、常に二人単位の人間を必要とする
>これでは人を使いすぎると言っているわけだ
んー人月増えるのはたしかだね。
複数人で集まってのソースレビュー作業が省けたりする部分はあるが。
ペアプロがコードの質の向上にどれくらい貢献するのかを
示すデータってのもあんまりないので難しいところだね。
>あと、XPは反復開発の一種だと言っているがそんなことは当然解っている
>オレが話しているのは、XPが出来た分だけ料金を請求すると言うところだ
>これじゃ顧客は困るだろう
契約書のマジックで対応でしょ。
例えば第三イテレーションまででできるのを開発費にして、
そこからあとは保守費にするとかなんとか。
>これらがごく当たり前のことなのか?
>よっぽど変なところで働いているんだな
色々書いてるけど、俺は企業相手じゃなくてエンドユーザ相手に
ソフトウェア作る会社にいるから XP そのままは使ってないよ。
>UnitTest - リファクタリングで自然に最適な形になるとは思えない
>修正が難しい形に流れてしまう可能性が高い
何も考えずにコーディングに入るわけじゃなく、
シナリオ・タスク作成を先にやるけど。
0922デフォルトの名無しさん
NGNG> ペアプロがコードの質の向上にどれくらい貢献するのかを
> 示すデータってのもあんまりないので難しいところだね。
それ以前にそれだけの人員を確保できないところが多いだろ
実際に小規模開発を行うのは零細企業の割合が多いわけだからな
> 例えば第三イテレーションまででできるのを開発費にして、
> そこからあとは保守費にするとかなんとか。
顧客は第三イテレイーションで感性物だと思って、最初に全てのストーリーを
提示するだろう
その時に見積もれる?
結局普通の契約と同じで、これをした瞬間XPに大きな影を落とすわけだが
時間と金の誤差がかなり出るよ
しかし、それで進めなくてはならない
もうXPの根底が崩れるね
> 何も考えずにコーディングに入るわけじゃなく、
> シナリオ・タスク作成を先にやるけど。
シナリオはただの要件に近い、テスク分割はそれを作業単位にまとめただけ
コーディングレベルの設計にまで持って行けないな
XPでは「難しいことを先にやれ」と言っているが、それは計れるものなのかと疑問に思う
これが唯一、方向性を決めるものだと思うのだが、設計としては弱すぎる
0923デフォルトの名無しさん
NGNGあと、思ったのだがエンドユーザーがコンシューマーだったりした場合
具体的な顧客がいないのでストーリーの提示などどうするのだろう
フィードバックなども
これらはコンポーネントパッケージの開発やフレームワークにも言えるが
競技に縛り付けられている分、例外に弱そうだ
0924デフォルトの名無しさん
NGNG>それに、XPの設計をしない理念も応用性が低いな
>リファクタリングとテストだけで望んだ形になる?
>馬鹿なw
XPは設計をしない、はあなたの勘違い。
まあ、これを読んでみてよ。
http://blog.goo.ne.jp/ikkoan/d/20040708
おまけで IsDesignDead? の邦訳もどうぞ。
http://www.objectclub.jp/community/XP-jp/xp_relate/isdesigndead
0925デフォルトの名無しさん
NGNG> UnitTest - リファクタリングで自然に最適な形になるとは思えない
> 修正が難しい形に流れてしまう可能性が高い
修正が難しい形に流れてしまう可能性が高いのは
「リファクタリングなし&UnitTestingなし」の方だと思うけど。
リファクタリングされてないコードの修正は、
リファクタリングされてるコードに比べて修正が難しいのは明白だし、
テストのないコードの修正が、テストのあるコードに比べて、
臆病で既存のコードを迂回するような修正になりがち。
「動いてるコードに手をつけるな」という先人の教えがそれを証明しているよね。
既存のコードに手を付けない修正が重なることで設計が劣化していく様を見たことあるでしょ?
0926デフォルトの名無しさん
NGNG「アジャイルソフトウェア開発の奥義」
の6章の一読をお勧めします。>920
0927デフォルトの名無しさん
NGNG>既存のコードに手を付けない修正が重なることで設計が劣化していく様を見たことあるでしょ?
まあ、既存のコードは手を付けると途端に動かなくなる状態だったんだろうな。
きっと「なかなかバグが取れないね〜」「動いた〜」「はいおしまい」ってな感じで作られたんだろうな。
修正が原因で劣化したのではなく、もとから劣悪な設計だったのが修正時に露呈しただけ、とも言う。
0928デフォルトの名無しさん
NGNGで、
>>925
> 修正が難しい形に流れてしまう可能性が高いのは
> 「リファクタリングなし&UnitTestingなし」の方だと思うけど。
に対しての反論はないの。
0929デフォルトの名無しさん
NGNG「動いてるコードに手をつけるな」が常識だった時代は確実にあったと思うんだけど。
http://www.ulsystems.co.jp/opinion/technical_report/archive/000006-2.html
---
「正しく動いているコードには触るな」
――従来はそれが常識でした。
---
なんてのもあるしね。
まともにコード書いたことあんの?>927
0930デフォルトの名無しさん
NGNGいじめか?w
>>924
そこの論文は当然読んでいる、って言うかXPの水色本の内容だろそれ
で、結論だがそれはファウラーのXP感でしかない
ベックの言うXPとは違うものだ
背景としては、ファウラーがモデラー養成業をしていた、UMLやアナリシスパターンに
尽力していたから、自分なりにカスタマイズしたXPを述べただけだ
オレはファウラーを支持するね
ベックは夢想家だ
>>925
よく嫁
誰が UnitTest - リファクタリング をしないと言った
これは名前が付いただけでウォーターフローでも使っていた技術だ(UnitTestは少し変わるが)
オレが問題にしているのは方向性も無しにこれだけで、ソースが適切な道に進むのかと言うことだ
「難しいことを先にやれ」が唯一方向性を付けるものだがそれだけでは問題がある
ソースという川が左右に分かれていく時、源流に近い位置で分かれた流れを逆流するのは難しいだろう
その意味でも設計が必要になる
Agile な設計がね
XPは(と言うよりベックは)それすら否定している向きがある
自分が苦手だからだ
下らん
>>926
高いよw
とりあえず、流し読みはするが
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG>>>それに、XPの設計をしない理念も応用性が低いな
>>>リファクタリングとテストだけで望んだ形になる?
>>>馬鹿なw
>>
>> XPは設計をしない、はあなたの勘違い。
>> まあ、これを読んでみてよ。
>
> >>924
> そこの論文は当然読んでいる、って言うかXPの水色本の内容だろそれ
> で、結論だがそれはファウラーのXP感でしかない
> ベックの言うXPとは違うものだ
> 背景としては、ファウラーがモデラー養成業をしていた、UMLやアナリシスパターンに
> 尽力していたから、自分なりにカスタマイズしたXPを述べただけだ
> オレはファウラーを支持するね
> ベックは夢想家だ
まず、930が言うところのファウラーのXPでは、
「XPでは(コーディング中に少しづつ行うか、コーディング前にまとめて行うかの違いはあるにせよ)設計は行われる。」
は同意なんだよね? つまり、
「テストを書く(プチ設計)→コードを書く(プチ設計)→リファクタリング(プチ設計)→テストを書く(プチ設計)→以下繰返し」
というXPの開発スタイルを「馬鹿なw」と一蹴はしない、と。
で、話をファウラーのXPとケント・ベックのXPに移すと、
「ファウラーの言うXPでは設計を行っていて、ケント・ベックの言うXPは設計を行っていない。」
ってことかしら。
# ケント・ベックそんなこと言ってたっけ? あとで調べてみます。
# 関係ないけど、「ベックは夢想家だ」はなんだかカッコイイね。
0933デフォルトの名無しさん
NGNG> >>925
> よく嫁
> 誰が UnitTest - リファクタリング をしないと言った
ごめん、そうだね。
> オレが問題にしているのは方向性も無しにこれだけで、ソースが適切な道に進むのかと言うことだ
> 「難しいことを先にやれ」が唯一方向性を付けるものだがそれだけでは問題がある
> ソースという川が左右に分かれていく時、源流に近い位置で分かれた流れを逆流するのは難しいだろう
> その意味でも設計が必要になる
> Agile な設計がね
XPの設計のガイドラインは
> 「難しいことを先にやれ」
ではないんでない?
どっちかというと、
> 「なんとか動いて、最も無駄のないものをやれ」("Do the Simplest Thing that Could Possibly Work")
だと思うんだよね。
これを守っていれば、適切な道に進むかどうかは分からないけど、間違った道には進まないようになる。
XPの「シンプルデザイン」を川のメタファで言えば、源流に近い位置(設計の段階)で流れを分岐させるのではなく、
出来るだけ下流(必要になるときまで)で流れ分岐させるようにして、流れの逆流のコストを最小限にしようとしているんだと思う。
0934デフォルトの名無しさん
NGNG> リファクタリングとテストだけで望んだ形になる?
> 馬鹿なw
あと、テスト駆動な開発を行っていると疎結合なプログラムになりやすい、というのもあるね。
なぜ疎結合になりやすいか?
結城さんの言葉(http://www.hyuki.com/dig/cgitest.html)を借りると
それから、ユニットテストしやすいモジュールを作ると、モジュール間の連携を
疎になるようにしようという気持ちが働きますね。低結合(low coupling)の心。
つまり、ユニットテストしやすいモジュール = 疎結合なモジュール = 良いモジュール、と。
0935デフォルトの名無しさん
NGNG> 「テストを書く(プチ設計)→コードを書く(プチ設計)→リファクタリング(プチ設計)→テストを書く(プチ設計)→以下繰返し」
> というXPの開発スタイルを「馬鹿なw」と一蹴はしない、と。
ぷち設計というものがどういうものなのか、解らないので答えられないな
ファイラーはUMLを使った設計すらしている
UMLを使えと言う意味ではないので誤解無きよう
あと、本家も一度覗いてみることを勧める
> > 「難しいことを先にやれ」
>
> ではないんでない?
> どっちかというと、
>
> > 「なんとか動いて、最も無駄のないものをやれ」("Do the Simplest Thing that Could Possibly Work")
>
> だと思うんだよね。
> これを守っていれば、適切な道に進むかどうかは分からないけど、間違った道には進まないようになる。
・worst things first(難しいことを先にやれ)
ttp://www.xprogramming.com/xpmag/an_open_approach.htm
かなり有名だと思うけどね
あとc2.comの議論もちゃんと読んでおけ
>>934
で、何度も言って絵いるように UnitTest - リファクタリングの流れは否定していない
それだけでは困難な問題が多い、または戻りが大きくなってしまうことが多々あると言うことだ
設計を行わないことのコストはファウラーが国際化対応問題で取り上げている
YAGNIの神への間違った信仰が狂信者を生んでいる
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG> ファイラーはUMLを使った設計すらしている
コーディング前のクラス図なんかのラフスケッチは当然やってます。
ファウラーに限った話じゃなくケント・ベックだってやっている話だよね。
> > > 「難しいことを先にやれ」
> > ではないんでない?
> > どっちかというと、
> > > 「なんとか動いて、最も無駄のないものをやれ」("Do the Simplest Thing that Could Possibly Work")
> > だと思うんだよね。
> > これを守っていれば、適切な道に進むかどうかは分からないけど、間違った道には進まないようになる。
> ・worst things first(難しいことを先にやれ)
> ttp://www.xprogramming.com/xpmag/an_open_approach.htm
>
> かなり有名だと思うけどね
設計の初期にハイリスクなタスクを持ってこよう、という話だよね。それは存じております。
で、「worst things first」の一番の理由はリスクヘッジだと思うんだけど、>>930を見ると
>オレが問題にしているのは方向性も無しにこれだけで、ソースが適切な道に進むのかと言うことだ
>「難しいことを先にやれ」が唯一方向性を付けるものだがそれだけでは問題がある
「worst things first」が設計の方向付け、ガイドラインだ、と言ってるように聞こえる。
で、設計のガイドラインは「worst things first」ではなく
「Do the Simplest Thing that Could Possibly Work」ではないのか、と申している次第です。
0938デフォルトの名無しさん
NGNG> >>934
> で、何度も言って絵いるように UnitTest - リファクタリングの流れは否定していない
> それだけでは困難な問題が多い、または戻りが大きくなってしまうことが多々あると言うことだ
> 設計を行わないことのコストはファウラーが国際化対応問題で取り上げている
大人数のプロジェクトにはXPはむいていないといわれるように、国際化等の大がかりなフレームワークが必要な状況にはXPはむいていないのかもしれないね。
けど、それを理由に
>それに、XPの設計をしない理念も応用性が低いな
>リファクタリングとテストだけで望んだ形になる?
>馬鹿なw
というのは、どうかと思うけど。
この言い方では、あらゆる状況でXPの開発プロセスは使えないと言っているようにとれるよね。
裏を返せば、国際化対応のような状況以外ではXPは使える、ってファウラーも言ってるってことでしょ。
> YAGNIの神への間違った信仰が狂信者を生んでいる
YAGNIと国際化云々の話は別な話じゃないかしら。
0939デフォルトの名無しさん
NGNG> YAGNI 至上主義は状況によって罠にハマるね
どんな罠?
0940デフォルトの名無しさん
NGNG>>935はファウラーの言うXPは認めているんだよね。で、ケント・ベックのいうXPはダメだと。
(ファウラーとケント・ベックの違いはまだ分かってないけど)それならおれ的にはこれ以上言うことは無いです。
0941デフォルトの名無しさん
NGNG> コーディング前のクラス図なんかのラフスケッチは当然やってます。
> ファウラーに限った話じゃなくケント・ベックだってやっている話だよね。
ベックはやってないよ
>しかし、そこには「本当のXP実践者はダイアグラムなんか使わないのだ」と言う意味合いが濃厚に
>出ている。このことは、Kent の様な人々がダイアグラムをまったく苦手としているという事実によって
>裏打ちされる。実際、Kent が自分から、決められた表記法に基づいてソフトウェアの図を書いたところ
>を私は見たことがない。
> 「worst things first」が設計の方向付け、ガイドラインだ、と言ってるように聞こえる。
> で、設計のガイドラインは「worst things first」ではなく
> 「Do the Simplest Thing that Could Possibly Work」ではないのか、と申している次第です。
それは設計のガイドラインではなく(タスク選択指標ではなく)、選択したタスクを実装する場合の方法だろ
TDD的に言えば、定数で置換えてとりあえず仮実装をする、そして一番シンプルな方法でそれを置換えて
実装をする。そう言う話だ。その後リファクタリングは言わなくても良いだろう。
そちらこそ解釈を間違えていると思うが如何か。
0942デフォルトの名無しさん
NGNG> というのは、どうかと思うけど。
> この言い方では、あらゆる状況でXPの開発プロセスは使えないと言っているようにとれるよね。
> 裏を返せば、国際化対応のような状況以外ではXPは使える、ってファウラーも言ってるってことでしょ。
国際化はただの一例だ、それだけではない
レイヤーを意識した開発などは全て当てはまるだろう
> > YAGNIの神への間違った信仰が狂信者を生んでいる
> YAGNIと国際化云々の話は別な話じゃないかしら。
別じゃないだろ
また上記のように国際化だけの問題じゃない
> と、ここまで書いて思い出したんだけど、
> >>935はファウラーの言うXPは認めているんだよね。で、ケント・ベックのいうXPはダメだと。
> (ファウラーとケント・ベックの違いはまだ分かってないけど)それならおれ的にはこれ以上言うことは無いです。
別にファウラーのXPを認めるというスタンスじゃない
XPにはまだまだ多くの現実的な問題を抱えている(>>920>>922)
0943デフォルトの名無しさん
NGNGttp://mag.autumn.org/Content.aspx?id=20040712170744
0944名無しさん@Linuxザウルス
NGNGはぁ。
UMLは使ってなくても CRCカードは使ってるんじゃない。
http://c2.com/doc/oopsla89/paper.html
# Kent Beckはアップルにいたことあるのな。初めて知った。
0945名無しさん@Linuxザウルス
NGNG「国際化対」じゃなくて「国際化対応のような」って言ってるですよ。
脳内で
s/国際化対応のような/国際化等の大がかりなフレームワーク/g
してくだされ。
で、その上で
> 裏を返せば、国際化対応のような状況以外ではXPは使える、ってファウラーも言ってるってことでしょ。
についてはどうお思いですか?
0946名無しさん@Linuxザウルス
NGNG>> > YAGNIの神への間違った信仰が狂信者を生んでいる
>> YAGNIと国際化云々の話は別な話じゃないかしら。
>別じゃないだろ
>また上記のように国際化だけの問題じゃない
国際化等の大がかりなフレームワークと「YAGNIの神への間違った信仰」はどう話がつながっているの?
0947デフォルトの名無しさん
NGNGできれば、「はぁ」とか言って欲しくないものだが
> UMLは使ってなくても CRCカードは使ってるんじゃない。
>
> http://c2.com/doc/oopsla89/paper.htmlOpen
それはいつの記事だい?
近況のXPはCRCすら排除の方向にあるけど
>>945
何故大がかりなフレームワークになる
ここで問題なるのは影響が大きい問題の解決だ
規模の大きさではない
3〜5層からなるソフトウェアの開発(10人以下の小規模)でも問題になってくる
>>946
YAGNI への間違った信仰とは、設計が YAGNI を脅かすという思いこみから来る
また、>>941の
> > 「worst things first」が設計の方向付け、ガイドラインだ、と言ってるように聞こえる。
> > で、設計のガイドラインは「worst things first」ではなく
> > 「Do the Simplest Thing that Could Possibly Work」ではないのか、と申している次第です。
> それは設計のガイドラインではなく(タスク選択指標ではなく)、選択したタスクを実装する場合の方法だろ
> TDD的に言えば、定数で置換えてとりあえず仮実装をする、そして一番シンプルな方法でそれを置換えて
> 実装をする。そう言う話だ。その後リファクタリングは言わなくても良いだろう。
> そちらこそ解釈を間違えていると思うが如何か。
には、納得して頂いただけたのか気になるところだ
0948デフォルトの名無しさん
NGNG0949名無しさん@Linuxザウルス
NGNG>別にファウラーのXPを認めるというスタンスじゃない
>XPにはまだまだ多くの現実的な問題を抱えている(>>920>>922)
XPにも問題がいろいろあるのは確かだね。その点は同意。
# >>920,922にはちょいちょい異論もあるけどそれは別の機会に。
が、それを理由にXPを全否定するのはどうかと思うね。
いくつかの問題が有ってなお XP導入のメリットは大きいとおれは考えている。
そういえば、942はXPに対してはどういうスタンスなの?
部分否定?
全否定?
915を見ると全否定のようにとれるが。
0950デフォルトの名無しさん
NGNGXPを全否定する理由はすべてのプラクティスの強制
全てを組み入れないと効果が出ないというスタンス
部分的に見て、業界への貢献度は
・インクリメンタル開発の普及
・テストファースト
・リファクタリング(メタ的な意味合い)
ただ、それなら一般的なアジャイル開発プロセスも支持できる
ASDなどはかなり柔軟性が高い
またインクリメンタル開発から、階層的開発への発展もあるだろう
0951デフォルトの名無しさん
NGNGな気がする。
0952デフォルトの名無しさん
NGNG> >>944
> できれば、「はぁ」とか言って欲しくないものだが
これは後悔してる。ごめんなさい。
>>941の
> >>937
> > コーディング前のクラス図なんかのラフスケッチは当然やってます。
> > ファウラーに限った話じゃなくケント・ベックだってやっている話だよね。
> ベックはやってないよ
>
> >しかし、そこには「本当のXP実践者はダイアグラムなんか使わないのだ」と言う意味合いが濃厚に
> >出ている。このことは、Kent の様な人々がダイアグラムをまったく苦手としているという事実によって
> >裏打ちされる。実際、Kent が自分から、決められた表記法に基づいてソフトウェアの図を書いたところを私は見たことがない。
の以下のところに注目。ケント・ベックはUMLやらなにやらを使ってないだけで図は描いているように読み取れる。
>決められた表記法に基づいてソフトウェアの図を書いたところを
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
繰り返すけど、ケント・ベックだってラフスケッチはやっていると思うよ。UMLみたいな表記法を使ってないだけで。
0953デフォルトの名無しさん
NGNG> ちょうど、勧められた本に面白い感想があったので載せよう
> ttp://mag.autumn.org/Content.aspx?id=20040712170744
>と言うことは、この著者は頭ではXPを分かっているつもりでいながら、
>身体には古い常識が染み込んでいて、文章が矛盾して分裂してしまっている?
確かに矛盾しているように見える。
けど、この一文からのみで
> と言うことは、この著者は頭ではXPを分かっているつもりでいながら、
> 身体には古い常識が染み込んでいて、、文章が矛盾して分裂してしまっている?
っつーのは乱暴すぎるかと。
誤字がひとつあっただけで「こいつの日本語はなってない!!」と言うのと同じぐらい乱暴。
>>943はこのページで何を訴えようとしてますか?
0954デフォルトの名無しさん
NGNG> それだけでは困難な問題が多い、または戻りが大きくなってしまうことが多々あると言うことだ
> 設計を行わないことのコストはファウラーが国際化対応問題で取り上げている
>
> YAGNIの神への間違った信仰が狂信者を生んでいる
Continuous Design
http://www.martinfowler.com/ieeeSoftware/continuousDesign.pdf
を見ると、>>935でいう「困難な問題」は杞憂のようだね。
事前設計した永続化層は最悪だった、とまで言っている。
---
I hedged my bets: I designed a layered architecture and persistence model up-front.
The persistence model was a disaster: it required a huge amount of code to do simple things.
Continuous design, however, was a roaring success.
The application, developed over 16 months by six people, had the best design I’d seen.
Bit by bit, continuous design fixed the persistence model too,
eventually giving us an elegant solution that was simple and flexible.
---
あと、ファウラーも Is Design Dead?(http://www.martinfowler.com/articles/designDead.html)で以下のように言っている。
---
A recent article by Jim Shore discusses some situations, including internationalization, where potential boundaries turned out not to be barriers after all.
---
これでもまだ
> リファクタリングとテストだけで望んだ形になる?
> 馬鹿なw
と言い続けますか?
0955デフォルトの名無しさん
NGNG> XPを全否定する理由はすべてのプラクティスの強制
寡聞にして知らないのだけど、XPが全てのプラクティスを強制している、のソースはどこでしょうか?
> 全てを組み入れないと効果が出ないというスタンス
それぞれのプラクティスの相互作用によって効果を高めあっていて、全てのプラクティスを組み合わせると効果がMAXになる。
が、全てを組み入れないと効果が出ないなんてことはなくて、組み合わせれば組み合わせた分の効果は出ると思うよ。
0956デフォルトの名無しさん
NGNGごめんなさい、なんだか失礼な言い方でした。手遅れなれど訂正。
= 訂正前
これでもまだ
> リファクタリングとテストだけで望んだ形になる?
> 馬鹿なw
と言い続けますか?
= 訂正後
これでもまだ
> リファクタリングとテストだけで望んだ形になる?
> 馬鹿なw
と思われますか?
0957デフォルトの名無しさん
NGNG書くことは沢山がるが、今日は酒が多量に入ってしまっているのでまともに返せそうにない
すまないが後日と言うことにしてくれ
あと、あまり畏まらなくて良いよ
主張としての強い論調なら別に構わないから
それすらこちらの希望に過ぎない
お任せする
# 関係ないが今日はいろいろなベンチャー企業の面白い話が聞けた
# 開発プロセスと資金繰りの問題はかなりの面でぶつかるようだ
0958デフォルトの名無しさん
NGNG> XPが全てのプラクティスを強制している、のソースはどこでしょうか?
例えばここにあるファウラーの昔の文章の中に
http://www.objectclub.jp/community/XP-jp/xp_relate/xpvariations-j
>>XPには従うべきプラクティスが12個あるし、また、みんなが12個のプラクティ
>>スの全てを行うようにとXPの主導者が腐心していることは、関連するディスカッ
>>ショングループをずっと追いかけていればすぐに明らかになるからだ。
という表現が出てくる。しかしながら、そのすぐ後で、
>>しかしXPの魅力は、XPの具体的なプラクティスに惹かれたのではなく、XPの
>>底部を流れる「哲学」に共鳴した人々から産み出されているのだ。
と続く。
初期の XP では、各プラクティスは有機的なつながりがあって、ひとつだけを
取り出しても十分に機能しない、という主張がなされていたが、これは個々の
プラクティスを取り上げ各個撃破しようとする批判に対する反論として行われ
たものっぽい。
最近ではむしろ、プラクティスはそれぞれの現場にあわせて適切にリファクタ
リングして導入されるべきだ、ぐらいの方向に変わりつつあって、Kent Beck
ですら、TDD を独立したテクニックとして語るようになっている。
0959デフォルトの名無しさん
NGNG>あと、ファウラーも Is Design Dead?(http://www.martinfowler.com/articles/designDead.html)で以下のように言っている。
これ、以下の日本語訳には反映されていないね。
http://www.objectclub.jp/community/XP-jp/xp_relate/isdesigndead
Is Design Dead? は何度か改訂されていて、翻訳の内容がちょっと古くなっているみたい。
0960デフォルトの名無しさん
NGNG>>952
> 繰り返すけど、ケント・ベックだってラフスケッチはやっていると思うよ。UMLみたいな表記法を使ってないだけで。
これは平行線になりそうなので議論から外す
憶測を題材に進めるのは賢い方法ではない
>>953
> >>943はこのページで何を訴えようとしてますか?
実際にその意味を理解している人間の少なさ
ピアゾンのXPシリーズでも本当にベックが監修したのか、首をかしげたくなるものが多い
また意見のぶつかり合いなど(XPみどり本etc)、プロセスとして不安定なものがあり使用者をとまどわせる
0961デフォルトの名無しさん
NGNG> これでもまだ
> > リファクタリングとテストだけで望んだ形になる?
> > 馬鹿なw
> と思われますか?
この開発手法の利点の根源は、「仕様は必ず変わる」と言う部分に帰結する
さて、呪文のようにこれらの言葉を言われ続けている事は真実なのだろうか?
答えは「Yes」だ
確かに仕様は、変わるだろう
ただ、その頻度はどうなんだろうか?
影響範囲は?
細かいテストとリファクタリングのは起こりうる変化にかかるコストを先払いすることで一定の速度を確保する
ローギアで山道を警戒しながら走るのと同じ事だ
それに対して、今までの開発手法はトップスピードで突き抜けるようなもの
単純なスピードは速いがパンクや、ガードレール直撃、JAFのお世話になって結局遅く目的地に着く可能性もある
ヘタをしたら、ガードレールを突っ切り谷底へのダイブを敢行する者もいるだろう:-P
しかし、ここで前提を確認してふと思うことがある
「はたして、常に道は山道なのであろうか?」
道には山道には山道の、ハイウェイにはハイウェイの走り方がある
同じ事が開発プロセスにも言える
企業運用プロセスも、インクリメンタルからこのような階層的プロセスに移りつつあり
この波がソフトウェア開発にも流れてくる可能性は非常に高いのではと最近強く感じる
そう、最適なスピードは階層化された進化型開発によってもたらされるのではと
まず、もう一度頭を空にして感じる事を進める
あと、こうなると既にXPの話ではなくなり、XPにこだわる価値は低くなる
やはり、XPのXPたる所以はその12のプラクティスにあるのだろう
0962デフォルトの名無しさん
NGNG> 初期の XP では、各プラクティスは有機的なつながりがあって、ひとつだけを
> 取り出しても十分に機能しない、という主張がなされていたが、これは個々の
> プラクティスを取り上げ各個撃破しようとする批判に対する反論として行われ
> たものっぽい。
これは穿ちすぎだな
憶測の域を出ない
> 最近ではむしろ、プラクティスはそれぞれの現場にあわせて適切にリファクタ
> リングして導入されるべきだ、ぐらいの方向に変わりつつあって、Kent Beck
> ですら、TDD を独立したテクニックとして語るようになっている。
これは、切り売りしたわけではなく具体的な手法としての補完だろう
しかし、ここでもある程度問題を見ることが出来る
例えば有名なMoneyオブジェクトについてだが、明らかに指針に基づいた修正を行っているように見える
それは、ベック(もしくはカミンガム)の今まで培ってきた経験によるものに他ならない
テストとリファクタリングをしたら最適な形になったのではなく、最適な形へ向かってテストとリファクタリング
をしているわけだ
0963デフォルトの名無しさん
NGNGごめん。何が言いたいのかよくわからないよ。
>例えば有名なMoneyオブジェクトについてだが、明らかに指針に基づいた修正を行っているように見える
これは穿ちすぎだな
憶測の域を出ない
とか言ってみたり。
0964デフォルトの名無しさん
NGNGさらに理解を深めるという課程は何かと為になるだろう
で、質問なんだが
実際にXPを実践していると思われるが、12のプラクティスのうち幾つ使っているか
また、XP支持者としてXPの抱える問題とは何か?をお聞きしたい
0965デフォルトの名無しさん
NGNGうわぁ嫌みだ:w
まぁ、いくつかあるけどバリューオブジェクトの導入過程やカミンガムのひらめきなど
# これまた、泥沼の水掛け論になるんだろうか
0966デフォルトの名無しさん
NGNG白本には確かに12のプラクティスが載ってるんだけど、最新のプラクティスはいったいいくつあるの?
以下のリンクには、いずれも12個以上のプラクティスが出てくる。
http://c2.com/cgi/wiki?ExtremeProgrammingPractices
http://www.extremeprogramming.org/rules.html
どの情報が最新なのかさっぱりわからん。教えてエライ人
0967デフォルトの名無しさん
NGNGしかしXPはカスタムしないと実際は使えないよね
0968デフォルトの名無しさん
NGNGそれをがんばってやるのがXP
いくらXPを知っていて、現実的にXPやろうとしていても、カスタムXPをやるのはXPとは言えない
XPが偉いのは、こういう非難轟々が予想されたことだろうとなんだろうと、
これをやらなきゃソフトウェアは作れないという現実を示しているところだと思うよ
非難されるからっていって安全なことを言うのは単なるAgileな人 この人は結局何もできない
0969デフォルトの名無しさん
NGNG狂信者登場
0970デフォルトの名無しさん
NGNGまぁいいが、
ちゃんとXPやらなきゃ、安くて品質の高いオフショア開発にはとても勝てないだろうから
ソフトウェアを作ってオカネを得ることはできなくなるだろうと思うよ
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNGちゃんと実践できる組織を探して今はプログラミングとは無縁の仕事やってるぜ
でもねぇ、楽なほうへ楽なほうへ流れてくのが人間だと思う。そして結局後で苦しむ。
腹を決めてXPやるしかないんだってことになぜ皆気づかないのか、どうにもわからない
ソフトウェア開発のことが分かってない人だらけなのが日本なのだとしか思えない
0973デフォルトの名無しさん
NGNGそれよりXPをそこまで盲信するのはどうかと思うけど
何故の説明が一切無くてそれだけ言ってるとキモい
同じ事がASDにもスクラムにもクリスタルにも言えるんじゃん
0974デフォルトの名無しさん
NGNGその精神をちゃんと持ってソフトウェア開発やってる組織ってどのくらいあるかね
0975デフォルトの名無しさん
NGNGれてるんだし、 XP を始めとする適応型の開発手法で、状況に応じた修正が必
須なのはごくあたりまえのことだよね。
まず改めるべきは、この世のどこかに自分達を救ってくれる素敵なアイデアが
すでに用意されているという幻想であって、そんなものはこの世のどこにも存
在していないということを認めて、初めて最初の一歩が踏み出せるのだと思う。
なので、「12のプラクティスのうち幾つ使っているか」なんて疑問はそもそも
ピントがあやしくて、質問すべきは「「あなたの組織はどんな仕事をしていて、
XPの、プラクティスをどうやってカスタマイズしていますか?」ということな
んじゃないか、と。
あ。地震だ。
0976デフォルトの名無しさん
NGNGXPの本家も見てきたけど、論調がほとんど968と同じ('A`)
961が一番まっとうに見える。
0977デフォルトの名無しさん
NGNG961 のような形に流れがちだけど、それで何か解決するのかと。
XPのプラクティスの実践の不足を補うのは、そう簡単なことじゃない。
XPをやるのは難しいが、XPのプラクティス実践の不足を補うほうがさらに難しい。
結局、ソフトウェアつくりが分かってないんだよ
0978名無しさん@Linuxザウルス
NGNG0979デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1091773629/
0980デフォルトの名無しさん
NGNG>>973
0981デフォルトの名無しさん
NGNGインクリメンタル開発は他分野では既に通過点だよ
建築とか企業のプロジェクトとか既に次の段階に進んでいるっぽい
部分毎に分けてそれをインクリメンタルにするヤツ
Genesisだったっけ?
全部がXPみたいな開発はやっぱ無理があるってことらしい
0982デフォルトの名無しさん
NGNG0.1dさん♀とペアプログラミング。
けっこうたのしぃ。
8 :デフォルトの名無しさん :04/08/07 15:10
よわよわなウチの会社ではTDD止まりでつ。
ペアプロしてみてー(異性)
0983デフォルトの名無しさん
NGNGXPの延長線上の話ならよいのだが、
XPの精神を踏まえない、単に楽したいだけで分かってるフリしてXP批判している香具師はヨワいと思う
0984デフォルトの名無しさん
NGNGXPは絶対であり、それには間違いがないと言うことを前提とし、それをしないのが問題だという
961の指摘はまさしく981の流れになった時に、言われた指摘であり実際にその流れになりつつある
0985デフォルトの名無しさん
NGNG981が言っているのはインクリメンタル開発全般の事だろうに
0986デフォルトの名無しさん
NGNG藻前のような「インクリメンタルって言っておけば間違いない」というような香具師は
話が曖昧すぎて何もやってない、何も言ってないのと同じ。分かってるようで何も分かってない。
XPのような明確なメッセージを持った方法論を言うことがどれだけ難しくて、生産性が高いかを
考えたほうがいいと思うよ。
0987デフォルトの名無しさん
NGNGだから、お前の発言は具体性がないんだよ
ただXPは生産性が高いを連呼するだけ
そんな話で誰が納得すると思う
実際に問題点を付き、それを考える人間が多数いる
常に疑問を感じ、それこそテスト&リファクタリングしない様なヤツはただの無能だ
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG問題点に気づいても、XPをプラクティスを守るにはどうすればいいかっていう方法に
思考が回らなければダメ。
方法論を構築する、とか言って、結局悪い方向に構築するだけの香具師ばかりだと漏れは思う。
0990デフォルトの名無しさん
NGNG> 思考が回らなければダメ。
守ると言うことが前提、XPが全て正しいと言うことが前提。
ダメだなこりゃ
0991デフォルトの名無しさん
NGNGなんか嫌なことでもあったのか?
0992デフォルトの名無しさん
NGNGあたしゃ生暖かく見守るが、正直気持ち悪いなぁ
0993デフォルトの名無しさん
NGNGその使命感みたいなものは、何事に対しても抱いているの?
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNGまぁ、答えになってない答えなんだよね。
メッセージ性なし。意味なし。
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。