agile開発手法の導入

従来のソフトウェア開発手法は、効率を低下させるさまざまな問題を抱えています。 例えば開発の途中で要件の変更が生じたとして、その影響がどれほど全体に波及するか 検討することが困難でした。
agile(アジャイル)な開発とは、 従来のスタイルの非効率的な部分を改善するための色々な試みを採り入れることで、 曖昧さを含んだ依頼に対して迅速な開発を可能にしたものです。

agileな開発スタイルにはXP(eXtreme Programming)、スクラムなど幾つかの代表的な ものがありますが、KYA groupはプロジェクトの規模などに応じて最適な手法を組み合わせて 対応しています。

KYA groupで導入している手法の例

自動Unit test / combined testの導入

プログラムを機能ユニットに分割して疎結合することで、 仕様変更の影響範囲を小さく抑えると共に、 ユニット単体の動作、ユニット間の相互作用を 自動的に試験する環境を整備することで 仕様と実装の不一致や仕様の穴・矛盾を容易に検出可能にしています。
また、テスト・プログラムはそれ自体がユニットの 機能を網羅的に使用したサンプル・コードにもなります。

ペア・プログラミング

一人の技術者がコードを記述する傍らで、もう一人がそれを検証します。 ケアレスミスを大幅に低減する上、 仕様の曖昧な部分(二人の解釈が一致しない)が発見でき、 また自ずとコーディング・スタイルがチーム内で共通化するため、 コードの良み易さが高まり、再利用や変更の効率が向上します。

YAGNI

You Aren't Gonna Need It … 後でいつか必要になる「かもしれない」 機能は実装しても永遠に使われることがない、という法則です。
真に必要な要件を探るために、 KYA groupでは 要求工学を活用しています。