memorandums

日々の作業ログです。

要求定義演習

2年必修科目でソフトウェア工学という科目を担当しています。もう8年くらいになりますが、経験がない学生さんに実感がわくような、できれば面白いと感じる授業や演習ができないものか。。。試行錯誤してきました。

本日、第3回目の講義(ソフトウェアライフサイクル)で、ちょっとした試行をしてみました。

ライフサイクルについて一通り説明し、具体例を話し、その後、やってもらった演習です。本当はソフトウェアの話しにすべきところですが、人によってソフトウェアの利用経験が異なり実現方法の検討に手詰まりが生じることが予想されたので、家を設計することをテーマにしてみました。

いわゆるロールプレイになります。2人でペアを作り、顧客役、エンジニア役にわかれます。顧客役は一人で要求事項を箇条書きでまとめ、エンジニアはそれを見て平面図(マンガ)を描きます。顧客の要求をどのような形で実現するか考え、それをもとにコミュニケーションし案をブラシュアップしていきます。

結果は、まあまあ(悪くはなかった)、といったところでした。もう少し真面目に書くと、有効回答数は60で、演習後に簡単な質問に答えてもらいました。

Q.この演習は要求定義を理解する上で役に立ったと思いますか?全く思わないを1とし、そう思うを5とし5段階で評価を書いてください。「来年度の授業で取り入れるかどうか判断します。この評価の高低が評価に関わることは決してありませんので感じたまま素直に書いてください」とも添えました。

結果は以下の通りでした。横軸が評価、縦軸が度数です。とりあえず絶対やめてくれ「1」、という回答はありませんでした。

予想した通り、ペアを作ることが苦手な学生さんもいました。その方用の個人でできる問題も用意しました。評価が2の学生さんはペアを作らなかった学生さん、逆に5をつけた学生さんは2人でああでもないこうでもないと話し合ったペアだったように見えました。

多少、私の思い込みによるバイアスがかかっていると思いますが、アルゴリズムやプログラミングなど一人作業ももちろん楽しいですが、お客さんやチームのメンンバーと一緒に新しいものを作り上げる過程は楽しいわけで、単位を取るための「お勉強」として接するのはもったいない。。。IT系企業に就職しなくても楽しいという記憶は持っておいて欲しい、と思ったところからの試行でした。

とりあえず来年度もやってみたいと思います。ただ、もう少し工夫が必要な気がします。また考えてみたいと思います。