最近の世の中便利なものがたくさんありますよね。 昔は固定電話しか無かったのに携帯電話が出てメールが出て、SNSが出て。 どんどん便利になっていった。 異性の家に固定電話をかけるという経験したことあるのは どの世代まででしょうかねw さて、そうやって便利になっていく世の中だけど、 やっぱりその便利を作る側ってのはけっこうしんどい。 てか面倒くさい。 アプリケーションってのは色々な人が使うわけで、 当然ながら色々な使い方を想定しないといけない。 Aの次はBと決めつけずに、Aの次にもう一回Aという処理が動く可能性もある。 そういった場合にアプリケーションはしっかり動くか。 ぶっ壊れたりしないか。 そういうパターンを考えるのも一苦労だし、 そういうパターンを実際に試すのも一苦労。 同じことを何度も何度も、時間もかかるしそのうちやる気なくしてしまう。 それはどんなに品質上げようと、どんな素晴らしいソフトを作ろうと やっぱり試験していないのは問題、と言われてしまうのがほとんどのソフト屋さんである。 そんな面倒くさい事を避けるために、色々な外部ライブラリが存在したりする。 部品だけ別の人が作ってくれたりして、それを利用すればだいぶ楽になる。 はずなんだけど、なかなか楽にならないんですよね。 セキュリティ的に使えないとか、そのライブラリ自体のテストしろとか、 ライブラリが動かない場合修正とか、コミュニティにパッチが無いか探したり。 仕方ないのは分かるけど、細かすぎるんですよねえ。 アジャイル開発ってやつはもうちょっと楽。 最低限動けばいいし。 ただあれも機能追加していくとけっこう後戻り多かったりするのですけどね。 まあなんというか、ソフトウェア開発ってのはめんどいのですよ。 大規模になればなるほど、想定外のバグはしょっちゅう起きる。 品質管理ってのはいつも厄介な問題を引き起こすのです。 便利さの裏にはそういう問題があるってのをご理解くださいな。