【XP】 Agile Process 【UP】
■ このスレッドは過去ログ倉庫に格納されています
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/
なるべくマターリでおながいします。
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デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています