ソフトウェア開発のスピードを向上–開発者の「フロー状態」を維持する3つのポイント(前編)
今回は「ソフトウェア開発のスピードを向上–開発者の「フロー状態」を維持する3つのポイント(前編)」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
近年、デジタルトランスフォーメーション(DX)の加速により急速に変化する社会の中で、さまざまな規模や業界の企業が、変化する顧客の要望に応えるだけでなく、必要とされる存在であり続けるために努力しています。
企業が後れを取らないように方向転換をする中で、ソフトウェアは他社との差別化要因になり得ます。企業が生み出すソフトウェアの品質が、企業の競争力に本質的に関係していると言っても過言ではありません。そのため、さまざまな業界の企業が、製品やサービスに競争力を生み出すソフトウェア開発方法に、注目し始めています。しかし、ウォーターフォールモデルを中心とした従来のソフトウェア開発手法は、今日のテクノロジーのペースに対応しておらず、ますます高まる顧客の要求に応えるには十分とは言えません。
こうした市場変化からDevOpsの採用に取り組む企業も多いのではないでしょうか。開発と運用部門が緊密に連携を取ることで、従来の縦割りの開発体制に柔軟性を持たせ、より迅速に市場が求めるソフトウェアの開発に取り組むことができます。
そんな中、オープンソースを活用したソフトウェア開発は、変革やイノベーションを推進する企業にとって、主要なモデルとなっています。スピード感を持って、質の高いソフトウェアを開発することが、より一層重視されている中、オープンソースを活用することで、より優れたソフトウェアをより速く開発することができます。
現在、ソフトウェアプロジェクトの99%がオープンソースを活用しており、企業がビジネス的な優位性を確保しようとするにつれて、今もなお需要が高まっています。ある調査によると、組織の4分の3以上(77%)が1年前よりもオープンソースソフトウェアに依存しており、3分の1以上(36%)がオープンソースの利用が「著しく」増加したと回答していることが分かりました。
また、スピード感のあるイノベーションが優先される中、それを実現させるために不可欠な開発者の働き方(=開発者体験)に焦点が当たるようになりました。会社の経営陣は、開発者が組織全体のパフォーマンスや戦略に大きな影響を与えていることについて、理解し始めています。開発者が能力を最大限に発揮できる最高の環境を提供し、開発作業の障壁を排除してプロセスを可能な限り円滑にすることによって彼らの能力を高めることが、イノベーション創出のペースを加速させることにつながります。
では、DevOpsを開発現場に定着させ、スピード感のあるイノベーションのために必要な開発者体験の向上に取り組むためには、具体的にどのような点を意識する必要があるのでしょうか。前編・後編の2つに分け、3つのポイントをご紹介いたします。
オープンソースの開発者コミュニティーでは、自動化ツールの導入が急増しています。自動化により、チームの速度を低下させる反復的で平凡なタスクの多くが排除され、チームが大規模な開発をより迅速に進めることができるからです。
継続的インテグレーション/継続的デリバリー(CI/CD)、テスト工程、課題管理、リファクタリングといった業務は、ほとんどの開発者にとって開発の「フロー状態」に入ること、言い換えれば、「最高の仕事を生み出すのに最適な創造的状態」になることを阻害する厄介者だと思われているようです。開発作業中に常に環境を切り替える必要がある場合、非常に気が散りやすくなり、生産性が低下します。
自動化は、開発者が流れに乗って開発をスムーズに進めるために最適な方法です。開発者を1つのプラットフォーム上での作業に集中させ、コンテキストを切り替える必要性をなくすことで、注意の散漫を最小限に抑えることができます。自動化を最大限に活用する統合環境は、開発者が最も複雑なタスクのみに集中し、コーディングや共同作業に多くの時間を費やすことができることを意味します。