アジャイル/DevOpsコラム

さらなるアジリティの向上へ アジャイルをスケールさせる必要性とその課題

梶原 直人
ソフトウェアソリューション事業本部 APテクノロジー事業部 アジャイル・インキュベーション担当
梶原 直人(監修)

さらなるアジリティの向上へ アジャイルをスケールさせる必要性とその課題

アジャイル開発の導入がうまくいったとして、その体制のまま開発を続けてもよいのでしょうか。プロダクトや組織規模が拡大すれば、当初の体制のままではうまくいかないことも増えてきます。本章では、そんな「変化」に耐え得るための適切なスケーリング方法を紹介します。
2023年9月13日

チーム開発の視点が変わる アジャイル開発の新常識

梶原 直人
ソフトウェアソリューション事業本部 APテクノロジー事業部 アジャイル・インキュベーション担当
梶原 直人(監修)

アジャイル開発の現場では迅速な変化への対応が求められます。チームワークの面だけでなく、社内での調整や技術選定についても、現場責任者は日々新たな課題と向き合う必要があります。本連載ではアジャイル開発で頻出する課題や、リモートワーク対応といった喫緊の課題について、即効性のある解決策をお届けします。
(本コラムは、技術評論社「Software Design」に寄稿したコラムを掲載しています)

第1回 コロナ時代のリモートアジャイル

新型コロナウイルスの世界的な流行により、公共交通機関や職場での感染を避けるために、ソーシャルディスタンスの確保が求められています。緊急事態宣言が出されてから半年以上が経過し、自宅での作業が可能な職種のほとんどは、リモートワークができる環境への移行を終えたように見えます。とくに情報通信業においては、今年5月29日の調査時点で…
2021年7月5日

第2回 アーキテクチャから考える大規模アジャイルの最適化

個人との対話などを重視するアジャイルはもともと、10人程度の小規模開発に適していると言われてきました。しかしながら、近年は大規模開発でもアジャイルを採用するケースが増えてきています。それに伴い、大規模開発によるアジャイルの課題を解決するためにマイクロサービスアーキテクチャを採用し…
2021年7月28日

第3回 初めての新規サービス開発(価値創出編)

実際のアジャイル開発の現場では、創出しようとするサービス自体の検討が深くなされずにプロジェクトがスタートしたり、サービスを検討する側と開発を行う側が分断されていることから、あまりサービスのことが深く意識されないまま開発が始まったりといった場面が散見されます。
自己組織化されたアジャイルチームは…
2021年8月26日

第4回 初めての新規サービス開発(実践編)

前回は、いかに価値あるサービスや課題解決を具体的に創出するかについて書きました。今回はその実践編として、具体的なイメージのあるサービス・価値をどのような形で実現するか、言い換えるとどのようにプロダクトバックログを作っていくか、について解説したいと思います。
2021年9月15日

第5回 アジャイル開発におけるステークホルダとの付き合い

あなたのアジャイル開発チーム(スクラムチーム)は、どんな人が関わっていますか? スクラム開発であれば、まず、スクラムマスター、開発チーム、そしてプロダクトオーナーがいると思います。では、ほかにはどんな人が関わっていますか? たとえば、あなたの職場の上司だったり、アジャイル開発チームに投資をしてくれる人だったり…
2021年10月20日

第6回 アジャイル開発のマイクロサービス化に欠かせない可観測性

少し間が空いてしまいましたが、今回は連載第2回「アーキテクチャから考える大規模アジャイルの最適化」の続きにあたる話をしていきたいと思います。
2021年11月5日

第7回 手段が目的になっていない? アジャイルなテスト自動化とは

アジャイル開発の現場で、テストを自動化していないところはないと言い切れるほど、アジャイルとテストの自動化は切っても切り離せない関係と言えるでしょう。テストにかかわらず、自動化の価値は十分浸透し、アプリケーション開発のシーンだけではなく、インフラ構築や業務プロセスなどでも活用されています…
2021年11月25日

第8回 アンチパターンから学ぶ「なんちゃってアジャイル」からの脱却方法

「スクラムは理解することは簡単だが、実践することは難しい」とよく言われます。事実、スクラムガイド注1は20ページにも満たないボリュームで、フレームワークとしてはシンプルで理解することはそこまで難しくないかと思います。では、なぜ実践することは難しいと言われているのでしょうか…
2022年1月13日

第9回 意外とわかってない?スクラムマスターの役割

アジャイル開発のデファクトであるスクラムに日々取り組んでいるスクラムマスター(以下SMと略記)や、これからスクラムを始めようとしているみなさんは、スクラムガイドの冒頭に書かれている次の文章をどう読み取りますか?
スクラムフレームワークは意図的に不完全なものであり…
2022年2月14日

第10回 アジャイルアーキテクトの心得

みなさんのアジャイル開発現場では、どんなツールを使っていますか? システム開発のためのツールは、クラウド、ライブラリ、パッケージ、言語、フレームワークなど、具体的に挙げたらキリがないでしょう。これらのツールは、たいていそのままではユーザー要求を満たせないので、連携させたり、カスタマイズしたり…
2022年3月31日

第11回 アジャイルだとバグだらけ?正しく品質と向き合おう

あなたは、ソフトウェアの品質に満足していますか?
関係者の方とやりとりをする中で、アジャイル開発を採用した場合、従来に比べ品質がおろそかになるイメージがある、もしくはなったという声をしばしば聞くことがあります。詳しく話を聞くと、どうやらこのようなイメージを生んだ背景として…
2022年5月31日

第12回 XPは古くなんかない!理解を深めて効果的に取り入れよう

みなさんはXP(eXtreme Programming)をご存じでしょうか。XPとは、アジャイル開発手法の1つです。5つの価値と、それを実現するためのプラクティスを持ち、ソフトウェア開発に特化したものとなっています。XPをご存じでないみなさんも、ペアプログラミングやテスト駆動開発という言葉は知っていたり…
2022年7月6日

第13回 なぜマインドが低い「やらされアジャイルチーム」はうまくいかないのか

今年はアジャイルソフトウェア開発宣言が発表されてからちょうど20年の節目を迎えます。日本においてもアジャイル開発は広く認知され、多くの開発現場でアジャイル開発が採用されています。
しかしアジャイルが普及したことにより、目的意識を持たない、マインドの低いアジャイルチームも見られるようになりました…
2022年8月26日

第14回 アジャイルに否定的な組織に対する正しい導入アプローチ

今やアジャイル開発は社会的に十分認知された開発手法となりました。とはいってもウォーターフォールなどの従来型の開発手法がまだまだ多い状況です。これからアジャイル開発を導入しようとしている組織も多いことでしょう。
さて、実際に組織へアジャイル開発を導入しようとすると、そもそも組織が導入に否定的でうまくいかない…
2022年10月26日

第15回 諦めてませんか?大規模システムのテスト自動化

連載第2回 (本誌2021年1月号)では、大規模なアジャイルプロジェクトにおけるコミュニケーション面・技術面の課題に対し、マイクロサービスを用いてシステムを複数のサービスとチームに分割するという方策を取り上げました。
一方で、システムの分割によりシステムを構成するコンポーネント数が増えていくと、複雑性が増していき、新たな課題が生まれてきます…
2022年11月16日

第16回 SREで実践する、インフラを巻き込んだDevOps

開発の現場では、アプリケーション開発(プロダクトの機能要件を担当)とインフラ構築(プロダクトの非機能要件を担当)でチームを分ける場合があるかと思います。アプリケーション開発チームはアジャイル開発を採用し、インフラ構築チームはウォーターフォール開発を採用するというケースをよく見ますが、果たしてそれで本当に継続的な改善を実現できるのでしょうか…
2022年12月13日

第17回 どうやって始める? 失敗しないアジャイルチームの立ち上げ方

アジャイル開発がうまくいかない原因はいろいろ考えられると思いますが、立ち上げ時にその原因が潜んでいる場合も多いのではないかと思います。たとえば、開発前の準備が不十分であったり、詳細があいまいなままプロジェクトがスタートしてしまっていたり、といったケースです。
今回はアジャイル開発の失敗を未然に防ぐため、アジャイル開発の立ち上げ時に…
2023年1月26日

第18回 アジャイル開発の導入・継続時に直面する壁とその乗り越え方

アジャイル開発の主流であるスクラムは非常にシンプルで、やるだけならとても簡単です。
「スクラムガイド」注1と検索し、20ページ弱の文章を1時間ほどかけて読むだけで、スクラムのルールはすべて覚えられますし、ルールに従って開発することはそれほど難しいことではありません。
しかし、期待する効果を出そうとすると…
2023年3月31日

システムがシステムを創る ~ 環境構築と運用の自動化技術

菅原 亮
菅原 亮
岡本 隆史
岡本 隆史

昨今、環境構築と運用の自動化が注目を浴びています。ビッグデータを扱うシステムやクラウドのように、大量のサーバーを必要とするシステムは増加の一途をたどっています。またこれら大量のサーバーを構築し運用する労力は、従来のシステムと比べ物にならないほど大きくなっています。さらにImmutable Infrastructureのような、サーバーを「使い捨て」にする考え方も注目されつつあり、このような分野でも自動化はますます注目されていくでしょう。

ところがいざ自動化を導入しようとしても、さまざまなツールや仕組みがあり、どれを使えば良いのかわからないという方も多いでしょう。また環境構築と運用の自動化に関する多くの解説は、ある程度以上の技量を持った技術者向けとなっており、導入への敷居を高くする一因になっているように見えます。

本コラムでは、より多くの方に環境構築と運用の自動化の恩恵が受けられる事を目指し、基礎的な内容から各種ツールの使い方や応用まで、実践的な例を交えながら書いていければと思います。

第1回「システムをプログラミング」

まずシステムのライフサイクルを考えてみましょう。
一般的にシステムは計画立案、実現可能性の調査から始まり、要求仕様の収集、設計へと進み、製造、テスト、構築、保守・運用と進んでいきます。
ライフサイクル序盤の計画立案や要求仕様の収集などは人間が主体の作業ですので…
2014年10月27日

第2回「システムを作るコンピューター」

前回のコラムで抽象的に「自動化システム」と表現しました、自動化に使うツールについて詳しく説明します。
自動化では「自動化システム」で「プログラム」を動かすと書きました。つまり「プログラム」を動作させるハードウェアのような位置付けになります。一般的にハードウェアが異なればソフトウェアも異なるように…
2014年11月19日

第3回「システムを創るプログラム」

前回のコラムでは自動化に使うツールについて詳しく説明しました。今回はそのツール上で動かす「プログラム」について説明します。
ツールとしてPuppet、Chef、Ansibleを紹介しました。これらのツールで使う「プログラム」ですが、Puppetは「manifest(マニフェスト)」、Chefは「recipe(レシピ)」、Ansibleは「playbook(プレイブック)」という名称でした…
2014年12月19日

第4回「システムからの情報取得」

前回のコラムでは自動化ツール上で動かす「プログラム」について説明しました。今回はシステムを構築する「プログラム」が使う情報の取得と管理について説明します。
プログラムには情報が必要です。情報が無いと、プログラムは決められた単純な動きしかできないでしょう…
2015年1月30日

第5回「設定パラメーターの管理」

前回のコラムでは、システムを構築する「プログラム」が使う情報の取得と管理について説明しました。今回はシステムを構築する「プログラム」が使うアプリケーション設定パラメーターなどのシステムから取得する以外の情報管理について説明します。
当たり前の話ではありますが…
2015年2月25日

第6回「現状を活かしながら環境構築自動化をするならAnsibleがお勧め!」

本コラムでは、運用構築の自動化技術として、Puppet/Chef/Ansibleの使い方を横並びで紹介してきました。動向としては、Ansibleは、Chef/Puppetに比べ新しいプロダクトで、知名度も一般にはそれほど高くないようです。そこで今回は、Ansibleについて少し掘り下げてみたいと思います。
2015年5月22日

第7回「クラウドの構築と運用を自動化するクラウドオーケストレーション」

今まで紹介してきたように、サーバーの構築・運用を自動化するツールとしてPuppet、Chef、Ansibleなどがあります。これらのツールは基本サーバー1台1台を設定するためのツールですが、システムを構築・運用する際には、複数のサーバーを連携させて設定する必要があります。クラウドシステムを利用する場合…
2015年9月18日