昨今、働き方が変わりつつある世の中ですが、それに伴い、システム開発における各プロセスも見直しがされてきているのを感じています。
リモートワークが推奨される中、「今までのやり方が通用しなくなってきた…」
「古いやり方をしていたが、さすがに見直さなければ…」などの企業も多いのではないでしょうか?
タイトルにもある通り、本稿では軽視されがちな設計プロセスについて重要性を記載していきますが、そのほかの開発プロセスやテストプロセスを疎かにしてよいわけではありません。
それではなぜ設計プロセスが後回しにされがちなのかをお伝えしていきます。
設計プロセスが軽視される理由
開発プロセスや、テストプロセスは自動化や共通化がしやすいですし、自動化・効率化といったところが数年前から浸透してきています。
開発プロセスでいうと、フレームワークの採用などにより、大枠の部分のコーディングが簡略化できます。
テストプロセスではSelenium、Appium、Apache Jmeter、Jenkinsなど、たくさんのツールが増えてきて、自動化が進んでいます。
この2点を改善するだけでも多くの時間、経費、リソース削減につながることでしょう。
上記が普及しているという理由もあり、設計プロセスが後回しにされがちですが、開発プロセスとテストプロセスの改善だけで、プロジェクトを成功へ導けるのでしょうか。
導けていれば、世の中のシステム会社は苦労していないはずです。
もちろん、「少人数で開発しているから設計書はいらない」「開発も自分でやるので、設計書をつく時間が無駄」などの意見もあるかと思いますが、対象となるシステムの運用・保守や、サービス停止まで、当初の参画者がメンテナンスするのでしょうか。
引き継ぐ側も引き継がれる側もどちらも困っていませんか?
多くの企業でマイグレーションなどの案件で苦労している話を聞きます。
目先のスケジュールに追われ、ハリボテの設計書を作るだけでは結局、繰り返しになってしまいますので、開発、テストと同様に設計プロセスも真剣に向かい合う必要があると考えます。
設計書は何故必要なのか
不必要と考える人もいるかもしれませんので、改めて考えてみましょう。
①完成イメージを共有するために設計書を作成する
ユーザやチームメンバーにどのようなものが作成されるかイメージを共有する。
要件定義書からイメージできるメンバーもいるかもしれませんが、昨今では設計書がないとプログラミングが書けない。などの意見も多く伺います。また、ユーザはソースコードまでは見ませんが、設計書は見るケースが多いです。
なので、設計段階で、要件とあっているかなどの確認をします。
②プログラマーに対する指示のために設計書を作成する
プログラマーは設計書を読めば、プログラミングすることができます。
逆に言うと設計書が無ければ、必要以上にコミュニケーションをとる必要もでてくるので、返ってプログラマーへ負担がかかります。
③運用・保守の工数削減のために設計書を作成する
運用・保守担当者が他人の作ったプログラムを解読したり、修正するのに役立ちます。
プログラマーが、運用・保守も兼務で行うのであれば問題ないですが、別担当者が行うケースが多いので、設計書を作成する大きな理由の一つになります。
設計書の標準化について
せっかく設計書を作成するのであれば標準化したほうが効率的です。設計者独自で作成してしまうと、上記で挙げている設計書を作るメリットが薄れてしまいます。
①設計作業を効率化するために標準化する設計書として記載すべき内容が標準化されていれば、SEはフォーマット通りに情報を書き込めばいいだけなので、難易度も下げる事ができます。
②プログラミングを効率よく行うために標準化するプログラミングに必要な情報が漏れなく記載されているので、
必要以上にコミュニケーションが発生せず、プログラミングすることが可能になります。
コミュニケーションが全く不必要という事ではありませんので、ご注意ください。
③運用・保守を効率化するために標準化する統一されていることによって、運用・保守担当者がシステムを理解しやすくなります。
例えば、設計者によって詳細に書かれていたり、ほとんど書かれていないなど、
ばらつきがあると、運用・保守担当者が困ってしまい、結果的に生産性が下がってしまう可能性があるので注意しましょう。
今回は設計プロセスの重要性をご紹介しましたが、いかがでしたでしょうか。
重要性は理解していてもなかなか手が出せないという人が多いと思いますが、このような機会に既存の設計書を見直すのも良いのではないでしょうか。
Object Browser 事業部
- カテゴリ:
- キーワード: