å転è·4å¹´éã®ã¾ã¨ãããããã¯CTOãè¾ããã話
4å¹´éåããæ ªå¼ä¼ç¤¾ã»ããã¼ãã»ãªãªã¸ãã«ãããã³ã³ããã¯ã¹ãã¼ãæ ªå¼ä¼ç¤¾ãéè·ãã¾ãããå½¹è·ã¯ã©ã¡ããCTOã§ãããã©ãªããã®å½¹ã«ç«ã¤ãã¨ãé¡ãã4å¹´éã®æ´»åã¨ãã®çµæãã¾ã¨ãã¾ãã2014å¹´ãéçºçµç¹ãä½ãããã«ãã£ã¦ã¿ãäº ã¨ 2015ã2016å¹´ã§éçºçµç¹ãä½ãããã«ãã£ã¦ã¿ãã㨠ãææ°çµæã¨å ±ã«ã¾ã¨ããç©ã«ãªãã¾ãã
åæï¼èªåã¯ä½ãããããã£ãã®ã
"é«éã§é«å質ãªéçºãã§ããçµç¹ãä½ãããã£ã"ãä¸ã¤ãããã¯åã®ã¨ã³ããªæè¡çè² åµã«ã¤ãã¦èããã§è©³ããè¿°ã¹ã¦ãã¾ãã
ããä¸ã¤ã¯ "æåãããã¯ããç¥å度ããªãä¼ç¤¾ã§è ã£ãéçºããã¦ãããæ¡ç¨ãã§ããªããã®è§£æ±º"ã§ããæ¡ç¨ã¯ä¼ç¤¾ã®çåã«ã¯æ¬ ãããªãéè¦ãªè¦ç´ ã§ãããã¨ã³ã¸ãã¢ã«ã¯ã»ããã¼ãã®ç¥å度ã¯ã»ã¼ããã¾ããããGANMA!çãé¤ãã°åºæ¬çã«ç¤¾å åãã®ãã¼ã«éçºã«ãªãã¾ãããã®ä¸ã§éçºæåãæ®å¿µãªç¶æ ã«ãªã£ã¦ãã¾ã£ã¦ã¯ã¨ã³ã¸ãã¢çµç¹ãç¶æã§ããã¨ã¯æãã¾ããã§ããã羨ã¾ããããªãããç´ æµãªéçºæåãæ´ãããããåå½ããªãå¨ç¥ãããã¨ã§æ¡ç¨ï¼çåï¼ã«ç¹ãããã¨ãç®æãã¾ããã
è¡ã£ããã¨: Scalaã®æ®å
æ´»çºã«éçºããã¦ããå ¨ã¦ã®ãããã¯ããScalaæ¡ç¨ã«ãªããããã®æ®åæ´»åãè¡ãã¾ããã
çç±1: æèãä¿ã¤ãããæã ã¯ç¾ããèªã¿ããããã°ã®å°ãªãå®è£ ãç®æãã¦ãã¾ãã ã©ããªè¨èªã§ãè¯ãå®è£ ã¯è¡ãã¾ããã¨ã¯ããè¨è¿°ã大å¤ã ã£ãããå°ç´°å·¥ãå¿ è¦ã ã£ãããåãIDEã®æ¯æ´ãåãã¥ããã£ããããã¨æèãä¿ã¤ã®ãé£ãããªãããããã¾ããã楽ããããã¨ããã§ããScalaã¯ãããããã¨ãå°ç´°å·¥ç¡ãã«ç¶ºéºã«æ¸ããå ´é¢ãå¤ã楽ãåºæ¥ã¾ãã
çç±2: åºä¼ãã®ããã æ°è¦ã®ãã話é¡ã«ä¸ããè¨èªã®ã»ããæèã®é«ã人ã¨åºä¼ãã確çãé«ãã¨èãããã¾ãã(Pythonã®ãã©ããã¯ã¹)ã "ãªãScalaã«è³ã£ãã®ã"ãããªã¬ã¼ã«ãã©ããããæ°ãåããã測ããããã§ããããåºãæ®åããè¨èªã§ãªããã°äººãéããããªãã®ã§ã¯ç¡ããï¼ã¨å¿é ãããæ¹ãããã£ãããããããã¾ããããå¿é ããã¾ãããæ°ã®åã人ãè²ã¦ãã°è¯ãã®ã§ãã
æ®åæ¹æ³: 以ä¸ã®æµããåºæ¬ã«ãå¾è¿°ã®"社å¤ã¢ããã¤ã¶ã¼"ã¨"å ¨ã¬ãã¥ã¼"ã"æè¡æé"ãçµã¿åãã¾ããã
- GANMA!(ãµã¼ãå´ãå¾ã«Androidã¯ã©ã¤ã¢ã³ãã)ãScalaã§ä½æ
- GANMA!ãã¼ã ã«ä»ãããã¯ãããçå¦ãã¦ããã
- çå¦ãçµããScalaã»DDDã§æ°è¦ãããã¯ãéçºã«çæ
- ãã®å¾ã©ãã©ãæ ªåã
ããã¨å ¨å¡Macbook Pro 15ã¤ã³ããã·ãã·çã«ãã¾ããï¼éè¦ï¼
ææ³: å®è£ ãã¬ãã¥ã¼ã容æã«ãªããã³ã¼ãã®è³ªãä¸ãã£ãããã«æãã¾ããã¾ãScalaãããªã¬ã¼ã«é常ã«åªããæ¹ã ãæ¥ã¦ãã ããããã«ãªãã¾ãããScalaãæ¨æºã«ãã¦è¯ãã£ãã¨æã£ã¦ãã¾ãã
è¡ã£ããã¨: ãã¡ã¤ã³é§åè¨è¨(DDD)ã®æ®å
æ´»çºã«éçºããã¦ããæ®ã©ã®ãããã¯ããDDDæ¡ç¨ã«ãªããããã®æ®åæ´»åãè¡ãã¾ããã
çç±: ãã¡ã¤ã³é§åè¨è¨ã¨ã¯ä¹±æ´ã«è¡¨ç¾ããã¨"æ®æ®µä½¿ã£ã¦ããè¨èãä¸çªæ§è½é«ããããè¨èã¨å®è£ ãä¸è´ãããè¨è¨ã«ãã¾ããã" ã¨ããè¨è¨æ¹æ³ã§ããã¨ã³ã¸ãã¢ã»éã¨ã³ã¸ãã¢åããçæ¥åãã£ã¦ããè¨èªè½åãæ´»ç¨ãã¦è¨è¨ãè¡ããã¨ã«ãããè¦ä»¶ã®è¯ãæãã¤ã¥ããæå©ãã«ãªããã¨ãæå¾ ããã¾ãã
æ®åæ¹æ³: Scalaã®å ´åã¨åæ§ã«GANMA!ããã®æ ªåã ï¼ ç¤¾å¤ã¢ããã¤ã¶ã¼ + å ¨ã¬ãã¥ã¼ + æè¡æéã«ããæ®åãã¾ããã
ææ³: æã£ããããè¯ããå¤ãã£ããã¨ããå°è±¡ã§ãã
- è¨è¨ãã¨ã¦ãåºããªã£ãï¼è¨è¨ã«å®è£ é½åãå ¥ãã¥ãããªã£ã / "æ¯é±é£è¼"ã®"èªã¿åã" ã¿ãããªçç¾ããè¨å®ã¯è¨è¨ã¬ãã«ã§åå¨ã§ããªãããã«ãªã£ããçï¼
- ã³ã¼ãã®è¦éããè¯ããªããã¬ãã¥ã¼ã容æã«ãªã£ããææªãã¡ã¤ã³å±¤ã ãã§ãã¡ããã¨è¦ãã°è´å½å·ã«ãªããªãã
- ãªãã¡ã¯ã¿ãªã³ã°ã決æãããããå®è£ ãããã¨ãè¨èã§è¨ã£ã¦ã¿ã¦ããããªäºã«ãªã£ã¦ãããè¦è¦ç´ãã
- è¨èªè½åã¯èª°ã«ã§ãããã®ã§ãå¾ã§å ¥ã£ã¦ãã人ã馴æã¿ãããï¼éè¦ï¼
ä¸å®è¦æ¨¡ãã¤éçºãç¶ãããã®ã§ããã°ãä»å¾ãDDDã§ããã¤ã¥ããã§ãããã
é常ã«ãªã¹ã¹ã¡ã§ããææ³ãªã®ã§ãããå®è·µã¯ãªããªãé£ããã大å¤èªã¿ã¥ããEricæ¬ãæ£ç¢ºã«èªã¿æãè½åãæã¤ããDDDã«ã¤ãã¦ç¸è«ã§ããå é§è ã確ä¿ãã¦ãããªãã¨è ã£ãä½ããã§ããããå¯è½æ§ãããã¾ãã GANMA!ã§DDDããã£ã¦ã¿ã¦ãã1å¹´ãããçµã£ãã¯å°ãã ãåèã«ãªãããããã¾ããã
ãªãã¨ã³ãã£ãã£ã VOã ã¬ã¤ã¤ã¼ãã ãããµã´ãã«ã ãçãæãã¦DDDã¨ããæ¹ãããã£ãããã¾ããããããã¯å®è·µã®ããã®ãã¯ããã¯ã«éããªãã®ã§ã注æã("軽éDDD"ã§æ¤ç´¢)ã
è¡ã£ããã¨: ã¦ããããã¹ãã®æ®å
æ¸ãã¹ãæã¯ã¾ããã¹ããæ·»ãããã¦ãããã¨ããç¶æ ã«ãªãã¾ã§æ®åæ´»åãè¡ãã¾ããã(æ¸ãã¹ãæ ï¼ ä¸å®ãæããããã¨ããè¨ã£ã¦ãã¾ãï¼
çç±: æ®ã©ã®å ´åã§ãã¹ãã¯æ¸ãã¹ãã§ãããããã¹ãããªãâãªãã¡ã¯ã¿ã¯åºæ¥ãªããã¨ã»ã¼å義ãªã®ã§ããã¹ããæ¸ããã«çªãé²ãã®ã¯èªæ®ºè¡çºã§ãããã¨ããããããã¹ããéè¦ã§ãããã¨ã¯å¸¸èã§ããä¸ã®ä¸ã«ãªãã¾ãã(ãªã£ã¦ãã)
æ®åæ¹æ³: TDDã®æ®åæ´»åã§æåãª@yattomããã@t_wadaãããè¬å¸«ãããã¦ããTDDç ä¿®ã«åå ããæãæ¹ãå¦ãã§ããã¨ã³ã¸ãã¢å ¨å¡ã«ãã¹ããæ¸ãã¦ã¿ããä¼ãéãã¾ãããããããã¯ScalaãDDDã¨åæ§ã«ãGANMA!ããã®æ ªåãã»å ¨ã¬ãã¥ã¼ã»æè¡æéãªã©ã®æ½çã§æ®åçãé«ãã¦ããã¾ããã
ææ³: åºæ¬çã«ã"ãã¹ãããªãä¸å®ã"ãä¸åº¦å³ããã°èªç¶ã¨ãã¹ãã¯æ¸ããããªãã¾ãã®ã§ã"ãã¹ãããªã"ã¨ããã®ã¯çµç¹ã®åé¡ãããªãããããã¨æãã¾ãããã¹ããä¸è¬åãã以åããçãæ®ã£ã¦ããã·ã¹ãã ã ã¨ãï¼ããããªãï¼ããã¹ããç¥ããªã人ã«åå°ãä½ãããã¨ãï¼ããããï¼ããã¹ããæ¸ãï¼é ããªãããæãã¨ãæãè¾¼ãã§ã人ãä¸ã«ããã¨ãï¼ãªãããâ¦ï¼ï¼ã
è¡ã£ããã¨: ã¹ã¯ã©ã ã®æ®å
ã¹ã¯ã©ã ãç解ããä¸ã§ãéçºææ³ã¨ãã¦ã¹ã¯ã©ã ãé¸æããããã¹ã¯ã©ã 以å¤ãé¸æãããã§ããããã«ãªãã¾ããã
ã¹ã¯ã©ã ã«ã¤ãã¦: ã¹ã¯ã©ã ã®æå±è ã¯Ken Schwaberæ°ã¨Jeff Sutherlandæ°ã§ãå½¼ãã®å ±èã§ããã¹ã¯ã©ã ã¬ã¤ããåæ¬ã¨ãªãã¾ãããããã ãã§ã¹ã¯ã©ã ãå®è·µããã®ã¯è³é£ã§ããã¾ãã¹ã¯ã©ã ãæããå£ä½ã¯ã¨ã¦ã沢山ããï¼ä¸¡æ°ãé¢ãã£ãå£ä½ã ãã§ã Scrum Inc/ Scrum.org /Scrum Allianceã®3社)ãå®è·µæ¹æ³ããã©ãã©ã ã¨èãããã¾ããæ¸ç±ã沢山çºè¡ããã¦ãã¾ãããã¹ã¯ã©ã ã®ãã¼ã¸ã§ã³ã¢ããã«è¿½å¾ã§ãã¦ãããã"ã¹ã¯ã©ã is ä½"ã説æãè¾ãç¶æ ã§ãã
ãã®ã¨ã³ããªã§ç´¹ä»ããã¹ã¯ã©ã ã¯æ¬¡ã®äºã¤ã«ãªãã¾ãã
- ãªã¬ãªã¬ã¹ã¯ã©ã : SCRUM BOOT CAMPãªã©ãèªã¿ãææµã§ãã£ã¦ã¿ãã¹ã¯ã©ã
- ã¬ãã¹ã¯ã©ã : Scrum Alliance(Odd-e Japan社)ã®ç ä¿®ã»ãã¬ã¼ãã³ã°ã«ãããããæ£ç¢ºã«ã¹ã¯ã©ã ã¬ã¤ãã«æºæ ããã¹ã¯ã©ã
éãã«ã¤ãã¦ã¯GANMA!ãã¼ã ã®Scrumã«ã¤ãã¦ããåç §ãã ããã
çç±1: ãããã¯ããªã¼ãã¼ã«ãã³ãã«ãæããããããã¹ã¯ã©ã ãå®è¡ããã¨ããã¼ã ã®æã¤è³æºã¨æè³å¯¾è±¡ã®å ¨ã¦ãããªãæ£ç¢ºã«ææ¡ã§ããããã«ãªãã¾ããå¹³ããããã¨æ°è¦éçºããªãã¦ã¯ãªããªããã®ãç´ããªãã¦ã¯ãªããªãä¸å ·åãè¿ãã¹ãæè¡çè² åµçãããããå¤æ®µã¨å ±ã«ãªã¹ãã¢ãããããç¶æ ã«ãªãã¾ãï¼ããã¦1ã¿ã¼ã³æ¯ã«ä½¿ããéé¡ã解ãï¼ããããææ¡ã§ãã¦åãã¦ãããã¯ããªã¼ãã¼ã¯è²»ç¨å¯¾å¹æã追æ±ã§ããããã«ãªãã¾ãããé¸æã®èª¬æãã§ããããã«ãªãã¾ãã
çç±2: è£éå´åå¶ã¸ã®å¯¾å¿ã è£éå´åå¶ã¯ï¼é©ç¨ãã¦è¯ãã®ãã©ããã¯ã¨ãããï¼"ä½æã¾ã§ã«ä½ãããã¹ãã"ãããããªãããªãã¨ãã©ãã¯ä¼æ¥ã¾ã£ãããã§ããä½ãããã®éçºææ³ã®å°å ¥ã¯æ¬ ããã¾ãããã¹ã¯ã©ã ã¯ã¹ããªã³ãåä½ï¼1é±ã2é±)ã§è¨ç»ãç«ã¦ãã®ã§ã大å¤ç¸æ§ãããã§ãã
æ®åæ¹æ³: æåã®é ã¯SCRUM BOOT CAMPçãå ã«ãããªã¬ãªã¬ã¹ã¯ã©ã ãGANMA!ã§å®æ½ãããããæ ªåããã¤ã¤ãè¬å¸«ã®æ¹ããæããã¦å ¨ç¤¾å¡ã§"LEGO®ã§ã¯ãããã¹ã¯ã©ã å ¥é"ããã£ã¦ã¿ãããã¾ãããå ¨ç¤¾ã«æ®åããã¨å ±ã«ãªã¬ãªã¬ã¹ã¯ã©ã ã«èª²é¡ãæããå ´é¢ãå¤ããªããä¼ç¤¾ã¨ãã¦ãããã£ã¨ã¹ã¯ã©ã ãå¦ã¼ãã¨Odd-e Japan社ã®éå¬ããèªå®ã¹ã¯ã©ã ãã¹ã¿ã¼ç ä¿®ãä½äººããåè¬ãã¾ãå社ã®ãã¬ã¼ãã¼ããæããæ°ã¶æãã¬ã¼ãã³ã°ããã¦ããã ãã¾ããã
ææ³: ãªã¬ãªã¬ã¹ã¯ã©ã ã¨ã¬ãã¹ã¯ã©ã ã®å¹æã®å·®ãå°è±¡çã§ããã ãã³ãã«ãæãããã ã®å´å管çãã¡ããã¨ããã ã®ãã¯ãªã¬ãªã¬ã¹ã¯ã©ã ã§ãå®ç¾ã§ãã¾ãããã¬ãã¹ã¯ã©ã ã¯ã¹ããªã³ãã®å®å®ããæ¡éãã§ããã
ã¬ãã¹ã¯ã©ã ã®å®è·µã¯é£ãããä¾ãã°ãããã¯ãããã¯ãã°ã¢ã¤ãã ï¼ä½ãããæ©è½ â ã¿ã¹ã¯/ãã±ããï¼ãã30åã60åã§ã§ãããããã®ã¹ããªã³ãããã¯ãã°ã¢ã¤ãã ï¼ãµãã¿ã¹ã¯ï¼ã«1ã2æ¥ãä¸æãããã°3æ¥ãããã¦ãã¼ã ã§å®è£ å 容ãæ¤è¨ãå解ããããã¼ãªã»ã¬ã¢ãã¼ããã£ãããã¾ããã¹ãã¬ã¹ãªãå®è·µã§ããããã«ãªãã«ã¯ãç¸å½ãªè¦å´ãä¼´ãã¾ãããããã¾ã§ããããããææ»ããæ³å®å¤ãå°ãªãå©ãåããã¹ã ã¼ãºã«è¡ããã¨ãã§ãã¾ããå¹çãä¸ããã®ã§é度ãè½ã¡ã¾ããã§ããï¼ãªã¬ãªã¬ã¹ã¯ã©ã ã®æé«é度ï¼ã¬ãã¹ã¯ã©ã å¹³åï¼ãªã¬ãªã¬ã¹ã¯ã©ã å¹³åï¼ã
è¡ã£ããã¨: å ¨ã¬ãã¥ã¼å¶åº¦ã¨ç¤¾å¤ã¢ããã¤ã¶ã¼å¥ç´å¶åº¦ã®ä½æ
社å¤ã¢ããã¤ã¶ã¼ã®ãã¨ãã ãããã麻æ¤ãããå«ããã¬ãã¥ã¼ãã¼ã ã«ããã社å ã®å ¨ã¦ã®ãã«ãªã¯ã¨ã¹ããã¬ãã¥ã¼ããã¦ãã¾ãã
çç±1: ééã£ãããããã®æ³¢åé²æ¢ã DDDãScalaã®å°å ¥ãææ¯ãä¸ã§ææªãªã®ã¯ééã£ããããããæ®åãã¦ãã¾ããã¨ã§ããããèªåãDDDãScalaã¯åå¿è ã ã£ãã®ã§ãããããã£ã¦ãã¾ããªã¹ã¯ããã£ãã®ã§ãé²ãæ¹æ³ãç¨æããå¿ è¦ãããã¾ããã
çç±2: ã¬ãã¥ã¼ã®è³ªã®æ ä¿ã ããéçºãè¡ãããã«ã³ã¼ãã¬ãã¥ã¼ã¯æ¬ ããã¾ãããã çµé¨ã®æµ ããã¼ã ã人æ°ãå°ãªããã¼ã ã§ã¯ã¬ãã¥ã¼ã®è³ªãè¦ç¹ã®è±å¯ãã«èª²é¡ãããã¾ããå ¨ã¬ãã¥ã¼ã«ãããããã®è§£æ±ºãå³ãã¾ããããªãå ¨ã¬ãã¥ã¢ã¼ããã®ææã¯ãã ã®ã¢ããã¤ã¹ã§ãã£ã¦å¼·å¶ã§ã¯ãªãã¨ãã¦ããã®ã§ãã¼ã ã®èªæ²»æ¨©ã¯ç¶æããã¦ãã¾ãã
å°å ¥ã®æµã: åè·ã®ååã§ãDDDã®æ å ±ãå¤ãçºä¿¡ãã¦ãããã¨ãã ããã(ChatWork)ãããæ°å®¿ã§ã¼ã£ããããã¦ãéããªããã§ããå¯æ¥ã¯ãªããï¼ãã¨ç¸è«ãããã®ãåã£æãã§ãæ°ããä½ãDDDæ¡ç¨ãããã¯ãã®ã¬ãã¥ã¢ã¼ã»ã¢ããã¤ã¶ã¼ã¨ãã¦ã¯ãã£ã¦ããã ãã¾ããã
ãã®å¾ã麻æ¤ãã(ScalaMatrusi座é·/æè¿ã¨ãã»ã³ã¼ã社ååéçºé¨é¡§åã«ã就任ããã¾ãã)ã«ãå ¥ã£ã¦æ´ãå ¨ã¬ãã¥ã¼ä½å¶ã«çºå±ãã¾ããã(PRã®ã¬ãã¥ã¢ã¼ã«èªåã§æ··ããä»çµã¿ãbitbucketã®Workzoneã¨ãããã©ã°ã¤ã³ã§å®ç¾)
ææ³: 幸éã«ãã¹ã´ã人éã«ã¢ããã¤ã¶ã¼ã¨ãã¦ã¯ãã£ã¦ããã ãããªã¼ã¨æã£ã¦ãã¾ãã
- ãã¨ãã ãããã®åãã«ãããDDDã®ééã£ãããæ¹ã®çºçãã¨ã¦ãæãããã¦ãã
- 麻æ¤ããã®åãã«ãããScalaçã«è¯ããªãæ¸ãæ¹(ä¾: Option.get)ãã¨ã¦ãæãããã¦ãã
çã®å¹æãå®æã¨ãã¦ããã¾ããã¾ãå¾è¿°ã®æè¡æéã«åããç¶æ ãè¦ã¤ãããããªãã¾ãã(ãã¹ãããªãããããã¿ã¤ããå®è·µæå ¥ããã¦ãããç)ã
ã¿ããªã®ã¬ãã«ã¯å¾ã ã«ä¸ãã£ã¦ããããã§ãå¾ã ã«ææäºé ãæ¸ã£ã¦ããå¾åã«ããã¾ãããããã§ãç¾æèä½ä¸ã¸ã®ææ¢åã«ãªã£ã¦ããããã«æãã¾ãã調æ´ãééããã¨æ¯è¦ããã«ã¤ãªãã£ãããééã£ãããæ¹ãå¼·å¶ãã¦ãã¾ã£ããçã®åé¡ãèµ·ãããããããªã®ã§ãææ¾ãã§ãªã¹ã¹ã¡ã§ããæ½çã§ã¯ããã¾ãããããã£ã¦ããã£ãæ½çã ã¨æã£ã¦ãã¾ãã
è¡ã£ããã¨: æè¡æéã®å¶å®
ä¼ç¤¾ã¨ãã¦ã®å質ã«å¯¾ããèãæ¹ãæ¡ç¨ããæè¡ããã®çç±ã¨ä¾å¤ãã¾ã¨ãããã®æç« ãä½æããå®ä½ã¨æç« ãä¸è´ãç¶ããããã«åªãã¾ããã
- æã ã¯âé«éé«å質âãç®æã
- Scalaã使ãã¨ãã®çç±ã»ä½¿ããªãã¨ãã®çç±
- ã¹ã¯ã©ã ãããã¨ãã®çç±ã»ãããªãã¨ãã®çç±
- DDDãããã¨ãã®çç±ã»ãããªãã¨ãã®çç±
- ãã¹ããæ¸ãçç±
- ã¬ãã¥ã¼ãããçç±
ãªã©ãè¨è¼ããã¦ãããå®éã«ã»ããã¼ãã»ãªãªã¸ãã«ã§ã¯ããåºã¥ããéçºæ´»åããã¦ãã¾ãã
çç±: å ¨ã¬ãã¥ã¼ãè¡ãä¸ã§ä½ãæ£ã¨ããã®ããå®ãã¦ãããªãã¨ç¡ç¨ãªæ··ä¹±ãçºçããã®ã§ãä¼ç¤¾ã®èããæç« ã¨ãã¦å½¢ã«ããå¿ è¦ãããã¾ãããã¾ããããã¿ã¤ãã¨ç§°ãã¦éã«æ¸ãããç©ï¼ãããJava)ãå®è·µæå ¥ããããã¨ããäºæ ãçºçãã¦ããããããã®ã§ããããé²ãæå³ãããã¾ãããï¼ãããã¿ã¤ãã«ã¯æè¡æéã¯é©ç¨ããªããããããã¿ã¤ãã¨ã¯å®æ¦æå ¥åºæ¥ãªããã®ã§ãããã¨ããããå®ç¾©ãã¦ãã£ããããã®ã¯ãããããçµç·¯ã ããï¼
ææ³: åºæºã¨ãã®çç±ãããããªãããã¨ã«ãããæ°ãæããã«ã¡ããã¨ãã£ã¦ãããã¨ããæèãå¼·ããªã£ã¦ãã£ãå°è±¡ãããã¾ãã
ã¾ããããã®ã¨ã¦ãè¯ãã£ãç¹ã¯ãã¡ãã§å ¬éãããã¨ã§ãã
- ãæè¡æéã«ã¨ã¦ãå ±æãããã§æ¡ç¨ã«ç«¶ãåã¤ãã¨ãã¨ã¦ãå¢ãã
- æã ã®ãã¨ãç´¹ä»ããã®ã«ãã¨ã¦ãæã£åãæ©ãã¦ä¾¿å©
- éçºæåã«é¢ãã¦ãå ¥ç¤¾å¾ã®ãºã¬ããªãï¼ãã ãã ãªéçºç¾å ´ã ã£ããã©ãããããã¨ããææã軽æ¸ï¼
ãªã©ã®å¹æãããã¾ãããæ¯éã©ã®ä¼ç¤¾ã«ããã£ã¦æ´ãããæ½çã§ãã
è¡ã£ããã¨: éçºç°å¢ã®æ´å
社å ãã¼ã«ãè²ã æ´åãã¾ããã
- ãã£ãã: ChatWork â å¾ã«Slackã«ä¹ãæã
- ã³ã¼ã管çï¼Atlassian Bitbucket Server(æ§ Stash)
- ã¿ã¹ã¯ç®¡çï¼Atlassian JIRA
- CI: Atlassian Bamboo
- ç¥èã®èç© : Atlassian Confluence
çç±: é«éé«å質ã®ããã«éå ·ãããããã®ã¯å½ç¶ã®ãã¨ã¨ãã¦ããããã®ä¸ã§æã大äºãªã®ã¯Bitbucket(GitHubãã©ã)ã®ãã«ãªã¯ã¨ã¹ãæ©è½ã§ããããã ãã¼ã¸ããã«ã¯ã¬ãã¥ã¼ãè¡ãå¿ è¦ãããããã«ã§ããã®ã§ãç¡ã¬ãã¥ã¼ãªã³ã¼ããçºçãã¥ãããªãã¾ããã¬ãã¥ã¼ç¡ãã§ç¾æèãä¿ã¤ãã¨ã¯é£ããã®ã§ãã¡ããã¨ããéçºãè¡ãããã«ã¯éè¦ã§ãã
ãªãGitHubã§ãªãã¦Bitbucketãªã®ã¯ãå½æã¯å¤æ®µã1/10ãããå®ãã£ãå²ã«ã¯ãçµæ§ã¡ããã¨ãã使ãåæã ã£ã/ãããä¼æ¥åãã¨ãã¦ã¯ä¾¿å©ãªãã¨ãå¤ãã£ã(Atlassianç³»ã§å ¨é¨åºããã¨æ¨©é管çãã¨ã¦ã楽)ãã¨ããçµç·¯ã§ããã
ææ³: 製åèªä½ã«å¼·ãæãã¯ãã¾ãããã¾ãã
- ã¨ã³ã¸ãã¢ã«éå®ããã¨Slackã¯ä¾¿å©ãChatWorkãã¨ã³ã¸ãã¢ä»¥å¤ã«ã¯ã¨ã¦ãè¯ãã
- ã¹ã¯ã©ã ãããªãJIRAã¯æ¬å½ã«ä¾¿å©(æ¬å½ã ã£ã¦ï¼)
- Bambooã¯Bitbucketã¨é£æºããããªãããã便å©
- Confluenceã¯ä½¿ãåæè¯ãã¨ã¯æããªããããã¼ã¸æ¯ã«æ¨©é管çãã¡ããã¨ã§ããããªã«ãã¨ä¾¿å©
ã¨ãã£ãææ³ã§ããéå ·èªä½ã¯ã«ãã´ãªæ¯ã«ããããå¿ é ã ã¨ãããã¾ãããäºç®ã好ã¿ã«å¿ãããã®ãé¸ã¶ã¨è¯ãã§ãããã
è¡ã£ããã¨: ScalaMatsuriã§å人èªé å¸
ScalaMatsuri2016ã¨2017ã®å°è»ã¹ãã³ãµã¼ãåãããã¦æ´ããã¨ãããã©ã¤ãºã¨ãã¦ãã»ããã¼ãã»ãªãªã¸ãã« æè¡èªæ¬ãã¨ããå人èªãé å¸ãã¾ãããï¼ 2016年度çã2017年度çï¼
çç±: ã»ããã¼ãã®æ¬æ¥ã¯åºå代çåºãªã®ã§ãã¨ã³ã¸ãã¢çéã«ã¯ã¨ã¦ãç¥å度ãä½ãç¶æ ã§ãããããç¨åº¦æåãæ´ã£ã2015å¹´é ãããªãã¨ãç¥å度ãä¸ãããã¨ããããããªã¤ãã³ããä¼ç»ã»åå ããããã«ãªãã¾ãããScalaMatsuriã«å°è»ã¹ãã³ãµã¼ã¨ãã¦åå ããã¦æ´ãã¨ãããã¼ã«ãã³ãã¯ãªã¢ãã¡ã¤ã«ãé å¸ãã¦ã誰ã®å¿ã«ãåºãããªãããã ã£ãã®ã§ãæã ãã©ãããæè¡æ°´æºãªã®ãã解ãããã«ã¿ããªã§æè¡ãã¿ãè©°ãè¾¼ãã æ¬ãå·çããé å¸ãã¦ã¿ããã¨ã«ãã¾ããã
ææ³: ä¸åãããã®ä¾¡æ ¼ã¯ã°ãã¨ããã®ããããã¾ããããä½æã¯æ¥½ãããããã¯è¯ãã£ãã¨ãããææ³ãããã ããã¨ãããã大å¤è¯ãã£ãã§ãã æ¡ç¨ã«ç¹ãããã¨ãä½åº¦ãããã¾ããã
主ãªè¡ã£ã¦ãããã¨ã¯ä»¥ä¸ã§ãã
èªåã®ããã·ã§ã³ã¯ä½ã ã£ãã®ã
次ã®äºã¤ã主ãªããã·ã§ã³ã§ããã
- GANMA!ãæåããããã¨
- ã»ããã¼ãã»ãªãªã¸ãã«(å½æã¯å社ååãªã®ã§ã»ããã¼ãæ¬ä½)ã®éçºæåãã¤ãããã¨
GANMA!ã¯ã¹ããåãã«ãèªç¤¾ã§ä½å®¶æ§ãåéããªãªã¸ãã«ã®æ¼«ç»ä½åãä½æãé ä¿¡ããäºæ¥ã§ãã800ä¸DLãè¶ ããå©ç¨è ãå¤ããã¢ããªã®ã¬ãã¥ã¼ãå¤ãã®é«è©ä¾¡ãé æ´ã§ãã¦ããç¶æ ã§ããã¹ãã¢ã®ã©ã³ãã³ã°ã«å¸¸ã«ã©ã³ã¯ã¤ã³ã§ããããã«ããªãã¾ãããGANMA!ã¯ééããªã大æåã§ããã¨æãã¦ãã¾ãã
éçºæåã®é¸é ã«é¢ãã¦ããã¨ã¦ãããæåã«ãªã£ãã¨ãããã¾ããèªåã¯æãæ¯ã£ãã ãã«éãããçæ§ãããã«ä¹ã£ã¦ãã ãã£ããã¨ãã¨ã¦ãè¯ãã£ãã§ããæè¬ãç³ãä¸ãã¾ãããã®ã¨ã³ããªã¯ã¡ãã£ã¨åºãã«ãªã£ã¦ãã¾ã£ãã®ã§ããããããã¨å è¦ããã¨ãããªã®ããªï¼ã¨æãããããããã¾ãããããããªãã¨ã¯ããã¾ãããå®è£ ããã£ã¨æ¥½ãããè·å ´ã ã¨ãããã¾ãã
ãã®ã¹ã©ã¤ãã«ã¯ ããå®å®ããå質ã && ãèªããçµç¹ã && ã価å¤ãããã ãã¯ãããèªåã§ä½ã£ã¦ã¿ããã¾ã§æã¡ã²ããããã¾ã¾ã¨æ¸ããã®ã§ããããããã¨æãã¾ãã
ãªãè¾ããã®ã + ãã®ã¨ã³ããªã¯ä½ãè¨ãããã®ã
åãéè·ããã®ã¯ãå®å ¨ã«0ããã¤ãããã³ãã£ã¼ã«èªããããã®å¯è½æ§ã«é åãæããããã§ããã¤ã¾ãã¯ããã¾ã¾ã§ãã
ããã¾ã¾ã«éããªãã®ã§ããããã©ãã¯ä¿æ°ã«æ®æ®µããæ°ãã¤ãã¦ãã¦ãã»ã¼å ¨ã¦ã®å ´é¢ã§èªåç¡ãã§ä½ã¨ããªãããã«ãã¦ãã£ããã¨ã¨ãé常ã«ãã人éã«ãå ¥ç¤¾ããã ãã¦ãæè¿ã§ã¯Scalaé¢è¥¿Summit 2017ã§5人ãçºè¡¨ããããå Lightbend社ã§ç¾å¨ã¹ã¿ã¼ããã¯ã¹ç¤¾ã®Director of Engineeringã§ããJamie Allenæ°ãæããã¤ãã³ããéå¬ããããããé«åº¦ãªDDDãç®æãæ§ã ãªææ³ãåãå ¥ããããªã©ãã¾ãã¾ãçºå±ãã¦ãã£ã¦ãã¦ã大ä¸å¤«ã ãªãã¨æã£ãã®ãããã¾ãã
åã¯ã»ããã¼ãã»ãªãªã¸ãã«ã¯æé«ã®ç°å¢ã§ããã¨ä¿¡ãã¦ãã¾ãã次ã¯å®å ¨ã«0ãããããªãããªã®ã§ãéè¯ãçãæ®ããã¨ãã§ããã°ãæ¬ã¨ã³ããªã§ãç´¹ä»ããã¦ããã ããäºãè¸è¥²ãã¤ã¤ãåããããæé«ã®çµç¹ãä½ããã¨ãç®æãã¨æãã¾ãããããã¯ä½å¹´ãå¾ã®ãã¨ã§ãã
ä½å¹´ãçµã¦ã°ããã®ã¨ãã«ã¯ãã»ããã¼ãã»ãªãªã¸ãã«ã¯ã»ããã¼ãã»ãªãªã¸ãã«ã§ãããæé·ããããè¯ãä¼ç¤¾ã«ãªã£ã¦ããã¨ãããã¾ãã ãããªããã¨ãç¥ã£ã¦ãã¾ããããããªãã§ãããã次ãã¾ãScalaãããã¾ãããåãScalaä¼æ¥ã¨ãã¦åç£ç¢ç£¨ã§ããã¨ãããªã¼ã¨æã£ã¦ãã¾ãã
ãã®ã¨ã³ããªãã覧æ´ãã¦ããæ¹ã§ãããã¡ããã¨ããéçºããã¦ããå ´æã«è¡ãããï¼ã¨æã£ã¦ããæ¹ãããã£ãããã°ãã»ããã¼ãã»ãªãªã¸ãã«ã¯è¯ãé¸æã®ä¸ã¤ã§ãããããããã°ã»ããã¼ãã»ãªãªã¸ãã«ã«èå³ãæã£ã¦æ´ããã¨å¹¸ãã§ããã¤ãã³ãã«è¡ã£ã¦ã¿ããªã©ããã¨è¯ãã§ãããã
ã»ããã¼ãã»ãªãªã¸ãã«ããããããé¡ããããã¾ãã
次ã§ã¯ä½ãããã®ã
å è¿°ã®éããå®å ¨ã«æ°è¦ã®ãã³ãã£ã¼ä¼æ¥(ã¨ãã£ã¦ãèµ·æ¥ã®ç´ 人ã§ã¯ãªã) ã«ã³ã¢ã¡ã³ãã¼ã¨ãã¦åå ããæ°è¦ã®ãããã¯ãã®ä½æãè¡ãã¾ãã BtoCã®ãããã¯ãã§ãiOSã»Androidåãã®ã¢ããªãä½æããäºå®ã§ãã ã©ããã£ããããã¯ããªã®ãã¯ã¾ã å ¬è¡¨ã§ããªãã§ããããã£ã¨é¢ç½ãç©ããå±ãã§ãããã¨ãããã¾ãã
社åã¯SUGARæ ªå¼ä¼ç¤¾ã¨ããã¾ãããã¾ãããã°å¹´æ«ãæ¥å¹´ã«ã§ãã¡ã³ãã¼åéãã§ãããã¨ãããã¾ãã æ¹æ³ã¯ã¨ããããé«éé«å質ãç®æããè¯ãéçºãè¡ããçµç¹ãç®æãã¤ããã§ãã ãããèå³ãããã¾ããã @sugitaniã«å¯¾ãã¦ãèå³ããã¾ããåãããã£ããæãã¦ï¼ãâ ããããã®ã¾ã¾ã³ãããã¦DMãéã£ã¦ããã ãã¾ãã§ããããããããããé¡ããããã¾ãã
é·æãèªãã§æ´ãããããã¨ããããã¾ããã