~エンプラ系SI開発現場の「今」を変えていくために~」を受講しザクザク刺さりました。このセッション自体はSIerのPL/PM/SEを対象としており、このような状況を打破しようと聴きに来ている権限を持った方たちのいる現場は、少し未来に希望を持てます。教えに従い設計作業の最適化、テスト作業の最適化を行うことで効率的な開発が行えるようになる可能性があります。そのような権限を持った方がいない、問題意識のない現場において、ほとんどの権限がない現場のサブコン(協力会社)プログラマが環境をもう少しマシにする為にはどうすればいいか、なにができるのでしょうか。現場環境について私はここ数年、某外資系のエンプラ系開発現場にて仕事をしております。Webフォームなどを扱ったプロダクトが主であり、大量のドキュメント、Excelでのテストケース管理、手動テスト(もちろんテストコードなし)、エビデンスはExcel方眼紙へスクリーンショットの大量貼り付けとレガシー環境そのものです。現実を変えるためには最良の方法は権限を持った方からのトップダウンでの現場環境改善の指示でしょう。現実にそのようなことは起こるには至っておらず、個人レベルでの活動を行う必要があります。雇われの一プログラマにできることはそう多くはありません。テストコードを書くなんらかの変革を起こす場合、その変革によりシステムの本質に影響がないことを保証するためにテストコードを書くことは重要でしょう。プログラマであれば手堅く、確実にこなすことができます。効果がでるのは少し後になります。テストコードのメンテナンスにもコストがかかることを認識してなければなりません。ある程度のライフタイムを持つシステムであれば、書けるところから少しでもテストコードを用意しておく方がよさそうです。業務アプリにとってデータは根幹といえる要素であることが多いと思います。よって、データベース周りのテストを重点的に行いたいと思うのですが、私の現場ではローカル環境のSQLServerが使用できません。開発用のDBサーバがあるのですが、共有のためデータのテストがしにくいのです。この障壁を取り除くべく次期開発ではなんとしてでもローカルのDBをセットアップする必要があります。モダンテクノロジーの導入チャンスは小規模な新規案件しかありません。今のボスは技術者よりなので完全新規案件かつ、小規模案件(開発一人)において私の裁量に任せてくれました。MVCフレームワークの導入の検討を打診しました。MVC*1での実装と実績を残せました。これはプロジェクトの規模が大きくなるほど難しいでしょう。アジャイル開発や継続的インテグレーションなどはまだまだ遠いです。そもそもアジャイル開発が適していないケースというのもあります。啓蒙活動プロパー(社員やSIer)や同僚プログラマへの地道な啓蒙活動を行い、問題意識と改善の必要性を認識してもらう必要があります。テストコードを書き、少しずつ自動化を行い、小規模な新規案件でテクノロジーの刷新を行い確実に外堀を埋め実績を残します。すればいつの日か権限のある人たちへ伝わって、大きな波となるはずです(希望)。テクノロジーのアップグレード要求そしてもっとも難しいのがこれ。これこそトップダウンで行われないと無理でしょう。要求することはできます。一つのプロジェクトに一年とかかかる間に次々と新しいテクノロジーが世に送り出されてきます。置いてけぼり感すごいです。2010とその周辺技術の現状維持が決定しました。2010で開発されているため、すべてのソリューションのアップグレードが必要で、それをテストするにはコストと時間の両面から厳しく、現状維持が妥当との結論です。この結論は理解できます。開発者の視点だけで見ると残念というだけです。最新技術使いたいですからね。エンプラ系では特にここは我慢して、いつか使う日のために学習に留める必要があるのでしょう。まとめエンプラ系開発においてレガシー要素が全て悪とは言い切れない部分もあります。私の環境では何ができるかということを前提に考えてみました。現場の数だけ取るべきアクションが考えられると思います。マシな明日のために、今何ができるのか。MVCのエラー処理を実装してみます。(1)SearchAuthorid:sh_yoshidaレガシーな開発現場からVS-2010とC#の力で現代に戻ろうとしている.NETプログラマ。Linkはてなブログをはじめよう!sh_yoshidaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。