eXtreme Programming
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG実際実用的と思われるのはTesting, Refactoringの2つだと。
Cording Standardsは常識と考えればね。
XP全般について語ってもいいですが、
むしろTesting, Refactoringの二つをメインに語りましょう。
Testingのテクニックなんざをね。
参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
0409デフォルトの名無しさん
NGNG自分のコードみたら言語によってまちまちかも。
分けた方が全体的な保守性はいいのは確かだね。
0410デフォルトの名無しさん
NGNGこのDUnitのクラス構造ちょっと変わってるね。
TComponent <- composite
+ TTest <- この時点でテストを階層化してる。こいつを継承してテストを書く
+ TTestSuite <- テストの(階層的な)実行、レポート、singleton
+ TMethodTest <- TTestの個々のメソッドをオブジェクト化、テストメソッドの呼び出しを担当。テストメソッド毎にもテスト結果を持てる。
あとプロファイラなんかの拡張機能もTTestに突っ込んである。
TComponentって事は登録してフォームに貼り付けてGUIテストもできるのかな?
# ソースではregisterしてないけど
0411デフォルトの名無しさん
NGNGつーか、同じ名前を付けんじゃねーぞ、ゴルァ。
>>386では”DUNIT"ってかいてるけど、ソースフォージの表記は"DUnit"だぞ、ゴルァ。
つーか、>>383の本買ったぞゴルァ。
まだ読んでねーぞ、ゴルァ。
0412デフォルトの名無しさん
NGNG使い勝手どうですか?
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNGmake testでエラーがでて困ってるんですけど
なんとかなりませんか?
あと使い勝手はどうですか?
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGwebをまわってみても実際に何をするのかがいまいちつかめなかったので
とりあえずXP入門の本から読んでますが、珍妙な訳にくじけそうです。
0422デフォルトの名無しさん
NGNG性格もよくて、将来に何の不安もなくて、毎日楽しく生きてる、
ようなプログラマーが集まれば、勝手にXPになります。
0423デフォルトの名無しさん
NGNG(デジタルなどのおかげで)成果物の「完璧コピー」がとり易い分野であり、
成果物の「ただしさ」がはっきり定義できる分野ならば、
ほかでも使えるかもね。
プログラム以外で、そういう意味でデジタル化されてる分野ってーと
なにがあるでしょう?
とりあえず思いつくのが、音楽とかの芸術分野と、設計図分野。
でも芸術は「ただしさ」が定義できないんで、
UnitTestとかが意味をもたない(藁)
設計図はいけるかもね。
実際、大企業むけのシステムでは最近、(リモートでだけど)複数人間による
図の同時編集なんてのが行なわれている。もちろんVer管理もあるし、
間違いも定義可能なのは言うまでもない。
なのでUnitTestもRefactoringもPairProgもできる。
>勝手にXPになります。
それは言えてるかも。
馬鹿なやつは下らない(有害無益な)管理方法を採用してデスマーチに嵌っていく。
0424デフォルトの名無しさん
NGNGウチでは,UnitTestって言うくらいなんで,当たり前だけどIntegrationTest(組合せテストね)
では全然使えません。何が言いたいかって言うと,単純なクラス以外は適用が困難で(つまり
テストのための準備が大変すぎて)実行時テストの方が工数的に妥当だよね。
ファイルやネットワークやモジュール間通信をするクラスなんかはこれに当たることが多いなり。
で,単純なクラスってなると大抵,基礎的なクラスで,そうそういじらないと。新しいプロジェクト
じゃない限り枯れてる事も多いと。逆に上位のクラス(アプリクラスって言ってるけど)では,適用が
大変だと。むにゅー,どこに使うなり?適用事例求む。
0425デフォルトの名無しさん
NGNG禿しく同意。
cppunit 拾ってきて、UnitTest の環境作って
テストクラス書こうとして、1行目で挫折しました。
0426デフォルトの名無しさん
NGNG俺は出来るところだけテスト書いてる。だからテストが書けるのは10%くらいかな。
でも最初にこれをやることが肝心。いちどコンパイルのサイクルの中にテストが
入ってくれば徐々にテストは増えていく。1ヶ月も続けるとテストなしでは不安を
感じるようになったよ。
「テスト書いたから実行時テストは要らない」にはならないんだから、すべてを
網羅しようとしないことが大切だと思う。
0427デフォルトの名無しさん
NGNGテストユニットは几帳面で完璧主義な人には向かない。
テストユニットは動作保証というより、
コーディング前にテストを用意することにより、
設計検証として役に立つ(ことがある)。
テストを作ると「この仕様だめじゃん」とか気付く。
0428Delフサギコ
NGNG具体例を交えて話題が出ると
スレも盛り上がるかと…
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ オレ ハ DUnit ヲ
ミ,, ゚Д゚彡 イキナリ ザセツ シテルンダケド....
〃つl⌒|⌒l
〜ミ,,[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0429デフォルトの名無しさん
NGNGテストしやすいクラスは設計の筋がよいという経験則をよく聞きます。
例えば値を計算するメソッドと、それを表示するメソッドを分けるとか。
ひょっとして関数型プログラミングの副作用をなくして参照透過性を保つとい
う考え方に通じるものがあるんでしょうか?
0430デフォルトの名無しさん
NGNG論理処理とユーザーインターフェイスの分離は前提だよな。
そしてユニットテストは論理処理の側だけに書く。
XP的にはユニットテスト書くのが困難ならリファクタリングすべきだと思うけどどう?
0431デフォルトの名無しさん
NGNG>テストのための準備が大変すぎて)実行時テストの方が工数的に妥当だよね。
「実行時テスト」というのは初めて聞いたけど、どういうものなの?
「テストのための準備」というのを、テストをやるたびにしなきゃならないなら、
多少工数がかかっても、UnitTestを書いておいたほうがいいと思う。
>ファイルやネットワークやモジュール間通信をするクラスなんかはこれに当たることが多いなり。
これも、
>逆に上位のクラス(アプリクラスって言ってるけど)
これも、UnitTestは可能だと思うけどなぁ。
ちなみに僕は、ほとんどの場合、下位クラスはstubに置き換えて結合して、
UnitTestをやってます。
んで、下位クラスが出来たところで、結合してUnitTestを実行。
>>426
>1ヶ月も続けるとテストなしでは不安を
>感じるようになったよ。
うんうん。
となりのチームは、コンパイルもせずに、ダーっとコードを書いて、
山のようなコンパイルエラーが出て、それをちまちま取って、コンパイルできて、
動かそうとしたら全く動かなくて途方に暮れてるみたいだけど、
こんなやり方で、良く集中力が持続するなーって感心する。
0432Error401
NGNG>テストユニットは動作保証というより、
>コーディング前にテストを用意することにより、
>設計検証として役に立つ(ことがある)。
そう?
僕は動作保証の為にUnitTestを書いてるけど。
だって、穴のたくさんあいたTest Suiteだと、リファクタリングも怖くてできないし、
他の人の作ったのなんて、怖くてメンテできない。
そんなことない?
あ、僕はUnitTest依存症なんだと、今気づいた。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNGサンプルに付いてくる HostApp はMFCアプリですが、自分が
テストしたいのはコンソールアプリです。コンソールアプリから
TestRunnder::run() を呼ぶとダイアログを表示するところで
エラーが出でしまいます。
マニュアルによるとTestRunner.dll のようなMFC と動的にリンクされる
レギュラーDLLではエクスポート関数の先頭でAFX_MANAGE_STATE
マクロを使ってモジュール状態を切り替える必要があると。
で、このマクロをつかうと今度は DllMain の多重定義のエラーが
出てしまい、いろいろ調べまわってみましたが同様のエラーに悩んで
いる人はたくさんいましたが解決法が見つかりません。
だれか解決法知っている人いませんか?
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNGhttp://member.nifty.ne.jp/glad/cpp/test/
こちらがよいと思われますぞ。
0438435
NGNGコンソール版の TestRunner というのはみあたらないですね。
>>437
実は最初に cppunit-x を使ってこれはちゃんと動きました。
プアな環境でも動作するようにつくってあるということで
独自のマクロを使っているので、VC++6で使う分には CppUnit1.5
のほうが分かりやすいと思ったのでそっちも試してみたのでした。
あと結果の表示がグラフィカルで見やすいと思ったので。。
「eXtreme Programming テスト技法」でも主に cppunit-x が
紹介されてましたが、みなさんこっちをつかってるのですか?
0439436
NGNGこれは CppUnit1.5では無いのか。
TextTestResult.h/cpp ってのは入ってないかい?
若干手を加えたので、どれがオリジナルか判らん状態。
0440デフォルトの名無しさん
NGNGサンプルのSmartPtrTestが予期した動作をしてくれないっぽい。
起動すると、「Unknown test class: TestSuite」ってダイアログが出て、その後もフォームこそ出るけど、その中のボタンを押しても反応無し。
どなたか、原因を知っている方いらしたら、よろしくお願いします。
0441435
NGNGTestRunner.dll がレギュラーDLLであると書いてしまいましたが、
拡張DLLの間違いでした。拡張DLLの関数を呼ぶことができるのは
MFCアプリだけということなので、今のままではコンソールアプリから
CppUnit1.5 の TestRunner を使うことはできないみたいですね。
0442435
NGNGSourceForge から CppUnit1.6.2 をひろってきたら TextTestRunner
や TextTestResult というクラスがありました。これを使ったらOKでした。
>>439 ありがとう!
0443(X_P)
NGNG誰かいない?
0444デフォルトの名無しさん
NGNGこれは読んだかな?
http://objectclub.esm.co.jp/eXtremeProgramming/XpPracticeReport.html
0445443
NGNGありがと。
読んでみた。
なかなか面白そうだと思ったけど、444のリンク先は、実際のプロジェクトとは少し離れ過ぎている気もする。
実際のプロジェクトでやってる人の感想とか聞いてみたいなぁ。
UnitTestやリファクタリングは自分でやってみたのでどんな感じかわかるが、
ペアプロとか毎回誰がどこ組むか決められる(共同所有)、とかそういうのがうまくいくのかどうか。
なんかこんなにうまくいかなさそうな気がするんだよなぁ。
顧客周りはいってもはじまらんのでどうでもいいや。
0446デフォルトの名無しさん
NGNGでも全てのプラクティスを実行したわけじゃなかった
例えばペアプロ->一人で組んで、もう一人がコードレビューとか
雑誌名忘れちゃったな。日経ソフトウェアだったかな???
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0449Delフサギコ
NGNGミ ゙''゙゙゙つ
ミ∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚彡 < いきなりシツモンなのですが
U U \________
ピンク色XP本の
P180の完成したストーリーグラフ図の
5番と6番のところに黒色の塗りつぶし分がないのが
なぜかよくわかりません。
なぜでしょう。
0450Error401
NGNG0451Delフサギコ
NGNG@'"ミ,,゚Д゚ミ < サンクス
UU''UU \___________
あら、ご無沙汰してます>>Error401さん
では
5になれば
自動的に75以上のストーリーが完成するという事でいいのですか?
妙に日本語訳が意味通じない気がしますが
適当に感じたらいいのかな。
0452Error401
NGNG>あら、ご無沙汰してます>>Error401さん
ちょっと前にデータベーススレで切れてしまったので、コテハンは
やめようと思ってたんだけど、文体を変えるのが面倒なので復活
させることにしました。
>5になれば
>自動的に75以上のストーリーが完成するという事でいいのですか?
でしょ?
それから、あそこで言いたいのは、
・トラッキングせよ
・公開せよ
・ストーリー数が増えている理由を把握せよ
ってことでしょう。
>妙に日本語訳が意味通じない気がしますが
さっきP179-P181を読み返してみたけど、意味が良くわからない
ところがありました。
最初に読んだときには気にならなかったんだけどね。っていうか
精読してないし・・・。
気になる箇所があったら、しかるべき所にメールしてみればいいかもね。
0453Error401
NGNGhttp://www.pearsoned.co.jp/washo/object/wa_obj46-j.html
んで、さっき買ってきた。
Servlet+JSP+DBのWebアプリケーションを例にしてるみたい。
パラパラとめくってみると、具体的な(完全な)コードがかなり
載ってる。ほとんどがServletのだけど。
なかなかよさげだよ。
0454デフォルトの名無しさん
NGNG日本人で書ける奴いねーの?
0455デフォルトの名無しさん
NGNGにしちゃっている。訳注でちゃんとフォローしているからいいけど。
0456Error401
NGNG翻訳も良かった。こなれた日本語になってる。
ところで、XPを「究極の〜」といってる人をたまに見かけるけど、
アレ、何か元ネタあるんでしょうか?
0457デフォルトの名無しさん
NGNG修正しなきゃならないってのはテストとしてよくないんでしょうか?
ここを変えるとするとああここもあそこも…って感じで
ちょっとげんなりです。
0458デフォルトの名無しさん
NGNGミスター味っ子
0459デフォルトの名無しさん
NGNGテストとしてよくないというか、プログラムとしてよくないというか…
変更が波及しています。スメルがバッドです。リファクタリングのサインです。
でも、ある程度は仕方がないと思う。
0460Error401
NGNGGoogleしてみたら、テクノロジックアーツのページなんかで、
extremeを「究極の」って訳してた。
「究極のプログラミング」と言われると、ちょっと違和感あるんだけど・・・。
>>457
なぜ「あちこちのテストを修正しなければならない」ことになるんでしょう?
それがわからないと、なんとも言えません。
ひょっとしたら、テストコードのリファクタリングが必要なのかも。
foo()がbar()を呼び出していて、bar()に仕様変更が入り、その結果foo()の
挙動も変更になるので、foo()のテストもbar()のテストも変更する必要がある、
ということなら、それは仕方が無い。
0461Error401
NGNG暇なときに探してみようかな。
なぜこのことが気になるかというと、
「XPって究極のプログラミングと言ってるが、どこが”究極”なんだよ」
みたいな批判をするのを、たまに目にするから。
0462Error401
NGNG「ソフトウェア開発の究極の手法」
ってなってました(汗
そうかー、そうだったのか。
僕はずっと、「なんでも極端にやる、極端流プログラミング」だと思ってたのだけど・・・。
0463Error401
NGNG>実践記まで翻訳なのかよ
>日本人で書ける奴いねーの?
平鍋派と長瀬派が対立してるので難しいのかも、などと思ってみる。
# 対立してる云々は全くの想像。
# テクノロジックアーツじゃなくて、テクノロジックアートでした。スマソ。
0464デフォルトの名無しさん
NGNGいまの会社では激しい論争を起こしても問題のない人ばかりなのでよいですが、
そうでもない環境ではどうなんでしょう。
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG他のメンバー集めてスタンドアップミーティングすれば良いだろ?
すぐにミーティングが開ける環境を作るというのも極端なプログラミング
を行いために重要だと思う。
重要な部分で無い点で、相棒と対立した場合は、あなたが折れましょう。
どうで大したことじゃないんだから。そんな所に力を注ぐことは無い。
0467457
NGNG>変更が波及しています。スメルがバッドです。リファクタリングのサインです。
>>460
>ひょっとしたら、テストコードのリファクタリングが必要なのかも。
レスどうもです。やっぱりそうですね…。
クラスの結合テスト的な部分でよくこうなるんですが、クラス自体の
機能はそれぞれのユニットテストにまかせて、結合部分ではインターフェイス
のみテストするようにした方がいいのかな? スタブで置き換えて、正しく
引数が渡されてきてるかチェックするとか…。
0468デフォルトの名無しさん
NGNGちょっと疑問です。
内部状態を遷移させ状態を元に処理をディスパッチするようなクラスメソッド
をテストする場合ってなにか有効なテストの書き方があるのでしょうか?
従来のUTでは状態遷移マトリクスを書いて、通しやすいセルから埋めて行き、
通しにくいパスは、試行錯誤しながら時には強引に状態を制御しつつ全パス
のチェックを行っていました。
CppUnitでテストをする場合もやはりこういったマトリクスから、全パスが
通るようなシナリオをひねり出してテストクラスに埋め込んで行くのでしょうか?
かなり負荷が大きいような気がしますが。
そんなものなのでしょうか?
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGそれぞれのオブジェクトを直接ユニットテストする。
それらのState objectから別のStateへの変更を起こすようなアクションが呼べるように
親Interfaceを定義しておく。
UnitTestではそのInterfaceをテスト用に正しく呼ばれたことを記録するだけにして、
その記録をassert。
みたいにやっとるよ。
0473Delフサギコ
NGNGミ,,゚Д゚彡 < 新年も、XPでいきまっしょい。
Π ̄ ̄ ̄| \
|つ 新ネソ ()
| |___.|
∪∪
ピンク本のP242の
インテグリティーってなあに?
唐突ですが、教えてちょ。
0474Error401
NGNG0475Delフサギコ
NGNGミ ゙''゙〜
ミ∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚彡 < ありがと
U U \________
http://home.alc.co.jp/db/owa/eijiro_red
訳は完全性って所か。
ところで、新しい職場でXPの事言って
「ペアプログラミングが〜」とか言ったら
優秀そうな、おっちゃんに
「それってどうなのかなあ。」と
かなり懐疑的な目で見られてしまいました。
どうやって、XP普及を促進させたらいいかなあ。
XPのよいプレゼンテーションを
頭の中で画策しているんだけど,,,うまく思いつかない。
12のプラクチスとか言っても、
「日本的なやり方ではダメじゃないか?」とか言われると
なんとも反論が出来ん。で萎え。
0476Delフサギコ
NGNG(`´`)
│ │
∧_l ∫ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚彡 ∬ < 今日はウドン鍋つくタ。
|∪ |つ=■ \ 冬はあたかい食べ物がいいね
〜| ̄|
U''U
ところで、XPスレが沈降しすぎて沈没しそうなので
ネタアゲ
[XP-jp:02971] 原子力発電所運用と XP の共通点
この記事面白かった。
CMMには今のところ、興味ねーので[CMM と XP]スレが詰まらん。
でもって、2チャソでスレ立てたらとか言い出すし・・・・・・・
0477デフォルトの名無しさん
NGNG0478Delフサギコ
NGNG|Д゚彡
| U
| ミ
| U
>「なにを作るべきか?」って質問に答えられるひとがクライアント側にいないから
じゃあ、クライアントは何を作って欲しいんだろう?
誰にも答えられないな。
0479デフォルトの名無しさん
NGNG白本を最初から最後まで読ませる。
たぶん12のプラクティス全部を理解してないんじゃないかな。
40時間労働、ペアプログラミング、テストユニット、とかの目立つとこだけ見てると、
そんな甘い話じゃないだろ、となっちゃうと思う。
俺も話を聞いてパラパラ眺めただけの時は懐疑的でした。
あれって、マニュアル的に拾い読みするのと、通して読むのとで印象が変わる。
「日本的」というのはそんな関係ないんじゃないの?
あれが「アメリカ的」というわけでも無いんだから。
0480デフォルトの名無しさん
NGNG>CMMには今のところ、興味ねーので[CMM と XP]スレが詰まらん。
でも、
>「日本的なやり方ではダメじゃないか?」とか言われると
の対策としては、CMMとの比較も役に立つんじゃないの?
既存の開発手法やソフトウェア工学の何が駄目で、
XPが何を解決しているか?
の話題なんだし。
0481デフォルトの名無しさん
NGNG>日本の場合、「なにを作るべきか?」って質問に答えられるひとがクライアント側にいないから、だめでしょう。
日本に限らず、「自分が何が欲しいか?」を本当に分かっているクライアントはあまりいないでしょう。
だから、XPでは小規模リリースを繰り返すんだし。
0482デフォルトの名無しさん
NGNG「建前と本音」を分けるのが好きだという困った性質を
忘れるわけにはいくまい。
みかたによっては、XPとは、「みんな(開発者も客もマネージャも)裏表や嘘偽りは無しでやろうぜ!」
という方法論だ、とも言えよう。
そこから、出来ない約束はしない(=小規模リリース、シンプルデザイン)、
プログラマ間で隠し事はしない(=ペアプロ、共同所有)、着実に出来るプログラムだけをしていく
(=ユニットテスト)、などなどが導けるのだ思われ。
で、これは特に日本人の不得手とするところなのではないか?という心配が、あると思う。
日本人は、「建前と本音」つまり嘘で固めるのが大好きだから(藁
なおこの問題は、XPに限らず、ソフト業界(ゲーム除く:あれはユーザーを「裏切って」も許されるので)全体や、
オンラインフリーソフトの方面などにも、響いている問題と思われ。
しかも昔から今に至るまでずーっと。
0483デフォルトの名無しさん
NGNG悪いコードに嫌気がさす自分を偽って、だめなソースを使いつづけない(=リファクタ)、
腹が減っては戦はできぬから10秒チャージしろ(=お菓子もちこみ(藁))、なども。
0484デフォルトの名無しさん
NGNG客と開発チームの間に、嘘がないこと。
→小規模リリースなど
開発チームの内輪に、嘘がないこと。
→ペアプロなど
開発者と計算機そのものとの間に、嘘がないこと。
→テストなど
プロジェクトにかかわる幾つかの存在の間に、このように
"嘘のない関係"が築かれていくのでしょうね。
0485Error401
NGNG多分、「完全性」ではなくて、「整合性」と言うのが普通だと思います。
integrity constraint(データベース用語)は、「整合性制約」が普通だと思う。
あの本では、データの保存先を普通のファイルにして、さらにファイルを複数に
分けたときのファイル間の「整合性」の話をしてるのだと思います。
0486Error401
NGNG解決するものではないと思います。
ビジネス上の判断(ベネフィットとか優先順位とかリスクとか)を迅速に
その場でしてもらう、あるいは、そのことについてコミュニケートしやすく
する、というのがオンサイトクライアントの主な目的ではないかと。
今、XP本を読み返す暇が無いので、間違ってるかもしれませんが・・・。
0487Delフサギコ
NGNG〜'"ミ,,゚Д゚ミ < XP普及のためにも
UU''UU \_優れたプレゼンをクレ
なまじ、自分が"出来る"と思っている人間が
意外と否定的だったりしません?
>>485
いつも、ありがとうございます。
建前と本音は大きい企業になるほど
より強く存在するもんなんでしょうかね。
0488デフォルトの名無しさん
NGNG…プログラマの間だけですが
0489デフォルトの名無しさん
NGNG0490Delフサギコ
NGNG∧,,∧ /いきなり否定から入っているからなあ
ミ;゚Д゚彡< 白本よめってのは
ミつ つ \ ちょっと通じなさそうなのです。
〜ミ ,, ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪∪
やっぱり、上に立つ立場の人が理解して挑戦しないと
イテレーション計画やオンサイト顧客系の
試みは、なかなか実践できないねー.
上司にどうやってXPを伝えたらいいのかしら。
0491Delフサギコ
NGNGCMMのスレ読んでみたら
痛い奴ばっかじゃん
読まなきゃよかった。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ チェッ
ミ #゚Д゚彡∬
〃 つ旦O
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
H氏の意見は正論だけど粘着しすぎ
Mは単なるネンチャク厨房だしっ
0492デフォルトの名無しさん
NGNG取ることがステータスみたいな面が大きいのが弊害だな。
0493デフォルトの名無しさん
NGNG>上司にどうやってXPを伝えたらいいのかしら。
UnitTestを上司の目の前で実演するのは効果的。
XPの雰囲気を実感させないとイテレーションとか口で説明しても
(゚Д゚)ハァ?
って顔されてしまう。
喫煙ルームでマターリと根回しするのも忘れずに。
0494Delフサギコ
NGNG@'"ミ,,゚Д゚ミ < お子様だから、たばこ吸えません
UU''UU \___________
でも、女性にもてたりするよね。
アラ,キノセイカシラ
>口で説明しても (゚Д゚)ハァ?
そうそう。なんとかやっていきたいね。
0495デフォルトの名無しさん
NGNG>H氏の意見は正論だけど粘着しすぎ
>Mは単なるネンチャク厨房だしっ
H氏は議論の誘導が下手だね。
どんどん脱線させられていくし。
0496デフォルトの名無しさん
NGNG>上司にどうやってXPを伝えたらいいのかしら。
良いことしか伝えないで、口頭で同意を取り付ける。
あとは、勝手に実践する。
権限がないなら、逸脱する。
0497デフォルトの名無しさん
NGNG0498Delフサギコ
NGNGミ;゚Д゚ミ < 強制的に物理アクセス?
ミ ミ \__
〜ミ,UU_ミ ビールビンハ チョット…
ハードウェアガ コワレチャウ オソレガ…
0499デフォルトの名無しさん
NGNG下の口にですか?
0500493
NGNGAAを見ただけでネタスレと勘違いする奴が多いからsage進行の方がいいよ。
とくに連休中は。
(493の続き)
折れも吸わないけど、上司と気軽に雑談できる数少ない場所なんでよく行きます。
そういう場所なら、
「え?人月の神話読んだ事無いんですか?ダメっすよ。」
とか言っても角が立ちにくいしね。
0501デフォルトの名無しさん
NGNG激しく遅レスだけど、実践記本書きたいす。
でも顧客の都合というものが……。
実名出せない実践記ってウソくさいもんねえ。
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGWebで紹介すりゃいいだろ
紙の無駄だよゴルァ!!
0504デフォルトの名無しさん
NGNGペアプロとか、担当者がいなくなってもよいための1つの方法であって、
必ずしもXPだからといってペアプロをやる必要はないように思います
何か方法論のみが1人歩きしているように感じてしまいます。
0505Error401
NGNGXPを部分的に取り入れていて、痛切に感じるのは「共同所有」の
大切さと難しさです。
この共同所有を実現するために、そして、プログラムの、テストの
品質を保つのに最も重要なのが「ペアプログラミング」だと思います。
リファクタリングの勇気を与えてくれるのは「テスティング」でしょうが、
それは、適切なテストを前提としなければなりません。
適切なテストは、一人でやっていると難しいものがあると思います。
チーム全員が高スキルで、いつでも最高の調子で仕事が出来れば
別でしょうけど。
>XPの本質はいかに変更に伴う負荷を減らすかにある
それだけがXPの本質である、と言われるとちょっと違うような気がします。
それは一面をとらえただけにすぎないのではないでしょうか。
XPとは、ソフトウェアの品質・価値を最高に高め、そして開発を楽にさせる
手法である、と僕は考えています。
0506Error401
NGNGずっと前にマ板で書いたことがあるのですが、僕のチームはXPを部分的に
取り入れています。
できていないのが「ペアプログラミング」「オンサイト顧客」です。
(週40時間もできてませんが、それはおいといて)
後者は、XPと比べて単純に時間がかかるだけで、何度もコミュニケーションを
とれば、ほぼ問題は無いのですが、前者ができないのは大問題です。
XPのプラクティス「単純な設計」、適切な「テスティング」、そして、コードの
品質。これを保証するのに多大な労力が必要です。
これを解決するために、不必要かもしれない設計書(メモ)と、レビューを
やっています。
ひょっとすると、ペアプログラミングをすれば以上のような問題も解決して、
週40時間も達成できるのかもしれません。
ただ、これは心理的なハードルが高くて、なかなかやる気になれないんですよね。
あまりにも今までの文化と違いすぎて。
0507デフォルトの名無しさん
NGNGテストが全て自動でできればいいのですが、ユーザーインターフェイスの部分は自動ではできませんよね。
ですからテスト、リファクタリングのサイクルをまわしていくには、自動でテストできる部分と
できない部分をうまく分けて設計すること、いわゆるモデリングの部分も大事だとおもうのですが、
いかがでしょうか?
0508Error401
NGNGえーと、何かの反論でしょうか(汗
判りづらかったかもしれませんが、>>505-506の僕の主張は
・XPでは「共同所有」こそが最も大事ではないか
・XPは単に「変更に伴う負荷を軽減する」ためだけのものではない
ということです。
いわゆる「詳細設計書」なしの開発や、事前・事後のレビューなしの
開発を実現するにあたって、共同所有が必要であり、そのためには
ペアプログラミングこそが必要であると。
シンプルデザインに関しては、以前マ板でハマッタ覚えがあるので
言及しません(汗
■ このスレッドは過去ログ倉庫に格納されています