Github

github

GitHub - User case study -Internet Initiative Japan Inc.

ソーシャルコーディングを利用したアジャイル型開発に移行 継続的インテグレーションと継続的デプロイメントを実施し 開発生産効率と品質を大幅に改善し高頻度のリリースも実現

Internet Initiative Japan Inc.
Internet Initiative Japan Inc.
Internet Initiative Japan Inc.

Internet Initiative Japan Inc.
Established in 1992 as Japan's first domestic Internet service provider. Since then, as a pioneer of the Internet in Japan, we have continued to take initiatives centered on technology, and have developed into a corporate group with a strong customer base of over 8,500 companies, including large corporations and government agencies. We are expanding our business domain as a total solutions provider that provides Internet connectivity, outsourcing services, WAN services, system integration, and more.

Before
  • Due to waterfall type development, regular builds are limited to once a day
  • Early detection of defects is difficult due to lack of effective code review
  • Challenges include developer know-how and personalization of the development process
Arrow: Horizontal
Arrow: vertical
After
  • Achieving continuous integration by moving to agile development
  • Easily share information by visualizing source code and inserting comments
  • Breaking away from “individualization” through free collaboration between developers

Waterfall development makes continuous integration difficult

Internet Initiative Japan Inc. (IIJ) was established in 1992 with the aim of commercializing the Internet for the first time in Japan. Since then, we have continued to take the initiative in commercial Internet through the provision of services such as WAN services, outsourcing services, and system integration, with Internet connection services based on our backbone network, which boasts the largest scale in Japan.

Along with the history of the Internet in Japan, IIJ's in-house development style has undergone many changes in the past. For source code version control, a waterfall-type development method using the centralized version control system "Subversion" (SVN) has long been established, starting with "RCS" and "CVS". However, due to the limit of regular build once a day, continuous integration (CI), which executes unit tests every time the source code is changed, cannot be realized, and multiple function development, bug fixes, trial and error, etc. And it was difficult to do it in parallel. In addition, since the commit log was also automatically posted on the mailing list, it was not possible to confirm the difference in code changes, understand the intention of the change, and share it satisfactorily. .

After that, although we started using the distributed version control system "Git", we could not get out of the old development style of the SVN era.

Toru Saito, Deputy General Manager of the Basic Product Development Department at the IIJ Product Division, said, "The development method is assigned to a person for each function, and it is difficult for anyone other than the person in charge to grasp the development status of other people. For this reason, we have moved away from the situation that relies on individual skills, and instead of just managing the code, we have changed to an agile development style based on collective intelligence through code reviews by a large number of people. It was necessary to increase the development efficiency of

Code review among developers is established as a daily workflow

IIJ's aim was to shift to a development style called "social coding," in which developers shared source code and collaborated to improve the quality of program development throughout the project. That's why I focused on GitHub.com, an open source software platform that uses Git. In March 2012, we adopted GitHub.com on a trial basis for the purpose of open sourcing part of our internal source code, implemented mruby (lightweight Ruby) in IIJ's service adapter products, and used it for operation verification. Since we were able to confirm the effect, we expanded the scope of use, such as moving to a paid account contract for the purpose of joint development with external parties and dissemination within IIJ. But what they really needed was a GitHub Enterprise that they could build in-house. Since it is possible to manage both the server and the code in-house, we have started considering the introduction so that more developers can practice social coding in a highly confidential environment.

“I had a strong sense of the effectiveness of GitHub Enterprise for some time, and I recognized that it would be an indispensable tool for future development, but I was hesitant due to cost issues. We considered several products, but none of them were as complete as GitHub Enterprise, and all of them had issues such as lack of performance and functions, and the high construction and operation load, so we did not introduce it. After learning about a case study of a company adopting GitHub Enterprise in Japan and achieving remarkable results, in July 2013, we strongly persuaded the company to approve it,” says Saito, looking back on the process.

Similarly, Ryo Inomata, Application Development Section, Basic Product Development Department, IIJ Product Division, also explains the merits of GitHub Enterprise as follows. “GitHub Enterprise can be used smoothly by GitHub.com users, and it can be operated in an on-premises environment in consideration of security. The point is that you can check and review the source code.Since anyone can freely participate in collaboration, it leads to quality improvement, and because specifications are understood and shared, it is possible to break away from individual development. All conclusions are recorded on the pull request, so anyone can check when, why, who added or modified the function, and who approved it.”

The Pull Request function devised by GitHub is a function to send source code additions and modifications without affecting the master branch. It can be said that it is a great merit that the discussion can be based on the source code. As a result, code reviews between developers can be incorporated into daily workflows and practiced without difficulty.

Code review among developers is established as a daily workflow

Implement continuous deployment and enable high-frequency release work

IIJ officially decided to introduce GitHub Enterprise, and started internal use in August 2013. As of the end of December 2015, there are approximately 300 users, mainly in development departments, and over 3,000 repositories. In addition to code sharing, document management using Markdown notation (markup language for writing sentences) and task management by "Issue" (shared thread function among development members) are also performed.

As for CI, the OSS version of the CI service "dr one.io" that supports GitHub Enterprise appeared in February 2014, making it possible to check the build results before pull requests are merged. It has become possible to automatically build and test the code before merging, and by automating part of the pass/fail judgment, it has the effect of reducing review implementation costs and ensuring quality.

In addition, even in the release phase deployment, it used to take a lot of time to check because it was manual work by a person, and it made the deployment frequency low. By merging with pull requests, continuous deployment such as deployment work starting from GitHub Enterprise and automation of post-deployment confirmation work can be realized, enabling high-frequency releases.

GitHub Enterprise contributes not only to source code management but also to establishment of development flow and development culture

Shota Kondo, Application Development Section, Basic Product Development Department, IIJ Product Division, says, "Using the Pull Request function for large projects has become a habit, and we've become accustomed to doing code reviews. Productive development has been improved and the quality of development has been improved.In addition, the development trends of other departments and teams can be grasped by code search across repositories and functions that display popular repositories in ranking format. We can now do that,” he said, evaluating the convenience of GitHub Enterprise.

Mr. Inomata also said, "GitHub Enterprise is now firmly established within the company as a tool that promotes communication during team development. If we hadn't used it, we might not have been able to realize the effects of social coding." No. You could say that GitHub Enterprise has demonstrated the power of social coding.”

Mr. Saito summarizes that GitHub Enterprise is not only successful in managing source code, but also in establishing a development flow and fostering a development culture. "We will continue to promote our in-house promotion activities, but as GitHub itself has become more well-known, we are creating an environment that is very easy to use, which is helpful. Macnica also offers hands-on seminars and training for beginners. I hope that you will implement such measures.'' (Mr. Saito)

Macnica, which became GitHub Enterprise's general agent in Japan in June 2015, supports GitHub Enterprise within IIJ through support for yen-denominated payments and invoice payments in line with Japanese business practices, as well as technical support in Japanese. Our policy is to do our best to support the universalization and deepening of social coding using .

Search case studies by industry

Related content

Feel free to contact us about GitHub Enterprise

Inquiries on the web

Inquiries by phone

045-476-2010

Reception: Monday-Friday 8:45-17:15

Inquiry/Document request

Macnica GitHub

Mon-Fri 8:45-17:30