å€ãã®ããã°ã©ããŒã¯ãéçºæã«éçºç®¡çã®ãã¹ãéžæããŸãããæ®å¿µãªããæ°ããããã°ã©ãã³ã°èšèªãšãã¯ãããžãŒãåŠã¶åµé çãªããã»ã¹ãå¶éããŠããŸãã
ãããŠããã®ç¬éããããããŒãžã£ãŒãšããŠãç§ãã¡ã¯ãœãããŠã§ã¢ãããžã§ã¯ãã®éçºã®è€éãããã¹ãŠã®åå è
ã«ããçµ±äžçãªç解ã®è€éããå€éšç°å¢ã®å€åã«äŒŽã£ãŠçµ¶ããçããå€åãèæ
®ããè€éãã«å¯ŸåŠããããåŸãŸããã ç¹å¹è¬ããªããšãããã«ãã¯ã¹ã®äºèšçãªå£°æã«çŠç¹ãåœãŠããœãããŠã§ã¢éçºã®èŠæš¡ãçç£æ§ãä¿¡é Œæ§ãããã³åçŽãã§ã¯ãªãã«ããŠããåäžããã管çææ³ãèŠã€ããæ¹æ³ãæ¢ããŠããŸãã
ãããã£ãŠãåãªãŒããŒã¯ã¬ã³ããã£ãŒããšã¯äœããç¥ã£ãŠãããå
šå¡ãMSãããžã§ã¯ãã䜿çšããŸããã ããã«å€ãã®èªè
ãããã°ã©ããŒãã¿ã¹ã¯ç®¡çã·ã¹ãã ã䜿çšããŠããŸãã ãããŠãã»ãšãã©ãã¹ãŠã®éå€ç¬ãªããã°ã©ããŒããœãŒã¹ç®¡çã·ã¹ãã ã䜿çšããŠããŸãã
çµ±äžãããéçºããã»ã¹ãæäŸãããšããéåžžã«å®çšçãªã¿ã¹ã¯ã«çŽé¢ããŠããŸããèŠä»¶ã®æ°ããå€æŽãèæ
®ãããšããããžã§ã¯ããã©ã¡ãŒã¿ãŒã®å€æŽãæ確ã«ç¢ºèªã§ããŸãã
ãã®åé¡ãå¿çšã¬ãã«ã§å®åŒåããŸãã ãããžã§ã¯ããäžé£ã®ã¹ããŒãžãšããŠæ瀺ããŸããåã¹ããŒãžã¯ãå€æ°ã®ãŠãŒã¶ãŒã·ããªãªãã¹ããŒãªãŒãããã³ã¿ã¹ã¯ã«å解ãããåã¿ã¹ã¯ãå«ãé«ã¬ãã«ã®ã¿ã¹ã¯ã®ãªã¹ãã§æ§æãããŸãã ãã®èšäºã§ã¯ãGOSTãŸãã¯ã¢ãžã£ã€ã«ã®ããããã§ãã®ãããªæ··åçšèªã䜿çšããŸãã顧客ã¯ãããžã§ã¯ããã¹ããŒãžã®ã»ãŒè©³çŽ°ã¬ãã«ã§èŠãŠãããéçºè
ã¯ã¢ãžã£ã€ã«ãäœã§ããããç¥ãããšã«ãŸã£ããé¢å¿ããªããéçºè
ã¯ã¿ã¹ã¯ã®ã¬ãã«ãšåœŒãã¯ãé çªã«ãGOSTã«ã€ããŠèããããšã«èå³ããããŸããã
ããã«ããããžã§ã¯ãã«é¢ããæ°ããããŒã¿ãå°çãããšãå©çšå¯èœãªãã¹ãŠã®æ
å ±ãèæ
®ããåèšç»ãå¯èœãªéãè¿
éã«è¡ããã顧客ã«æäŸããããã«ãããžã§ã¯ãå
šäœã§å¯èœãªéãæéã®ãã£ãŒãããã¯ãåãåãããšãã§ããããã«ããå¿
èŠããããŸãç¬èªã®è£œåïŒã
ç®æšãéæããããã«ä»ã©ã®ããŒã«ã䜿çšããå¿
èŠããããŸããïŒ ãããã®ããŒã«ã®æ¬¡ã®éžæåºæºã瀺ããŸãã
1ïŒã¬ã³ããã£ãŒãã¯ãèŠèŠçãªããŒã«ãšããŠãããã³èšç»æ®µéã®ããŒã«ãšããŠå¿
èŠã§ãã
2ïŒããŒã«ã¯ãé«ã¬ãã«ã®ã¿ã¹ã¯ããŠãŒã¶ãŒã¹ã¯ãªããã«å解ããããã°ã©ããŒãšã¢ããªã¹ãã®ã¿ã¹ã¯ã«å解ã§ããããã«ããå¿
èŠããããŸãã
3ïŒããŒã«ã¯ãèªååãããæ¹æ³ã§ãé«ã¬ãã«ã®ã¬ã³ããã£ãŒãå
ã®ã¿ã¹ã¯ãšã¿ã¹ã¯éã®å€æŽéã®é¢ä¿ã確èªããå¿
èŠããããŸãã ããšãã°ãã¿ã¹ã¯ã®1ã€ãè©äŸ¡ããéã«ãã¹ãç¯ããããã°ã©ããã¿ã¹ã¯ã«2åã®æéãè²»ãããå Žåãäžäœã¬ãã«ã®ã¹ããŒãžã®ããããã®æéãé·ããªãå¯èœæ§ããããŸãã ãŸãããã€ã¬ãã«ã¹ããŒãžã®ç· ãåããäžæãããããªããããèŠä»¶ãšãªãœãŒã¹ã®ãã©ã³ã¹ãå調æŽããããã«
ã¯ãªãã£ã«ã«ãã¹ãåæããå¿
èŠããããŸãã ã¬ãã«éã®çžäºæ¥ç¶ã«ãããã¬ã³ããã£ãŒãã§èµ·ããããæ
éã®åé¡ã確èªããã®ã«åœ¹ç«ã€ããŒã«ãå¿
èŠã§ãã
4ïŒãŸãããœãŒã¹ã³ãŒã管çã·ã¹ãã ã§ããã°ã©ãã¿ã¹ã¯ãšãœãŒã¹ã³ãŒãéã®ãªã³ã¯ã远跡ã§ããããšãæãŸãã
5ïŒãœãŒã¹ã³ãŒã管çã·ã¹ãã ã¯ã
ãã©ã³ãã¢ãã«ããµããŒãããå¿
èŠããããŸããããšãã°ã
å€æ°ã®git +
gitflowãé©åã§ãã6ïŒã¿ã¹ã¯ç®¡çã·ã¹ãã ã§ã¯ãå®éã«å²ãåœãŠãããæéãèšé²ããã¿ã€ã ãã©ã³ã¹ã®éãèæ
®ããäœæ¥ã®é²æç¶æ³ã«é¢ããã¬ããŒããåä¿¡ã§ããå¿
èŠããããŸãã
ãã®ãããªããŒã«ãéžæããããã®ããã€ãã®ãªãã·ã§ã³ããããŸãããç§ãã¡ã«æãé©ããŠãããšæããã3ã€ãæ€èšããŠãã ããã
1ïŒMS Project + Team Foundation Server
2ïŒãžã©
3ïŒRedmine
JiraãšRedmineã¯ã以äžã®èšäºã§æ€èšãããŸãããã®èšäºã§ã¯ãMS Project + Team Foundation ServerïŒ+ Visual StudioïŒã«çŠç¹ãåœãŠãŸãã
MS Projectããã³Team Foundation Serverã®äœ¿çš
Team Foundation Server 2013èªäœã®ã€ã³ã¹ããŒã«ã¯ç°¡åã§ãã äºåã«SQL Serverãã€ã³ã¹ããŒã«ããŠããªããžããªãšããŠäœ¿çšããŸãã TFSãèšå®ããã«ã¯ã
httpïŒ// hostnameïŒ8080 / tfs ïŒããã©ã«ãïŒããã¢ã¯ã»ã¹ã§ããã³ã³ãããŒã«ããã«Webã¢ããªã±ãŒã·ã§ã³ãšãAdministration Console Windowsã¢ããªã±ãŒã·ã§ã³ã®äž¡æ¹
ã䜿çš
ããå¿
èŠãããããšã«æ³šæããŠãã ããã ããšãã°ãã³ã³ãããŒã«ããã«ããã³ã¬ã¯ã·ã§ã³ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãã管çã³ã³ãœãŒã«ã§ã®ã¿ã³ã¬ã¯ã·ã§ã³ãäœæã§ããŸãã
åœåçã§åããŠãããäŒè°ã®åŸã1é±éã§ãµã€ããå±éããã¿ã¹ã¯ãåŸããšä»®å®ããŸããããã«ãããè² è·ãããã£ããšãã«ãããã«è¡ãåœã®ãã¹ãŠã®åžæ°ããšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãä¿æã§ããŸãã
ä»äºã¯ä»äºã§ãããããžã§ã¯ãã§ã¯ã次ã®èšç»ãäœæããŸãã
ãã®ç¹ã§ãéçºè
ãã¢ããªã¹ãããã¶ã€ããŒãã¬ã€ã¢ãŠããã¶ã€ããŒããã¹ã¿ãŒããšã³ãžãã¢ã«ãšã£ãŠåé¡ããããŸãã ã¿ã¹ã¯ã¯ã·ãŒã±ã³ã¹ã®é åºã§ãã©ã³ã¹ãåããŠãããåã
ã®å®è¡è
ã§éè€ããããšã¯ãªããããå Žåã«ã¯å¹ççãªè² è·åæ£ã®ããã®ã®ã£ãããå«ãŸããŠããŸãã
ãã¹ãŠã®ã¹ãã·ã£ãªã¹ãã¯ãšãã«ã®ãŒã«æºã¡ãŠãããæŠãã«ç±å¿ãªã®ã§ããã®ãã©ã³ããTFSã®ã¿ã¹ã¯ã®ãªã¹ããååŸããå¿
èŠããããŸãã TFSã§ã¯ãã³ã¬ã¯ã·ã§ã³ãæåã«äœæãããããžã§ã¯ããäœæããå¿
èŠããããŸãïŒVisual Studioã§äœæããå¿
èŠããããŸããããã»ã¹ãã³ãã¬ãŒããšããŠAgile Software Development 2013.4ã®MSFãéžæããŸããïŒã
TFSãžã®ã¢ããããŒããæ§æããã«ã¯ãTFSã®ã€ã³ã¹ããŒã«åŸã«è¡šç€ºããã[ããŒã ]ã¿ãã®[ãããžã§ã¯ã]ã«ç§»åããããŒã ãããžã§ã¯ããéžæããŸãã
次ã«ãã¿ã¹ã¯ãå
¬éããŸãã
...ãããŠåé¡ã«ééããïŒ
ãã¡ãããã©ãããŠããã«æšæž¬ã§ããªãã£ãã®ã§ããããçµå±ã®ãšãããTFSã®èŠçŽ ã®çš®é¡ã決å®ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãTFSã®ã€ã³ã¹ããŒã«åŸã«è¡šç€ºããã[äœæ¥é
ç®ã®çš®é¡]åãProjectã«è¿œå ããå¿
èŠããããŸãã TFSã®èŠçŽ ãé©åã«ã°ã«ãŒãåããã«ã¯ãå²ãã§ããã¿ã¹ã¯ã®ã¿ã€ããUser Storyã§ãããå«ãŸããã¿ã¹ã¯ãTaskã§ããå¿
èŠãããããšã«æ³šæããŠãã ããã
ã¹ã¯ãªãŒã³ã·ã§ããã¯ãäœæ¥é
ç®ã¿ã€ãã ãã§ãªãããšãªã¢ãã¹ãšå埩ãã¹ãè¿œå ããããšã瀺ããŠããŸãã ãããã®ãã£ãŒã«ãã¯ãTFSã§ã¿ã¹ã¯ãäœæããããã«ãå¿
èŠã§ããããããããéçºãããã·ã¹ãã ãšããŒãžã§ã³ã®ã¢ãžã¥ãŒã«ãç¹åŸŽä»ããŸãã
æå³ã«ãã£ãŠç€ºãããã»ã«ããã€ã³ãããå¿
èŠãããã察å¿ãããªãœãŒã¹ãADã«ããããšãªã¢ãã¹ãšå埩ãã¹ãäœæãããŠããããšã確èªããŸãã
...ãããŠããŒã¿ãå床å
¬éããŠã¿ãŠãã ããã ã¿ã¹ã¯ã衚瀺ããã«ã¯ãVisual Studioã䜿çšããå¿
èŠããããŸãããã¹ãŠãæšæºã§ãããã³ã¬ã¯ã·ã§ã³ããããžã§ã¯ãã«æ¥ç¶ããã¿ã¹ã¯ã®ãªã¹ãã衚瀺ããããã«ã¯ãšãªïŒã¯ãšãªïŒãå®è¡ããŸãã
ãŸãã察å¿ããã¢ã€ãã èå¥åãProjectã®Work Item IDåã«è¡šç€ºãããProjectãšTFSã®éã§ããŒã¿ãåæããããã«äœ¿çšã§ããããšãããããŸãã
[æé]åã«ãèšç»ãããäœæ¥ã®ä»£ããã«ãŒãã衚瀺ãããŸããã å®éãTFSã®ã¯ãŒã¯ã¢ã€ãã ã¯ç°ãªãã¿ã¹ã¯ã䜿çšããŠã¿ã¹ã¯ã®æéã決å®ããŸãïŒå
ã®èŠç©ããå®äºããäœæ¥ãããã³æ®ãã®äœæ¥ã æéã«é¢ããŠã¯ãæåã®è¿äŒŒã§ã¯ãå
ã®æšå®ãã£ãŒã«ããæãé©åã§ãããããã¯ãããžã§ã¯ãã®åºæ¬äœæ¥ãã£ãŒã«ãã«ãããã³ã°ãããŸã
ãããŠããããã³ã°ãã€ãŸããããžã§ã¯ãåãšTFSãã£ãŒã«ãã®å¯Ÿå¿ã«ãã©ãçããã®ã§ãã©ã®ããã«å€æŽã§ããããç°¡åã«è¿°ã¹ãŸãã
MSDNã® 1ã€ã®
èšäºã§ã¯ãProjectã®ãã£ãŒã«ãããããã³ã°
ããããã®ãã¡ã€ã«ã«ã€ããŠèª¬æããå¥ã®
èšäºã§ã¯ããã®ãã¡ã€ã«ã®TFSãžã®ãšã¯ã¹ããŒããšã€ã³ããŒãã«ã€ããŠèª¬æããŠããŸãã
ãŸãã人件費ãžã®æéã®è»¢éãåŠçããããã«
ãMDSNã§å¥ã®
èšäºã®è³æã䜿çš
ããŸã ïŒ ããã§ã¯ããã¥ã¡ã³ããåŠçã§ããŸããã ãã®èšäºã§æšå¥šãããŠããããã«ããããžã§ã¯ãã®ã¹ã±ãžã¥ãŒã©ãŒã®åºæ¬èšå®ãèšå®ããŸãïŒãã¡ã€ã«->ãªãã·ã§ã³->ã¹ã±ãžã¥ãŒã«ïŒ
...ãããŠãã¿ã¹ã¯ã®æéã«åºã¥ããŠãåºæ¬çãªäººä»¶è²»ãå®çŸ©ããŸã
ãã®çµæãBasic Laboråã«ã¯å¯Ÿå¿ããå€ãå
¥åãããŸãã
ãããŠãTFSã§å€æŽãå
¬éããŸãã
ããã§ãMS Projectããã³TFSã§ã¬ã³ããã£ãŒããååŸããŸãããããã¯ãå°é家ã䜿ãæ
£ããããŒã«ãã€ãŸãVisual Studioãä»ããŠã¢ã¯ã»ã¹ã§ããé¢é£ã¿ã¹ã¯ã®ã»ããã§ãã
èŠä»¶ã¯ãã¹ãŠæºããããŠããŸããïŒ ã¯ããTFSã«ã¯ããŒãžã§ã³ç®¡çã·ã¹ãã ãçµã¿èŸŒãŸããŠããããããGITã«çœ®ãæããããšãã§ããŸãããã®ããããã®ãããªã¹ããŒã ã§ã¯ãåºæºãªã¹ãã®é
ç®4ãš5ãèªåçã«ãµããŒããããŸãã ãããŠãããã§ãªããã°ããã¹ãŠãããŸãããããã§ã
ã¿ãŒã«ã®ãã¬ã«ããŸãã¯ãã€ã¯ããœãããã©ãã§ããïŒ
æ¹å€ã¯æã楜ããããšã§ã¯ãããŸãããããã®å Žåã客芳æ§ã¯èšäºã®åœ¢åŒãå¿
èŠãšããŸãã ããã§ããããã¯Projectããã³TFSã®ãã¥ãŒããªã¢ã«ã§ã¯ãããŸããããã®ãã³ãã«ã¯ããã©ã³ãæäœããéã®äººä»¶è²»ãå®éã«åæžããããŒã«ãšèŠãªãå¿
èŠããããŸãããã®ãããããŒã«ã®äœ¿çšã«ãããäžå¿
èŠãªå°é£ãåé¿ããå¿
èŠããããŸãã
ProjectãšTFSã®å®éã®äœ¿çšã§çºçããããã€ãã®ã±ãŒã¹ãèæ
®ããŠãã ããã
ã±ãŒã¹1.誀ã£ãŠååšããªããã°ãè¿œå ãã
èªç¶ã«ã¯ååšããªããã°ãTFSã®çŸåšã®å埩ã«è¿œå ããããšããŸãã ééãã¯èµ·ãããŸãããããã«ã€ããŠäœãããããšã¯ãããŸããã ãŸãã¯ããã°ã¯ãã°ã§ã¯ãªããæ©èœã§ããã ããã¯ããªãã«èµ·ãã£ãããšããããŸããïŒ ã¢ããªã¹ãã¯æåŸãŸã§å£°æãèªãã§äœããç解ãããã¹ã¿ãŒã¯ã¿ã¹ã¯ã«æ·»ä»ããããã¹ãŠã®ãã¡ã€ã«ãéããããã°ã©ããŒã¯é·ãé圌ãèŠãããŠãããã¹ãŠã®è³ªåãããããšã«ããŸããïŒTDDã«ã€ããŠã¯èããªãã§ãã ãããäŸã¯æ¡ä»¶ä»ãã§ãïŒ
ãã®å Žåãèšç»ã®äžã§äœããã¹ããïŒ ãã°ã¯TFSã§å®å
šã«éããããšãã§ããŸãããProjectã§å€æŽãæŽæ°ïŒæŽæ°ïŒããŠããèšç»ããæ¶ããããšã¯ãããŸããã è«ççãªããã§ããšã³ãã£ãã£ã¯ã©ãã§ãåé€ãããŸããã ããããåäžã®ãããžã§ã¯ãèšç»ã«ã€ããŠã¯ã©ãã§ããããïŒ æã§ãã¹ãŠãæ¯é
ããå¿
èŠããããŸãã
ãããã« ã¯ãŒã¯ã¢ã€ãã ã誀ã£ãŠTFSã«è¿œå ãããå Žåããããžã§ã¯ãããèªåçã«åé€ããããšã¯ã§ããŸããã
ã±ãŒã¹2.å埩ã®æéãå€æŽããã
ãŸããçµéšãã...èšäºã®æåãã顧客ãèŠããŠããŸããïŒ æ¬¡ã®äŒè°ã§ã圌ã¯å埩æéã2é±éãã1é±éã«ççž®ããŸããã ããã«åºåããªããã°ãªããªãããšã¯æããã§ãããèšç»ãé©åã«æŽæ°ããããšèããŠããŸãã ã§ã¯ãTFSã®å埩ãççž®ããŠã¿ãŸãããã ã¿ã¹ã¯ã«ã©ã®ããã«åœ±é¿ããŸãããïŒ åæ ãããŸããã ã¿ã¹ã¯ã¯ãå埩ã®æéæ ã«åãŸããªãããšãç解ããŸããã ãã€ã¯ããœãããå€æŽãProjectã«ã¢ããããŒãããŸãããã
ãããŠãäœãå€ãã£ãã®ã§ããïŒ äœããããŸãããProjectã¯TFSã®å埩åã«ã€ããŠã®ã¿è³ã«ããã¿ã€ãã³ã°ã«ã€ããŠã¯äœãç¥ããŸããã
ãããã« å埩ã®æ¡ä»¶ãå€æŽããå Žåãæåã¢ãŒãã§ã¿ã¹ã¯ããšã«æ¡ä»¶ãåŠçããå¿
èŠããããŸãã
ã±ãŒã¹3.åé¡ã®äžè¬åïŒåèšç»
ããã§ãHabré-Megamindã«ã¯
ããŠãŒã¶ãŒ
ganouver ã«ããçŽ æŽããã
èšäºãããããã®äžã§åœŒãProjectã䜿çšããŠãããžã§ã¯ãã管çããããšã«ã€ããŠèª¬æããŠããŸãã ç¹ã«ãããã§ã¯ãèšç»ã®ãã©ã³ã¹ãProjectãæ±ãããã®ç¬åµçãªæŠè¡ã«ã€ããŠèªãããšãã§ããã³ã¡ã³ãã§ã¯æ¬¡ã®ãã¬ãŒãºãèŠã€ããããšãã§ããŸãã
... TFSã®æ-ãããžã§ã¯ãã¯ãªããšãªãäžåšçšã§äžäŸ¿ã§ãã
ãããŠåœŒã®èšäºã«ã¯ãTom KiteãOracle DBMSã«ã€ããŠèª¬æããŠããã®ãšåæ§ã«ãéçºç®¡çã«ã€ããŠèª¬æããŠãã声æããããŸãã
äž»ãªãã®ã¯ãèšç»ã®å®æçãªæŽæ°ã§ãã
å®éã®ãããžã§ã¯ãã§äœæ¥é
ç®ã®çš®é¡ã®å€æŽãäžèŠãªã¿ã¹ã¯ã®åé€ãªã©ã«å ããŠãèšç»ã¯ãé«ã¬ãã«ã®ã¿ã¹ã¯ïŒã¹ããŒãªãŒïŒã®ã¿ã¹ã¯ã®æ§æãããã³å埩ã®æéãšæ§æã®äž¡æ¹ã§ã»ãŒå®å
šã«å€æŽã§ããŸãã ProjectãšTFSã¯ããããã®å€æŽãèæ
®ããã¿ã¹ã¯ãã¢ãŒãã£ã³ã°ããèšç»ãå調æŽãããªãœãŒã¹ãèšç®ããå埩æéã®å€æŽãèæ
®ããæ°ãããªãªãŒã¹èšç»ãæºåããããã«äœãæäŸããŸããïŒ äœãæäŸããŸããã
ãããã«
Project + TFS + Visual Studio補åå
±æãšãã圢ã®Microsoftã®ãããžã§ã¯ã管çããã³ãœãããŠã§ã¢éçºãœãªã¥ãŒã·ã§ã³ã¯ã1åéãã®äœæ¥èšç»ã«äœ¿çšã§ããç¶ç¶çãªèªååèšç»ã«ã¯ããŸãé©ããŠããŸããã
åé¡ã®Project + TFSãã¯ãããžãŒã¹ã¿ãã¯ã¯ã¿ã¹ã¯ã解決ããã®ã«ããŸãé©ããªããšçµè«ä»ããèšäºãå
¬éãããã©ãããèããŠããã¬ãã£ããªçµéšãçµéšã§ãããå°ãªããšãèªè
ãèªåã§äœæã§ããããã«ããããšã決ããŸããéžæè¢ã
ãããã£ãŠããããã®ããŒã«ã§å®å
šãªéçºç®¡çã®åé¡ã解決ããã«ã¯ãèšç»ãæåã«äœæããŠããããããŒãžã£ãŒãŸãã¯ã¢ã·ã¹ã¿ã³ãã®åèªååãããäœæ¥ã«åºã¥ããŠè¡ãå¿
èŠããããŸãããåèšç»ã«ã¯éåžžã®æäœã«æéãããããŸãã
次ã®èšäºã§ã¯ãä»ã®ããŒã«ããããèŠãŠãããŸããæåã®åè£ã¯JiraãšRedmineã§ãã