はじめてのアジャイル開発はエンジニアに心理的な負担があるのではないか

最近アジャイル開発を計画したり実際に行っていると、これまでの仕事の仕方で考える人にとって、アジャイル開発ではこれまでの前提とは異なる事が多くあり、心理的な負担になるのではないかと思う。特にこれまで良いとされることが、アジャイル開発ではアンチパターンだったりする。その点についてこれまでの経験をもとに、ここで整理するとともに改善策について考えてみたい。

前提の違い

従来の仕事の進め方とは前提が異なる点がいくつかある。その中でも従来と大きく異なると思う3点「計画が頻繁に変更される」、「失敗することが前提」、「要望すべては実現しない」について考えたい。

まずはアジャイル開発では「計画が頻繁に変更される」ため、その点について心理的に対応が難しいと思う。これまでの経験からエンジニアは、立てられた計画を正しいものとして認識して、それを達成するために全力で取り組んでいる事が多い。しかし、計画が変わってしまうと何が正しいものなのかがわからなくなり混乱する。混乱した結果、何を目指せば良いのかがわからなくなりモチベーションを落としているように思う。

次に「失敗することが前提」という点については、単純に失敗をせず成功する方法を取ろうとするように思う。その結果、間違いのない正しいものをまず定義しようとして考えることから初めてしまい、正しいかどうかを確認するための動くソフトウェアができるのが遅れてしまう。また、早めに動くソフトウェアを作ったとしても、一度定義したものが本来の要望とは異なっていることをプロジェクトとしての失敗と捉えているように思う。アジャイル開発では早期の失敗については推奨されているが、失敗をプロセスと捉えず結果と捉え、やってきたことを後悔し挫折してしまったり、プロジェクトそのものを失敗していると考えているように思う。

最後に「要望すべては実現しない」がある。これは実現するためにどうすればいいかという観点から考える事が多いエンジニアにとって、実現しないことを考えることを優先度の低いこととして捉えてしまうように思う。そのため、優先度をあまり考えず、プロジェクト初期に効率的に開発できることから開発を行ったり、できると思える機能から開発を行おうとしてしまう。結果として、優先度の低いタスクを対応してしまい、プロジェクト中盤以降に優先度の高いタスクが対応できない状況になる。また、優先度の高いタスクが対応できないとなったとしても、実現しない要望を決めずに、当初煮立てた計画通りに開発をなんとか終わらせようとしてしまう。

どのように対応するか

これまで書いた前提の違いをもとに、どのようにすればはじめてアジャイル開発を行うときに心理的負担が減らせるかについて考えたい。

これまで書いた従来と大きく異なると思う3点「計画が頻繁に変更される」、「失敗することが前提」、「要望すべては実現しない」については、いずれもタスクの消化や、ソフトウェアを作ることに集中するのではなく、プロジェクトの目的に集中し、そのためにどうするかと考えるようにすることで心理的な負担は減らせんじゃないかと思う。

ただ実際にプロジェクトの目的に集中するというのは、最初に考えるだけではすぐにできない。そのため、プロジェクト初期に振り返りを多くやることでルールを浸透させつつ、ルールそれぞれの目的を伝えていく必要があるかと思う。

さいごに

アジャイルといっても厳密にスクラムやXPに沿ってやっているわけではないが、アジャイルプロジェクトを進めていく上で体験した内容をもとに整理し、対策を考えてみた。従来の仕事の仕方や、アジャイルに関しても自分の主観による所が多い内容ではあるが、今後のプロジェクトに個々で考えた内容を活かしていきたい。

この記事が気に入ったらサポートをしてみませんか?