ãããŠããã®ç¬éããããããŒãžã£ãŒãšããŠãç§ãã¡ã¯ãœãããŠã§ã¢ãããžã§ã¯ãã®éçºã®è€éãããã¹ãŠã®åå è ã«ããçµ±äžçãªç解ã®è€éããå€éšç°å¢ã®å€åã«äŒŽã£ãŠçµ¶ããçããå€åãèæ ®ããè€éãã«å¯ŸåŠããããåŸãŸããã ç¹å¹è¬ããªããšãããã«ãã¯ã¹ã®äºèšçãªå£°æã«çŠç¹ãåœãŠããœãããŠã§ã¢éçºã®èŠæš¡ãçç£æ§ãä¿¡é Œæ§ãããã³åçŽãã§ã¯ãªãã«ããŠããåäžããã管çææ³ãèŠã€ããæ¹æ³ãæ¢ããŠããŸãã
ãããã£ãŠãåãªãŒããŒã¯ã¬ã³ããã£ãŒããšã¯äœããç¥ã£ãŠãããå šå¡ã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ã§ãã