PR

 これらのコースを通した体験を通じて有益な学びがもたらされた。例えば、カーネルによって、ソフトウェアエンジニアリングのすべての本質的な側面がプロジェクトで確実に考慮されるようになる。プロジェクトの結果をカーネルのアルファに照らし合わせることで、学生は彼らの開発方法論の良い面と悪い面を容易に識別できた。またカーネルは、教育活動を最小限に抑えて、将来のソフトウェアエンジニアリングの取り組みに対する備えを学生に与えた。

 カーネルの全てのアルファに従うことで、学生はソフトウェアエンジニアリングの取り組みの全範囲を習得でき、将来プロフェッショナルとしての必要とされるものを確かめることができた。

カーネルはアジャイルその他とどのように関係しているのか?

 カーネルは、スクラム、カンバン、リスク駆動イテラティブ、ウォータフォール、ユースケース駆動開発、受け入れテスト駆動開発、継続的インテグレーション、テスト駆動開発といった人気の高いマネジメントや技術上のプラクティスと共に利用できる。またカーネルは、革新的なソフトウェア製品の新開発に加えて、既存のソフトウェア製品の強化や保守に取り組んでいるチームを支援する。さらには、単独から1000人強まで、あらゆるチームサイズのソフトウェアエンジニア計画を支援する。

 例えば、カーネルはアジャイル宣言における「価値」を支持している。カーネルは特定のプラクティスに依存せず、チェックリストと結果に焦点を当てることで、プロセスやツールよりも、個人や個人間の対話に価値をおいている。また、プロフェッショナルなソフトウェア開発チームの必要性に焦点を当てることで、開発方法論よりも、仕事の仕方およびチームの責務遂行に価値をおいている。

 カーネルは、アジャイルなどの既存の開発方法論とは競合しない。むしろカーネルは、チームが選択する方法論にとらわれることはない。チームがすでに特定の開発方法論を使用している時でさえ、カーネルは有用である。Robert Martinが「The Essense of Software Engineering」の序文で指摘しているように、プロジェクトは(仮にアジャイルなものであっても)用いる方法論によらず時にうまく行かなくなるものであり、そうなった時にチームはさらに学ぶ必要がある。そのような時、カーネルは真価を発揮する。カーネルは、チームがプロジェクトを順調な状態へと戻したり、方法論を拡張したり、仕事の仕方に関する重大なギャップに対処するときに、チームがとるべき行動をガイドできる。カーネルはソフトウェアのプロフェッショナルのニーズに焦点を当て、「方法論の定義を記述すること」よりも「方法論を利用すること」に価値をおいている(従来は前者が通常であった)。

 カーネルは、最新のベストプラクティスをサポートしているわけではない。膨大な量のソフトウェアがすでに開発され、保守される必要があることは認識済みである。それらのソフトウェアは何十年も稼働し、効率的な方法で維持される必要がある。これは、仕事の仕方がソフトウェアそのものと一緒に進化しなければならないことを意味し、新しいプラクティスはすでに使用されているプラクティスを補完する形で導入できる必要がある。カーネルは、長年使われた方法論を、融通の利かないウォータフローアプローチからより現代的なアジャイル、さらにはその先の方法論へと進化的な方法で移行させる仕組みを提供する。具体的には、チームのソフトウェア提供力を維持し向上させながら、長年使われた方法論をプラクティス毎に変更できる。