bNƃX^üႢ
ЂƂ͏Ԃ̌ƁA͐U镑̌̈ႢB
ЂƂ́AeXgƐ݌v𓯎ɂƂ̓NẅႢB











6-6.	eXgP[X菇
eXgP[X́AlXƃeXg{邾łAdvȂ̂͂ǂ̂悤ɃeXgP[X邩łBi̗ǂ\tgEFAJ邽߂ɂ́AȂvO̎n߂Ă͂܂BŏɂƌvƐ݌vsAdlLqKv܂B̓eXgƂlłBŁA\tgEFAJɂċLqȂ΂ȂȂɏЉ܂傤B}6 - 3ĂB
 
}6 - 3 słȂhLgAs({)\
hLgɕϊvZX
́A\tgEFAɋ@\ǉƂA̎dliKIɏڍ׉Ȃs\Ȃ̂ɕϊĂĂ܂Bs\ȃrhɂɂ́A\[XR[h (vO) Lq΂悤Ɍ邩܂񂪁A͖≮܂BCvbgȂ΃\[XR[hLqł܂񂵁ÃAEgvbg (\[XR[h) ̐؂dg݂KvłB̑O҂̖ŜdlłA҂̖ŜeXgP[XłBeXgP[X (}jAeXgP[XƃI[g[VR[h) A\[XR[hƓdlCvbgƂďƁA܂\[XR[hƓs\ȃhLgł邱ƂɒڂĂB
݂Ȃ́AdbJƂ͂łB̕dbɊ܂܂cȓdbԍf[^́AȂ̓~XقƂǂȂ̂ł傤B́A2l̓̓Iy[^ԍ͂ƂʁXɍsĂ̂łB̌2l̓͌ʂ˂킹΁AႤƂ̓~XƂČoł܂B2l̃Iy[^Aʒu̐𓯂悤ɊԈႦ\͔ɒႢłB݂Ȃ񂪃C^[lbg̃T[rXgƂAAJEg쐬ɂ̓pX[h2͂邱Ƃ߂܂AƓłˁB
rhƃeXgP[X̊֌WAƔɂ悭Ă܂BrhƃeXgP[X́A݂˂킹āȂÓ؂Ƃ킯łBJ̒iKɎ{eXgׂĐA댯MłBeXgɐƂƂ́AoO𔭌邱ƂɎsƂƂłBȎɃrh̕iǂƂƂ͍l܂񂩂AeXg̕iƂAeXgP[X̐s\Ƃ^ׂłB
\6 - 3 eXgʂ̕]
	ŏɋ^ׂ	ɋ^ׂ
eXgɃpX	eXg̕iH	rh̕iǂH
eXgɃtFC	rh̕iH	eXg̕iH

߂A}6 - 2ɎȒPɐ܂傤B
6-7.	1y[Wdl̋Lq
@\\tgEFAɒǉƂ́AŏɃvWFNg[h͊J҂1y[Wdl(Ey[WEXybN)܂BEy[WƌĂAۂ1y[Wŏ邱Ƃ͂܂肠܂񂪁AĂy[WɎ߂܂BNCbNEXybNƂƂ܂B\tgEFÁAȂ悤ƂĂ܂Ȃ̂ƓlɁAȂ݌v悤ƂĂ܂܂B܂A̋@\[U[ɂǂ̂悤ȉl񋟂̂A邢͂Ȃ̂A@\͈̔(XR[v)𖾊mɂKv܂B̂߂ɁAV@\̎dl̊Tv\ȌZ܂Ƃ߂dl܂B@\̋K͂ɂ܂A悻y[Wɂ܂Ƃ߂邱Ƃł͂łB̂悤ɁAŏ̎dlɂ͊TvLq΁A̋@\ڍ׉ł܂B̎dl̍ڂƂẮA@\TvA̋@\ǉ鐳 (ǉ郁bg₵Ȃꍇ̉e)A݌vƃeXgɑ΂vA@\̃S[ƃmES[ȂǂKłB̒iKł́A݌v͂ȂƂɒӂĂB܂A̋@\Rs[^ŎíAł͍l܂BA̒iKւ̃CvbgƂāA݌vɑ΂v͏ĂƗǂł傤BႦ΁Ag͍lKv͂邪g͍lȂƂAꂾ̃ptH[}XXP[reBmۂKvAȂǂƂƂłB̃̕htgłIAق̏㋉GWjAɃr[˗܂BKvȂr[TCN񂵂Ă̕Rv[gAr[ʂ玟̒iKɂ݂܂B
\tgEFÃhCɂẮA[U[ɎĂĒĂ邱Ƃł傤B̂Ƃ́A[XP[X}YtȂǂāA1y[Wdl킩₷i͂̂̂ɂ܂B܂AςɂĂy̕Kv邩܂B
̂悤ȃhLg̃^XNA5͂ŐBTSɓo^ĊǗ邱Ƃ܂ABTSɎdl𒼐ڏނƂ͂܂BBTS̒Ƀ\[XR[h𒼐ڏƂ͂Ȃ̂Ɠł B
6-8.	@\݌vdl̋Lq
1y[Wdl̃r[ʂ΁Aɂ̎SJ҂@\݌vdl܂B\tgEFÃhCɂĂLqׂڂςĂ܂AX{͈̔͂𒴂܂̂ŁAł͋@\dlɓK؂Ǝv鍀ڂ̈ɂƂǂ߂܂B@\̊TvƏڍׁA̋@\ɑ΂v␧A݌ṽS[ƃmES[A݌v̏ڍׂƃA[LeN`A̋@\Ƃ̈ˑ֌WA (R[hRv[g) ɕKvȍȞςAl郊XNȂǂ̍ڂƂēK؂łB
Ał͏ڍׂ݌vɂ͗Ȃ悤ɂ܂Bɂ́A݌vdlLqΏۂ̋@\ɂāAK؂ȗxI邱Ƃ؂łBׂ@\̂ꂼɂĐ݌vdlN̂ł͂ȂA֘A@\̃O[vɂ1̐݌vdlN悤ɂ܂B܂AXPł́Ał̐݌vɒ[(GNXg[)ɔĂAt@N^OpčsƂŎ̐݌vւ܂Bt@N^ÓA@\ǉoȌCƓɂ͍sȂƂɒӂĂB
@\݌vdlr[ɃpX΁AJ҂̓\[XR[h̋LqAQA̓eXg݌vdl̋LqJnł܂B
6-9.	eXg݌vdl̋Lq
eXg݌vdĺAIŖԗIȃeXgP[X߂̃CvbgɂȂ镶łBɂ́A@\̊TvAeXg͈͂ƂȂ͈́AeXgɕKvȃ\[XAeXg̐헪AI[g[VR[h̐݌vAeXgP[X̎Ǝ{ɕKvȍȞςȂǂ̍ڂ܂߂܂BeXg̐헪Ƃ́Aǂ̂悤ɃeXgP[X𕪗ނAԗmۂ邩ƂƂłBeXg݌vdl̃r[ɂ́A@\݌vdlJ҂ɂQĂ炤Ɨǂł傤B
6-10.	eXgP[X̋Lq
āA悤₭eXgP[X̋LqJnłƂ܂łǂ܂BeXg݌vdlɊÂāAIԗIȃeXgP[X܂B





ׂẴ}jAP[XAׂẴrhɑ΂Ď{邱Ƃ͔񌻎IłBǂ̃P[Xǂ̃rhŎ{ĂA܂v𗧂Ă܂傤B


VKɃ\tgEFAJƂɂ́AŏɃ\tgEFAJv揑ׂłA̐}ł͊Ă܂B܂A\tgEFÃhCɂẮAê̖eႢ܂Aڍ׉{Iȗ͓łB

NXƂ
NXƂ́AӖ̂f[^\ƁA𑀍삷葱ЂƂ܂Ƃ߂ɂ̂ŁAIuWFNgwT|[gvO~OɂvO̒PʂłBЂƂ̃NX́AЂƂ̃vOt@CŎ邱ƂʓIłB



 convention type covers naming, comments and format conventions. Here are a few examples :

Is there javadoc on public methods ? 
Is the project following Sun naming conventions ? 
Is the code written with a consistent format ? 


The bad practices type consists of well known behaviors that almost systematically lead to difficulties over time. Here are a few examples of bad practices :

Catching an exception without doing anything 
Having dead code 
Too many complex methods 
Direct use of implementations instead of interfaces 
Implementing the hashcode() method without the not equals(Object object) method 


Classes in the UI layer may not directly access the data object layer, or use classes in java.sql 
External systems may not access internal implementation classes (suffixed with eImplf) 
One functional module may access another only through its API 
Only classes implementing interfaces in javax.ejb, and certain framework packages, may use the EJB APIs 



1. eXgP[XƂ
eXgP[XƃeXgXNvg̈Ⴂ͌qH
eXgP[X̍ڂɂĐ
eXgP[X̏ԑJڂɂĐ



2. ԗIȃeXgP[X
}C[Y̎Op`
ς

3. eXgP[X̏
eXgv揑eXgXNvg܂


4. eXg̎{
P̃eXgƓeXg
eXg̓}jAeXgƃI[g[Vɕ
}jAeXgɂ
eXgP[X̏ԑJ


4. eXgP[XǗVXe



5. zZpɂeXg
͓dqЃ[_[LĂ܂AcOȂ{̃Rec͂܂Ȃ󋵂łBŁA{ŃXLiŎ荞ŁAReclĂ邻łBdq{o[`Ȗ{Iɂ܂΁A͂⌳(){͕IɏLKv͂܂Bʂ̖{΁Aɂ΂܂BPC̉zZpAƂ悭Ă܂B܂AIPCdqA̘_IPC(zPC)ƂāAЂƂ̕PCɓēɉғ̂PC̉zZpłBЂƐ̑ÓAfAu[gƂ}`u[gƂZp悭g܂B͂ЂƂ̕PCɕOSCXg[A̕PC̓dꂽƂɂǂOSŋN邩Ił悤ɂ̂łBA}`u[gł́AЂƂPCɕOSCXg[ĂAɉғłOS͂ЂƂłBPC̉zZpł́APC̃\[X(CPU⃁Ȃ)AłzPC𓯎ɉғ邱Ƃł܂B܂AғsvȉzPC̓d͐؂邱Ƃł܂BPC̃\[X󂢂Aق̉zPCZbgAbvĉғ邱Ƃł̂łBɁAzPC̏Ԃ̃XibvVbgB邱Ƃł܂BoOČł\z



6. I[g[V
eXgn[lXAhCoAX^u

7. rhƂ̓
P̃eXgƓeXg̋
rh}VŃeXgfailƂ̎菇


8. oO񍐕[f[^x[XƂ̘Ag
oO𔭌N[A
eXgP[XɊÂȂeXgɂoO񍐕[N[AtɃeXgP[Xɓ]L
Ȃǂ̃gsbN

9. ܂Ƃ
IeXgȊÕeXgɂ



܂A[U[񍐂ꂽoȌꍇɂ́AIDԍ[U[ɓ`邱ƂŁA[U[ɈSĂ炦܂BIDԍUĂ邱Ƃ́AƃoOnhAǐՂĂ邱ƂłB




IDgāÃoO񍐕[ق̃oO񍐕[ (܂͂̑̕)QƂł܂B



XeAOR~beB
steering committee


}5 - 24āAۑ񍐕[̑̓Rg[łȂAlI\[X̑l̓Rg[ł̂ł͂ȂƎvǎ҂ł傤BAvWFNg̓rŃvWFNgo[̐l𑝌邱Ƃ͂ƂĂłB
Aۂɂ͐lI\[XȂȂAJl𑝂₵Ȃ邱Ƃ̂łBAقƂǂ̏ꍇA͂܂܂BVo[g[jOALb`AbvĂ炤RXgKvɂȂ邩łBԂ񂪎Y܂܂łɂ10̂łāAj̐llĂɂ͗܂BlɁAJXPW[k邽߂ɐlrŒǉĂɗȂƂ̂łB


ɁAR[ht[Y錾ꂽA[U[[X̒Oɂ{悤ɂ܂BÃeXgŃoO𔭌A͏CȂ܂܃[X邱ƂɓČ܂BR[hCȂ΁AtObVeXg{KvȂłB̔fɂĂ͎߂Ő܂B

tObVeXg{ɃR[hCAtObVeXg͂xŏ蒼ƂȂĂ܂܂B̂悤ȕsKɂ́AtObVeXg



̍ڂƂ͕ʂɁAC\(ς)L鍀ڂpӂĂ̂łAoOČς𐳊mɐݒ肷͓̂̂łB

R[hl[łςƎvốA

1-2-3n
1-2-3 R3 - Godiva
1-2-3 R3J - Glico
1-2-3 Windows 1.0 - Rockport
1-2-3 Windows 1.1 - Spiegel
1-2-3 Windows 4 - Darwin
1-2-3/G Gemini
1-2-3/G2 Walden oׂꂸ
Improv 3 - Kraken oׂꂸ

Freelancen
Freelance 3 - Warhol
Freelance 3J - DaVinci
Freelance Windows - Remington

J[Approach Jł͏ɕقłˁB
VindalooJalfrezi܂A
o[WƂ̑Ή͊oĂ܂B

M҂́A[I] Ƃɂ͕ƂӖ܂܂Ȃ̂ŁA[Jn]̑΋`ƂĂ͕sK؂Ǝv܂Aɑǂ܂łBOpen/ClosedAJX/X̂悤ɖ󂹂Ηǂ̂łBIA[ȂǂƂ͎莝̎Ɍ܂łBƂA{͗邽߂ɖM̌ڂ܂ABTS̉^pł̂悤ȓ{gƂ͂܂B݂Ȃ̑낤Ǝv܂B


2
[XO̍Ō̃}CXg[rhŁAׂĂ̋@\̃R[hRv[g () 錾邱Ƃ߂܂BR[hRv[ǵAŏIrh[U[Ƀ[X܂ŐVK@\̒ǉ͍s킸AoȌCs܂B́ASĈ艻 (Stabilization) ̍ƂsdvȎƂȂ܂B

3
\3 - 7 u`|V[̈
	Ju`	ێu`
u`̈x	s	
R~bgłC	V@\̒ǉAoȌC	[ȃoȌĈ
rh̕px	1ɉxł	KvȂƂ̂
u`̏L	iJ`[	iێ`[

CCɁAӗ~IȎ̉\Ƃ
Ȃ́A厖ɈĂĂi|WgɎĂ܂BŁA̐ĩA[LeN`AObVuɍςA苭͂Ƀo[WAbvv悪オ܂BA̕ύX͂܂ɃAObVuȂ̂ŁAsƑ厖Ȑiłɂ肩˂܂BŁA肵iCCɎc܂܁AJp̃u`؂ĂŎIɎ܂B̂悤ȃu`IC (experimental line) Ƃ܂BIĆAVfeasibility(\)؂邽߂̏łA̎I΂̂܂ܔj܂Bf炵܂΁Ãu`̂܂܃CCɃ}[WĂ܂񂪁Ȁꍇ͎ICł͂ȂAʏ̊JCƂƂł傤B




5
\5 - 4ɕ⑫܂B̃r[́AJƂ̎т\ƂƂɁArhvɕ\Ă܂BႦ΁ATɃeXg`[Ƀ[XŐṼrh̔ԍ#38łArh#39ƃrh#40͂ꂼꗈTƍėTɃeXg`[Ƀ[XvłƂ܂BƁA\5 - 4̏㔼 (build#38ȑO) ͎тłA (build#39ȍ~) ͌vƂƂɂȂ܂BeoOɂāAꂼSJ҂ǂ̃rhŉ (C) ł̌ʂł炦΁Â悤ȊǗł܂B
ŁAT[XŐṼrh̔ԍ͉ԂATɃ[Xrh̔ԍ͉ԂAꂼ̃rh̏Ԃ͂ǂȂĂ邩Â悤ȃrhv`[ŋʔFƂĂƂdvƂȂ܂B̂߁ABTSɂẮArhm[g ([Xm[g) ꏏBTSɓo^āAerh̏ (J⃊[Xς݂Ȃ) ǐՂAoO񍐕[Ɗ֘AÂĂ̂܂Brh̏ԂɂẮA}2-9QƂĂB

ATC (Assign) Ƃ́A蓖ĂƂӖłBS҂̂قAvOŃ蓖ĂƂɂATCƂg܂B

oO̒ǐՃvZX́AJvZXɂĔɏdvȂ̂łBۂɁAoO̒ǐՃvZXJX^}CY邱ƂŁAJvZXPłقǂłB̂߁AГŎgBTSЊJ\tgEFAƂ悤łBBTS̃\[XR[hĂ΁ABTSЂ̊JvZXɍ킹ăJX^}CYł邩łB̂悤 BTS ɂ́ÅƂ̃\tgEFAJɊւmmEnEl܂ĂƂ܂Bɂ΁A͋Ɩł̓I[vBTSgo܂B܂łɎOñ\tgEFAƂ́AׂăCnEXBTSpĂ܂BA݂Ȃ񂪓ƎBTSĂȂĂATracJira, Redmine, MantisȂǁAŗpłI[v BTS 񂠂܂B͏\ȃJX^}CY@\Ă܂BDꂽBTSgƁA\tgEFAJɑ̒mCXs[V܂BBTSg΁A݂Ȃ̊JvZXhXeBbNɉPł\̂łBЁA݂Ȃ̑gDɍ̂TĂ݂ĂB


Ԃɕ񍐕[ɋLłHvAKvƂȂ鍀ڂłBS`̃oO񍐕[ɁA(i)菑()̂́A傢ȂH̖ʌłBC̗BTŚAiȂǂ̂悭gڒl܂ރev[gKp邱ƂŁA͂@\Ă܂B


BTŚAoO񍐕[̏JX^}CYAڂ𑝂₵茸炵肷@\Ă܂B

oO𔭌邽߂̋̓IȃeXeBÕvZX́A{ł͐܂BfŐZpJ҂̐ElZł̂ƓAeXeBŐZp̓eX^[̐ElZɈˑ̂łāÃ[\AlIȂ̂rJvZXƂ͒̂łBAfOł悤ɁAeXeBO\tgEFAJɂANeBreB1łA̋̓Iȏ()̋Z͖{ŐׂƂł͂ȂłBɂďڂm肽ɂ́AeXg̋Z@Ɋւ鏑Ђ̈ǂ߂܂B

\tgEFA̒ɐݓIɊ܂܂ĂoÓAׂĔABTSɃt@CKv܂B̂̕ƂoO񍐕[ (Bug Report)A邢͂ʂɉۑ񍐕[ (Issue Report) Ƃ܂Bŋ߂̃I[vBTSł́ATracRedmineȂǂ̂悤ɁA`Pbg (Ticket) ƌĂԂ̂Ă܂B

 BTS ́Â悤ȏ_ȃANZX@\Ă܂B

JK͂΁AMicrosoft Excel̂悤ȃXvbhV[ggĂ܂B̏ꍇ́AsɂЂƂ̃oȌLĊǗ̂֗łBAlł悭oOǐՂɂ́AoOǐՃVXe (BTS; Bug Tracking System) 邢͂ʂɉۑǐՃVXe (ITS; Issue Tracking System) gƁA ֗łBLt@CT[oɒuXvbhV[g̃t@ĆAlœɕҏWł܂񂵁At@Cւ̕ύX`[ŃA^CɋL邱ƂłȂłB

BTSƂ́Ǎtł΁uvWFNg鉻c[vƂׂ̂łBoOȊOɂ\tgEFAJɊւ邳܂܂ȉۑt@C邱ƂłA܂܂ȑʂŕނĕ\܂BlœɎgƂȒPŁAelɊ蓖ĂƂDxɕ\ł܂B



BTS ɓo^(t@C)ꂽoÓA`[oelɑ΂ă^XNXĝ悤ɈƂłAɕ֗łB͂ȓ_Ńbg߁ABTS ɂ̓oOłȂAꂩׂV@\̂قA܂܂ȃ^XNȂǂꏏɓo^邱ƂʓIłB{͂ł́AoOǐՂA邱ƂɂĊJvZX쓮Av[`ɂĐ܂B


āÂ悤ɑϕ֗BTSłAʓIɂ̓[U[ɂ͊JȂƂقƂǂłBڍׂ钆Ԑʕ[U[{ĂAJƖɍĂ܂łB
A[U[̗vN[ȂǂɑΉƂAc^ɏƂ߂Ă܂܂Bc^͂ɉߋ̃[ɖĂ܂AŐV̏ԂǐՂł悤ɂ͂ȂĂȂłBŁA[U[̗vǐՂ邽߂BTS (ITS) ʂɍ\z邱Ƃ܂B



6
߂āAeXgP[XɂĒڂ܂傤BeXgP[XƂ́A삵Č؂ł邩ŎdlڍׂɋLqhLĝƂłBP[XƂ́AꍇƂƂӖłAeXgP[XƂ̓eXgΏۂɑ΂Ėɂ鑀菇Ԃꍇ̂łƑ邱Ƃł܂BeXgP[Xɂ́AeXg菇Ɗ҂錋ʂ܂܂܂BeXgΏۂɑ΂ăeXgP[XsƁApX (Pass; eXgɍi) tFC (Fail; eXgɗAs) ̂ǂ炩̌ʂ܂B
eXgP[X́AlԂ̎Ŏs}jAeXgP[XƁARs[^ڎsł鎩ꂽeXg (eXgI[g[V) 2ɕނł܂BĂB́AƂĂȒPȃ}jAeXgP[X̗łB
1\6 - 2 }jAeXgP[X̏ ()
TC#: 0025
Title: c\
Subsystem: \Project\Main
Setup:
2010N121235܂ŁAXc\񂳂ĂȂԂɂĂB
Steps:
1.	c\VXeɃOCB
2.	XcA20101235܂ŗ\񂷂B
Expected:
Xc\񂳂ꂽƂ\B
Teardown:
Xc̗\LZĂB

5͂ŐoO񍐕[̍ڂƁAƂĂǂĂ邱ƂɋCł傤B́AoO񍐕[eXgP[XƂĂ̋@\Ă邩łBႤ̂́AoO񍐕[̍ڐeXgP[X̍ڐȂƂƁAeXgP[X̍ڂɂ̓eXg̏ (Setup) ƃeXg̏I (Teardown) Ă邱ƂłB2̍ڂ́AR̂悤ɂeXgP[X悭Asł悤ɂƂ̔zɂ̂łBeXg̓eɂẮA̍ڂKeXgP[XɋLڂKv͂܂񂵁AtɕKvȂoO񍐕[ɂ̍ڂLׂłBoO񍐕[ASɃeXgP[X̋@\܂Ă邱Ƃł傤BɂeXgP[X̍ڂ̐ɂẮA5͂̃oO񍐕[̓̍ڂQƂĂB
eXgP[X̃eXg菇ƃoO񍐕[̍Č菇̈ႢƂ΁AeXgP[X̎菇͕IEԗIȎ菇邱ƂŃoO𔭌邱Ƃɋ܂AoO񍐕[̎菇͓L̎菇œỸoOČ邱ƂɊ֐S邱ƂłBeXgP[XŏeXg菇ŃoO𔭌ł邩ǂ͂킩܂񂪁AoO̍Č菇ł̓oOČł邱Ƃ߂܂B







http://www.themoviequotes.com/73/Twelve_Monkeys/page_2
12 monkeys
We're not productive anymore. 
We don't make things anymore. It's all automated. What are we for then?
We're consumers.
lԂ͂ȂB͑SĂBႨꂽ͉΁H
̂ꂽ͏҂Ȃ񂾂B




TODO
ǂɃXpQbeB̘boȂȁB
̗ꂪႲɗŁAێ炪łȂȂĂ܂vOXpQbeBR[hƂ܂B

TODO
1.0ɖȂo[Wԍ́AiłA͉sӊJłƂbZ[W܂ނƂ܂B


TODO
]kłA\tgEFÃ[Xɂ悭Ytreadme.txt̃t@CuǂŁv́Asvc̍̃AXdrink meuŁvɒz𓾂̂ƌĂ܂BɎ֑tƁAdrink meȂŁAeat me傫ȂłBfuCi[Xy[Xvłp܂ˁB




AAntJavavOrhƂɂ́A.javavOt@CƁARpC`.classt@CƂ̈ˑ֌WƂŋLqKv͂܂BJavaRpĆAˑ.classt@C̃\[Xł.javat@Cp\ȂƂ́Ã^CX^v𒲂ׂāAKvɉĂIɃRpC邩ł (C/C++RpCɂ́Â悤ȋ@\͂܂)B




t@CZbg^OɁw肷ƁArhɃ\[Xt@C̃_CWFXgvZĕۑ܂B_CWFXgƂ́ACӂ̒̌f[^ŗL̃ASYŎ擾Zf[^łBf[^҂ύXł̃_CWFXgςA_CWFXg^ꂽƂɂƓ_CWFXgf[^𜓈ӓIɐ͍̂AȂǂ̐܂BvZ@ւ̕גጸ̂߁AÍdqȂǂɂgeNmW[łB悭g_CWFXgASYMD5܂B



^XN^OɌĂяoꂽOc[g(javacȂ)AӔCăt@CԂ̈ˑ܂B邢́A^XN^Oˑ֌W𒲂ׂāAK؂ɊOc[Ăяo܂B́AAnt̃t@CZbgɂIꂽt@CꗗA^XN^OK؂ɊOc[̃p[^ɕϊāAOc[ɓnȂǂłB








?	sub.cCꍇ
1.	ŏIIɐt@Cproduct.exełB̃t@Cproduct.objlibrary.libɈˑĂ܂B
2.	product.objproduct.cɈˑĂ܂Aproduct.objproduct.cV̂ŁAĐKv͂܂B
3.	library.liblibrary.objsub.objɈˑĂ܂B
4.	library.objlibrary.cɈˑĂ܂Alibrary.objlibrary.cV̂ŁAĐKv͂܂B
5.	sub.objsub.cɈˑĂ܂Bsub.objsub.cÂ̂ŁAsub.cRpCsub.objĐ܂B

Apache Ant ^XN݌vKChC
http://ant.apache.org/ant_task_guidelines.html
http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/ant_task_guidelines.html

w肳ȂfBNgɊ܂܂.javat@CAKvɉĎIɃRpC܂ B


̂قAeꎟt@CMD5nbVlgāAύXꂽt@C肷rhc[܂B


ۂɂ́ASCM|WgŐṼ\[Xt@CoAeXgsArh̊ʒm肷鏈rhɊ܂܂܂AɂĂ͌q܂B


̍Ƃx̂rhc[łB݁A悭grhc[Ant܂BpAntƂ΃ARƂӖłAAnother Neat Tool (ۂ̗ǂV) ̗Ƃl܂BAntɂĂ͌q܂B
rhc[gȂĂAƂŃRpCȂǂ̊Oc[NArh\z邱Ƃ͂ł܂BAƂŃrhƁAɂ菇ɏ]ărh邱Ƃ̂łBƂ̂́A\tgEFA̋K͂ɂĂ͈ꎟt@C̐S琔ɂȂ邱ƂAꎟt@CƂ̒ԃt@C̊Ԃɂ͕GȈˑ֌W邩łB̈ꎟt@C𐳂ŃRpCAꂽԃt@C𐳂œȂ΂Ȃ܂Bɂ́Ałrhɑ΂ĎeXgsA[Xꏊ (t@CT[oȂ) ɃrhRs[ăeXg`[Ƀ[XAiEX肷ȂǁArhɂ͌܂肫菇̍Ƃ܂܂Ă܂B
\tgEFAJɂĂ͉x肩rhKv܂B̂悤ȌJԂ̏́ARs[^łӂƂƂłB܂Arh̏̓Rs[^ŎׂȂ̂łB̎󂯎̂Arhc[Ƃ\tgEFAłB


rhƂ̃Cvbg (ꎟt@CQ) ȂArhĂAEgvbg (rh) Ȃ΂܂BuČ\vłƂ܂BrhČ\ɂ邽߂ɂ́Arhc[̂ƂmȂĂ͂Ȃ܂B
?	rh̓͂ƂȂꎟt@CQ̖OƏꏊ
?	rh̏o͂ƂȂs\t@C̖OƏꏊ
?	et@C̈ˑ֌WƓ鏇
?	et@Cϊ (RpCȂǂ)Oc[̖O
?	et@Cϊ (RpCIvV}N`Ȃ)





̂悤ȃrhƂōsƂł܂B
rhc[gȂĂAƂŃRpCȂǂ̊Oc[NArh\z邱Ƃ͂ł܂BAƂŃrhƁAɂ菇ɏ]ărh邱Ƃ̂łBƂ̂́A\tgEFA̋K͂ɂĂ͈ꎟt@C̐S琔ɂȂ邱ƂAꎟt@CƂ̒ԃt@C̊Ԃɂ͕GȈˑ֌W邩łB̈ꎟt@C𐳂ŃRpCAꂽԃt@C𐳂œȂ΂Ȃ܂Bɂ́Ałrhɑ΂ĎeXgsA[Xꏊ (t@CT[oȂ) ɃrhRs[ăeXg`[Ƀ[XAiEX肷ȂǁArhɂ͌܂肫菇̍Ƃ܂܂Ă܂B



R ƂẴrh̎
{ł́AƂẴrh̎ނЉ܂BAƂẮurhvɂAނ܂B
?	Full build (Srh) ? ׂẴt@CRpCāArh܂B
?	Clean build (N[rh) - Õrhɂ钆Ԑt@Cꂢɍ폜Ărh܂BtrhƓӖƍlėǂł傤B
?	Rebuild (ărh)  ? ǁArh蒼܂B
?	Incremental build (CN^rh) - CvOt@CRpCAÕrhςĂȂvOt@C͑ÕrhŐꂽԃt@Cgărh܂BɂArhԂIɒZ܂B
?	Partial build (rh) - IɃrh܂B
?	Distributed build (Urh) - ̃}Vgĕsărh𑖂点邱ƂŁÃrhԂZ܂B
SrhƃCN^rhAUrhɂĂ4͂ň܂B




Theistic evolutionists
L__Ii_


Ag~bNȃR~bǵA^XNxR~bĝɑϕ֗łB

oOǐՃVXe (BTS) ̃oO񍐕[̊蓖ĂɂAoȌC@\̒ǉȂǂ̍ƂwꂽS҂AL̃vZXoŁACR[h̃R~bg܂B


̂悤ȉ^pƂ́ACCɓ (قL2L3u`oRœĂ) AI ɂׂĂL2EL3u`FIKv܂(ώGɂȂ̂ŁA͐}Ă܂)BL1u`Ԉ肵CŁA狗Iɉ(x̐傫)u`قǕsȃu`łAFI͖ōs܂ARI͐Tdɍs܂B


̂قA^O̕ύX͒ǐՂȂAw肵^Ȏł폜֎~(^Õt[Y)łSCMc[܂B


rh̃hbv
consolidate branch
transition branch



܂BRpCIvVt@C̈ˑ֌Wp̃_CAOŃrWAɐݒłArh̍\ύX̂ȒP


Zu`Ԃ̃|[ǵAڃ|[g邱Ƃ΁ACCoRăobN|[gƃtH[h|[g2̑ɂ|[g邱Ƃ܂BǂÍׂAeu`ɓR~bg̎ނR[hC|V[Ɉˑ܂B

[Xr[N (release veheicle)

http://msdn.microsoft.com/en-us/library/bb668955.aspx

eireBATXeireB


3-8. rh}V
SCMT[oƓPCrh}VƂĂǂł傤B



3-27. SCM T[o̊Ǘ
[T[oƓ悤ɁASCMT[õT[rXSЂɒ񋟂IT݂ꍇ܂B




rhɂċr
L5łɂ΁Aɂ́uɂvuЂvuЂȂ݁vȂǂƕ̓ǂݕAǂúvƂӖłBuЂŁvyzƓǂނƁA̓sƂÂƁAuЂȂ݂vyLzƂ͓L̂ƂłB


oO񍐕[ɂ́AЂƂ̃oOLڂ邱ƁB(ꌏt)

2͂̃RBB
Ԃł́AfC[X^hAbv~[eBO̎{͑ϗLłƂĂ悤łAł΁ÃvNeBXLƂȂ󋵂͂قǑ܂BقƂǉvłȂ悤ȍȃvWFNgł΁AfC[X^hAbv~[eBO͖ɗł傤BAvƂ́AOɂǂ̂xXgĂƂłBmɁA\tgEFAJvWFNgɂẮASĂv悵ĂƂ͂łȂ̂łA^ꂽɂāAǂ̂悤ȐOƂāAǂ̂悤ɖڕWB΂̂l邱Ƃ͂ł͂łBꂪ΁AƂAƂA񍐂Ƃ͕̂px悤Ɏv܂(vWFNg𐧌łĂȂ悤Ȉۂ܂)BȂƂAi̕񍐂͌vɑ΂čsׂł傤B



hbOt[h̃R
̂悤Șb𕷂Ƃ܂B郁[T[oJĂƂ́AȑO͎Ђ̃CtɎАigĂ܂BƂ낪A̎Вu[gѓdbłǂ݂vƌoA̋@\ȂАi̎gp߂āAЂ̃[T[o̓肵܂B߂̈ꐺłBAJ`[͑唽΂܂AГ̃[T[o͑Аî̂Ƀv[XĂ܂܂B̌ÅƂ͎АĩVFA傫ƂƂƂłB\tgEFAJĂƂł́Ǎoc҂\tgEFA̐ƊJ@悭Ă˂΂ȂȂƂD (?) łˁB

testability eXg\
낢Ȓ`
ȂeXgP[XōJobW̃eXgł
eXgŃoOꂻȃW[̓eXg\Ƃ
\tgEFACƂAKvȃeXgȂ΃eXg\
eXĝ߂̃hLgĂ΃eXg\


KvȃeXg
ړIɍTvώ@邽߂̃eXg
ZpۑɊ֘AāȂÓmFE
vɊ֘AāAv̒oEv̑ÓmF
vE݌vɊ֘AāAvE݌v̑ÓmFE
̑XNɊ֘AāA
׎ʂ̂߂̃eXg
[XɊւāAs̒o
Mx̒Byѕ]̂߂̃eXg
Mx̒B(s̒oɂ)
Mx̕](_ɐeXgP[XgāAvIɐMx𑪒)




JvZX̍ŏ̃tFCY(i`tFCY)́Â悤Ȃ̂B
This phase is the most important by far. In Product Development, teams
assign resources, establish product requirements, and create
preliminary design solutions.

܂łňԏdvȃtFCYłBiJł́A`[̓\[XzAi̗vmB
\̐݌v\[V쐬B





CCfێɂ́A2̃vNeBXɏ]ĂB
?	Tuu`łCŕKvȂ̂́AKCCɃobN|[g邱ƁB
?	u`؂Ƃ́AKCCɂ邱ƁB
2̃vNeBX̊Ԃɂ́A[֌W܂BȂȂ̂AlĂ݂ĂBu`ɑ΂闝[܂͂łB





_삳wEŐ́A͂ƂӖB

2 R J̍ÂA fC[X^hAbv~[eBO ɒǋL̂ƁB
fC[Xvg͂߂łȂR
v悵Ă񂾂疾ǂƂl̂͂ǂ
Oɂǂ̂xXglĂ͂AlXƂׂB
SvłȂ̂͂̒ʂ肾AvƂ͍̂ŏɂ悭
lƂƂAǂĎ̂ǂ
񂪂āAڕWB邽߂ɂ͉Ă΂̂AׂBȂč́ÂƂ̂͂B
ʁAĂ߂̂xXg˂ƍl̂vB
̃Zɏ]āAKvΐ[߂ĂǁAƂ
ƂAӂȂƁB
A[LeN`ɂĂAvōĂ킯͂ȂB
ptH[}XXN邵A\[X̃XNB
ǂ؂Ăǂł߂Ă̂v旧ĂĂ킯
𗈏T悤HĘbȂB

i̕񍐂Avɑ΂čsׂB
vɑ΂Ăǂ̂炢̂H
ȂႢȂڂ͂ǂꂾԂꂽ̂H
r[Ŏ󂯂wE͉ł̂H
vɑ΂ČĂ˂΁B


rWԍɂ
rWƂ̂͏㏑BXVB
o[W1.1Ƃ̂2Ƃ̂͋ʂ邵A1.1͂łȂƂȂB
AƂāAׂ悤ȂƂA㏑Ă悤Ȃ́BA->B->CƂŁAAȂǂƂĂKv͂ȂB
ŐVł̏ԂȂ̂rWBߋ̗svȂ́B
o[WƂ̂́AƂĂȂƂȂB
ʏ̓}Ci[ԍ̒̃}Ci[ԍƂAABC݂Ȃ͎̂ĂKv͂ȂB
o[WǗȂo[WrWBSWEBOKɏĂB
SWEBOḰA̒̏펯W߂ẮB

[XP[XŃXR[v`̂͂߂łȂBłB
܂AĂ񂾂ǁB
[XP[Xԍ́A@\#1ƂɂĂB

@̂́AǂɂB

BVT ́Arh}X^[̐Ӗł̂ʓIB

mɁAĂu`Ału`Ƃ̂͂B
łu`A\肵ĂȂu`ōƂ
X[NeXgŉ΂𕬂B


fC[rh݂ꎮɃeXg`[ɐꗬĂ͔̂ɖ肪B
JƁAeJҌlł܂Ă̂oȂƁB
J[h́AoĂƎۏ؂łȂ̂Ȃꗬ݂ɏôƁB
ȂƁAJ҂͎iۏ؂łȂ̂Ƃ肠ăeXgɑSCB
ȂƌJԂ̎߂肪gDŜł邮葱B
AfC[rh͈ӖȂB
AЂƂƍmdグ܂傤ƂӖ͂邾낤B
RpCƂrhȂƈӖ킩܂Ƃ悤ȏ󋵂͂ڂڂŃA}`AB



ύXƃ|Wg͈ႤB
|WǵAIȂ̂ŁASWEBOKȂǂ̈ʓIȘgg݂łƘ_Iɂ̓CuƂB
Cuɂ͌̃CuƁA肳ꂽCuƁAl̃CuƁAȊKwB
Cu̓ɂ͂낢날邪AύXł͂ȂB
Ƃ΃ZLeBƂANZXRg[ȂǂœÂ̂ł
ύX邩烊|WgAƂ킯ł͂ȂB

|WǵAύXȊOɂ낢ȑʂB
c[ƂӖłƁAۊǌɂɔāAύXIɕۑƂAƂbB
\ǗEiƂăt@CVXegĂB
_Iɖ˂΂ȂȂāAt@CVXeł̂\Ǘc[ł̂
͎iB_IɖȂƂȂv͂łA\Ǘc[oĂ͂B
̘b𕪂ȂƂB

Cuׂv
ZLeBAǗ
Ǘ͂قǕKvȂAt@CVXegꍇ͍Ǘ͂łȂB
t@CVXeĝ́Asւł͂邪͂ȂB
̃x̍\ǗK؂ȏꍇĂB
ZLeB͂BNɏɂĂ͍邩Aꂪ܂ŒvB
ƁA|Wg͌́AI[vɂȂĂƂƁAtYxAxƁAprɂċ敪ȂƂȂB͌̂Ƃ낾A݂͂ȂŋLƂ낾A̓[LOA敪ĂȂƂȂB

XibvVbgƂ͍\̂ƁB

Th{bNX؂ւ邱ƂɂĒǋLKvB
o[WŁA悤ȃt@CŁAƂႤ悤ȂƂɁATh{bNXgčƂƖ肪NB
Ⴄ\ƂɁAʂ̃Th{bNXǂBԂɂœTh{bNXg܂킷̂͗ǂȂƂƁB

R~bgÕr[ɂ
r[́A{IɂF2FBr[Ƃ́Al𐬒ł邵AĂA낢댾ȂƂȂƂB߂ƂBȂȂӂɂ̂ƂBӐ}ƂӎvƂÂmFȂ΂ȂA[ł̃r[͕s\ł͂ȂB

1:37
u`I[i[͔Aɂ
u`I[i[̖B{Iɂ͒NAČOKɂȂ킯ł͂Ȃ
ȑʂ猟؂OKɂȂ킯Bu`I[i[ȂāAȂƂȂl͂낢날
lL͖肪̂ł́B
u`I[i[OKƂOKȂ̂Ał͂Ȃ낤B
u`I[i[̓CeO[VƂArh}X^[ɋ߂B


1:43 eXg̖ړIɂāAB

uVԈĂvƂLqׂ͒B
db̂A폜ׂł͂ȂB

eXǵAoO𔭌邽߂ɂ̂ł͂ȂB
݂̃\tgEFA̕i𑪒肷邽߂̂́B
x[Xɑ΂āA[؂B
ꂪĂ邩ǂmF̂`B
㗬͗vB̓VXevB̓R|[lgdlBꂼɑ΂ăeXgB
ꂪeXgx[XƂAeXg̎ړIB
dlƂ݌v̂ƂɂłĂ̂ǂH
XC[gƂ́ABeXgXC[gƂ΁ÃeXgP[XƂeXgXNvgsł̂ƁB
ɑ΂ăeXgP[X𒍓ԂeXgXC[gɂȂB

eXgP[X̏ẂAeXgP[X̃ZbgƂΗǂB

GhXeXgƂ̂BA^]eXgƂ׃eXgƂB
AGhXƂ͕sK؁B

ׂ_Iɂ΁AӂKvB
eXg݌vƂ́AS̕iǂmۂĂAƂƁB
eXgPɂ̂ł͂ȂāAǂ̂悤ɃeXg\ĂA傫ȍ\zB̍\zɊÂăeXgP[XoĂB
1y[Wdl̎ɁAdlāAɐ݌vB
dlłiKŁÃx̃ubN{bNXeXg̃eXgdloĂB
̐݌vŁAeXgdloĂB
̃eXgdlȂ菑͓̂A܂eXg̐݌voĂB
̂悤ɁAeXgxɕB
VfƂ́A_\łBƎۂ̃vZXĂ͂ȂB

̂̌tłƁAO݌vƂB

dlƐ݌v́Aƕ˂΂ȂB
@\݌v́A@\dlł͂ȂB

2:12
݌v́AVXexAR|[lgxAW[x3KwɂȂBeKwŐ݌vKvɂȂB
NXW[ɑΉBpbP[WAR|[lg
eXgdĺAeXgP[XƂقړ̂ƍlėǂB
}jAXNvgƂt͂ȂB


lނǂč邩Bllǂ敪̂H


eXgŠv揑

eXg헪́AƗɂȂB
eXg헪Ƃ́Aǂ̒iKŉmFĂBǂȕimۂĂB

iǂŊmۂ̂H
eXgĂ̂ɁAȂ܂艻tFCYKvȂ̂H
ȂłȃRXgȂႢȂ̂H
eXgƂ́Ai؂āA肷邽߂̂́B
eXgtFCYIiKł́A葤ƂẮAłɕiۏ؂łĂƂԂɂȂĂׂŁÂƂɈ艻tFCŶ݂͂B


eXgv

eXgdl
	I[g[Vdl

eXg݌v




\ǗA\߃Xg[v悵Đ؂邱ƂdvB
v쓮łȂGWjAOȂĕƂȂB




ÓI
r[A`ؖAÓI̓c[Ȃ

I
eXgAfV~[VAAj[VȂ


eXgŌׂ̂ł͂Ȃ
ׂƂƂ킩A̒iKŕȉ󋵂킩
eXgŌׂƂ̂́AñAv[`B
ɗ肷͖̂肪B

艻Ƃ́AXN̂߂ɎĂԁBꔲĂƂ낪邩ȂAB
̒iKŃoOƂ͖̂肪B
ł\tgEFAi]邽߂ɍsB
؂łĂ̂́AXNɑΉ邽߂Ɉ艻ƂԂB

\Ƃ́Aʕ̃ZbĝƁBgݍ킹B
\[XR[hǂ̃o[WŁAvAdlǂ̃o[WŁB

eXgP[X́As\ȃhLgȂ
̃RfBVł̑ƂȌʂo܂AƂ́B
XebvoCXebvŏ낵̂eXgXNvg
eXgP[X́Ã^[Qbg^邾̂́B
܂AڍׂȂāAo͂ƊA͂ƊƁÂƂɍs鑀ƌʁB

̕\ԂɂȂĂ邱ƂmFȂAƏĂ̂eXgXNvg
eXgP[XWĴeXgViIB
̕\̎dl̂̕ƍvȂAƏĂ̂eXgP[XB
what̂AhoweXgXNvgB



ŜǗERg[lA
炪ZpIȃ[_[EƂ܂Ƃߖ
QAƂ̂́Aiۏ؂镔łāAeXg镔łȂB
Ŝquality assuaranceƂiǗvƂivB
ʓIi}l[WgƂBiǗƕiۏ؂QA̖B
NIeB2̖ʂBЂƂ̓vZXiBЂƂ̓v_NgiB
eXǵAv_Ngi؂ЂƂ̎iB
łĂf[^߂AǂłǂȂƂɂĂRg[̂QAB




œKȃA[LeN`͂߂\ẑ͂ƂĂ̂łB̏ꍇA͐JԂȂ琬ĂKv܂ BƂ΁A܂ŐłɐcĂ铮̍íAɑςʁAԂĂ̂悤ȍiɐi܂BȍiʁAɕsK̂͐łAǂiĉłB
ɁÃA[LeN`{ɗDꂽ̂ł邩؂ɂ́Ax̎Ԃ̎ɑς邱ƂKvłB


ASAP
as soon as possible ̗ŁAuȂ͂v̖B

stub - ؂芔̂悤ȁAsSȁA˂o
\tgEFÃfobÔƂɎg鉼̃Tu[`.

driver
\tgEFÃfobÔƂɎg鉼̃Tu[`ĂяovO.




http://www.slideshare.net/Ryuzee/agile-day2-agile
{v[e[VɋLڂe͔\Җ{ľoA
ɂ̂ŁA{l () gDA
ĉ̈ӌ\̂ł͂܂B


\tgEFAGȂ͖̂{IȓłARɂȂ̂ł͂ȂBEEE
\tgEFAJŐ̂Y܂ẮA̖{IȕGƁAK͂
傫ȂΕGIɑ傷邱ƂɋNB
tfbNEubNX 28




CRISPȃrh
Complete, Repeatable, Informative, Schedulable, Portable
ЁuBlvO}vɋLqB


|Wgɂ̘b
fWJʐ^̃t@CobNAbvɂ́AeDVDĂăv[g


u҂̕s{vuV̕sMSvub艮̒|Δvu̗ꔯvuȞ@āvu͖݉ݐH킸vulĂɏ炸v


҂̎ᎀ
oƂ̒n



Are you a master builder, or a master butcher?
܂̓rh̒BlAƂւ܂BlH
(f \ 00:35:00)

If you build it, they will come.
field of dreams


Now we've got a relationship we can build on. 
Lethal Weapon 3


Why son of a building block! its woody! and he's in the psycho's bedroom!
Toy Story

You think they'll build another
Star Trek: First Contact


You have build an oasis out of this wilderness.


15
܂

26
1. \tgEFA̐iƎ
	\tgEFAJ̍Â@ LbNIt~[eBO ς
	\tgEFAJ̃^t@@ s ς

47
2. rh̑l
	\tgEFAJ̍ÂA fC[X^hAbv~[eBO ς
	TeX̃o[Wԍ
	\tgEFAJ̃^t@A z ς
	R C/C++̃vvZbTƃfobOrh
	hbOt[hƂ

73
3. \ǗƃTh{bNX
	\tgEFAJ̃^t@B y ς
	Ag~bNȃR~bgƂ
	vOƂ
	\tgEFAJ̍ÂB uEobO~[eBO ς

42
4. Č\ȃrh
	\tgEFAJ̃^t@C ԍH ς
	\tgEFAJ̍ÂC I~[eBO ς

71
5. oO̒ǐ
	\tgEFA̕soOƂ̂͂ȂH
	\tgEFAJ̃^t@D  ς
	Ί̍ڂɂ́Å\ׂ
	\tgEFAJ̍ÂD oOobV ς

30
6. eXgP[X̎
	\tgEFAJ̍ÂE |Xg[^~[eBO ς
	\tgEFAJ̃^t@E Ԃ̉^]

28
7. JvZX̍\z
	݌vƎ߂Â鎎
	\tgEFAJŎgp
	\tgEFAJ̃^t@F 


قǂ́A\tgEFAi\̂̓vOłƐ܂BAvOt@Cł́A\tgEFAi̓rhł܂B̃vOt@C̈ˑ֌WǗA菇ŃrhȂ΁A\tgEFAi𐳂gݗĂ邱Ƃ͂łȂłBłAvOłȂÃ\tgEFAirh邽߂̃rhXNvgA̐i\镔îЂƂƍl܂ B





Eric S. Raymond R`_
Doxygen 

To: JvWFNg`[
From: Óc`j
Date: 2010/09/21
Subject: uEobO܂傤


To: SЈ
From: XX`[eXg[h
Date: 2010/09/25
Subject: AiXX̃hbOt[hEvOn܂܂I



CXg
http://kids.wanpug.com/illust103.html


EH[^[tH[ɂ
http://www.ogis-ri.co.jp/otc/hiroba/oosquare-ml/Archive/200212.month/3414.html
http://www.ogis-ri.co.jp/otc/hiroba/oosquare-ml/Archive/200212.month/3425.html

http://program.g.hatena.ne.jp/youandi/20100503/p1

5-7.	o[_E`[g
ɎԂAcɊm̃oO܂ރ^XŇƂĐ܂OtƁAʂɎ̂悤Ȍ`ɂȂ邱ƂmĂ܂Bo[_E`[g (Burn down chart) Ƃ܂BXN̂悤ȃAWC\tgEFAJ@ł悭g`[głB
}

o[_E (burn down) Ƃ́AʂAĂƂӖłB}̂悤Ƀ^XNAoO̐̐ĉ΂ɂȂ΁A̐i[Xł悤ɂȂ܂B


fƃR[h߂Â鎎

Experience is a hard teacher because she gives the test first, the lesson afterwards. 
oƂ͌tłB͂܂AɃbX^̂炾B
Vernon Sanders Law (AJ̃v싅I)

You can't choose the ways in which you'll be tested. 
Ȃǂ̂悤ɃeXg邩́AIׂȂB


I dream, I test my dreams against my beliefs, I dare to take risks, and I execute my vision to make those dreams come true. 
Walt Disney

If someone offers to furnish a sure test, ask what the test was which made the sure test sure. Unknown
3
Truth stands the test of time; lies are soon exposed. 
Proverbs 12:19, The Bible 
^͎Ԃ̎Ɉ˂ėBR͂ɘIB

...tests are a gift. And great tests are a great gift. To fail the test is a misfortune. But to refuse the test is to refuse the gift, and something worse, more irrevocable, than misfortune. 





rhvZXAP̃eXgAfvCAǐvȂǂ݂͂ȎłB
build process, unit tests, deployment, measurements of quality, and other metrics for project management 



justification
ύXꍇ̃xltBbg
ύXȂꍇ̃CpNg

FragileAgile
FragileƂ́A₷ƂӖłB{ł́A\tgEFA₷ƂOɂāAɃ\tgEFA󂳂ɐiĂׂ܂Bɑ΂AAgileƂ͋@qŏ_ȁAƂӖłB̃AWCƂtɂ́A


bi-directional o}[WAladder}[W
www.perforce.com/perforce/agile



EH[^[tH[́AJvZX̊eiK̒O̒iK̊Ɉˑ̂ɂȂĂB


A{ɎJvZX̓\tgEFAJvZX\z邽߂̏dvȊՂł邱Ƃ͕ς肠܂B݂͌łLgĂAL؂ꂽ@Ȃ̂łB\tgEFǍNƂ܂ẮÃAWCȃvNeBXKp悤Ƃ܂Ȃł傤Bǎ҂݂̂Ȃ񂪁A{ƂāA悢JvZX𔭌邱ƂSĂ܂B

炽߂āAJvZXƂ͉AȒPɂ܂Ƃ߂܂BJvZXƂ́Ã[ijANeBreBiƁjAA[eBt@NgiʕjȂǂ\A\tgEFAJx邽߂̍HwIȕ@_łB\tgEFAJɂ́AElIiGWjAjȑʂƍHwIiGWjAOjȑʂ܂܂Ă܂AJvZX͂̍HwIȑʂx̂łBVlvO}łĂABlvO}łĂA{AڂɎƂ̎{菇͂܂ςȂƂɒڂĂB
Build your team, trust, and friendship. Then youfll have built your software!



̘_́A1956NHerbert D. BeningtonProduction of Large Computer ProgramsƂ_Ŏ9̒iKf


TeXKnuth搶AṼVXeS݌v҂́AɂSʓIɂׂŁA܂ŏ̃[U[}jA˂΂ȂȂƌĂ܂B
The designer of a new kind of system must participate fully in the implementation.
uthe designer of a new system must not only be implementor and the first large-scale user; the designer should also write the first user manual.v


Barry W. BoehḿARoycem1970Nɐfverificationvalidation̑ʂŊgAɃtB[hobNȂvfłƂĕtA1981NSoftware Engineering EconomicsƂЂŏЉ܂B


}CXg[Ƃ́AĩTCNiPʂ̂ƂłB


bug
n. An unwanted and unintended property of a program or piece of hardware, esp. one that causes it to malfunction. Antonym of feature. Examples: "There's a bug in the editor: it writes things out backwards." "The system crashed because of a hardware bug." "Fred is a winner, but he has a few bugs" (i.e., Fred is a good guy, but he has a few personality problems). Historical note: Admiral Grace Hopper (an early computing pioneer better known for inventing COBOL) liked to tell a story in which a technician solved a glitch in the Harvard Mark II machine by pulling an actual insect out from between the contacts of one of its relays, and she subsequently promulgated bug in its hackish sense as a joke about the incident (though, as she was careful to admit, she was not there when it happened). For many years the logbook associated with the incident and the actual bug in question (a moth) sat in a display case at the Naval Surface Warfare Center (NSWC). The entire story, with a picture of the logbook and the moth taped into it, is recorded in the "Annals of the History of Computing", Vol. 3, No. 3 (July 1981), pp. 285-286. The text of the log entry (from September 9, 1947), reads "1545 Relay #70 Panel F (moth) in relay. First actual case of bug being found". This wording establishes that the term was already in use at the time in its current specific sense -- and Hopper herself reports that the term 'bug' was regularly applied to problems in radar electronics during WWII. Indeed, the use of 'bug' to mean an industrial defect was already established in Thomas Edison's time, and a more specific and rather modern use can be found in an electrical handbook from 1896 ("Hawkin's New Catechism of Electricity", Theo. Audel & Co.) which says: "The term 'bug' is used to a limited extent to designate any fault or trouble in the connections or working of electric apparatus." It further notes that the term is "said to have originated in quadruplex telegraphy and have been transferred to all electric apparatus." The latter observation may explain a common folk etymology of the term; that it came from telephone company usage, in which "bugs in a telephone cable" were blamed for noisy lines. Though this derivation seems to be mistaken, it may well be a distorted memory of a joke first current among telegraph operators more than a century ago! Or perhaps not a joke. Historians of the field inform us that the term "bug" was regularly used in the early days of telegraphy to refer to a variety of semi-automatic telegraphy keyers that would send a string of dots if you held them down. In fact, the Vibroplex keyers (which were among the most common of this type) even had a graphic of a beetle on them (and still do)! While the ability to send repeated dots automatically was very useful for professional morse code operators, these were also significantly trickier to use than the older manual keyers, and it could take some practice to ensure one didn't introduce extraneous dots into the code by holding the key down a fraction too long. In the hands of an inexperienced operator, a Vibroplex "bug" on the line could mean that a lot of garbled Morse would soon be coming your way. Further, the term "bug" has long been used among radio technicians to describe a device that converts electromagnetic field variations into acoustic signals. It is used to trace radio interference and look for dangerous radio emissions. Radio community usage derives from the roach-like shape of the first versions used by 19th century physicists. The first versions consisted of a coil of wire (roach body), with the two wire ends sticking out and bent back to nearly touch forming a spark gap (roach antennae). The bug is to the radio technician what the stethoscope is to the stereotype medical doctor. This sense is almost certainly ancestral to modern use of "bug" for a covert monitoring device, but may also have contributed to the use of "bug" for the effects of radio interference itself. Actually, use of 'bug' in the general sense of a disruptive event goes back to Shakespeare! (Henry VI, part III - Act V, Scene II: King Edward: "So, lie thou there. Die thou; and die our fear; For Warwick was a bug that fear'd us all.") In the first edition of Samuel Johnson's dictionary one meaning of 'bug' is "A frightful object; a walking spectre"; this is traced to 'bugbear', a Welsh term for a variety of mythological monster which (to complete the circle) has recently been reintroduced into the popular lexicon through fantasy role-playing games. In any case, in jargon the word almost never refers to insects. Here is a plausible conversation that never actually happened: "There is a bug in this ant farm!" "What do you mean? I don't see any ants in it." "That's the bug." A careful discussion of the etymological issues can be found in a paper by Fred R. Shapiro, 1987, "Entomology of the Computer Bug: History and Folklore", American Speech 62(4):376-378. [There has been a widespread myth that the original bug was moved to the Smithsonian, and an earlier version of this entry so asserted. A correspondent who thought to check discovered that the bug was not there. While investigating this in late 1990, your editor discovered that the NSWC still had the bug, but had unsuccessfully tried to get the Smithsonian to accept it -- and that the present curator of their History of American Technology Museum didn't know this and agreed that it would make a worthwhile exhibit. It was moved to the Smithsonian in mid-1991, but due to space and money constraints was not actually exhibited for years afterwards. Thus, the process of investigating the original-computer-bug bug fixed it in an entirely unexpected way, by making the myth true! --ESR] [7]


\3 - 5ɁA悭gR[hC|V[܂Ƃ߂܂Bu`ɂĂɏڂm肽́uStreamed Lines: Branching Patterns for Parallel Software DevelopmentvƂLBɂ́A{Iȃu`Au`|V[̃p^[Au`̃p^[Au`\̃p^[4̃JeSɂāAꂼ8̃p^[ЉĂ܂B{ŏЉu`̖OA̋L̈płB


傫JƕێBׂ΁AJ͎JƁAi (@\ƂǍɑΉȂ) ̊JɕB


i헪̒iKŐ헪ЂA̒iKłȃXg[͑S؂܂B






