プログラム設計書は本当に必要なのかと、
ぼんやり考えていた時に見つけた記事をメモしておきます。
-ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か-
http://kuranuki.sonicgarden.jp/2013/01/post-109.html
+++上記記事より引用+++
はるか昔、コンピュータリソースが非常に希少だった頃は、
机上での設計とコーディングを分けることで効率を出せたのかもしれませんが、
今や一人一台のコンピュータを占有できる状態の中で、
設計とコーディングを分ける必要はありません。
そんな時代に、ソフトウェアの処理の中身をどう表現するかを考える
「設計」という行為と、それをソースコードに「実装」する行為は、
切り離して考えることはナンセンスです。
コンピュータがソフトウェアを「製造」するための設計図である「ソースコード」を
「設計」する、という行為こそが「プログラミング」ではないでしょうか。
++++++++++++++
確かにその通りだと思いました。
プログラム設計という設計書に、
処理内容を詳しく記述することに時間をかけるぐらいなら、
オブジェクト指向でコードをガリガリ書いて、リファクタリングしていったほうが、
今の時代、断然効率がいいと思います。
「顧客が実現したいこと」を実現するシステムを作るためには、
「過去の」ではなく、「今の」プログラミング技術が必須で・・・
・効率良く質の高いシステムが作れる(実装できる)こと
・顧客がやりたいこととズレがないシステム設計書が作れること
・出来上がるシステムが顧客が求めていたことを満たしていること
を実現できるスキルを持つことが、これから世の中に必要とされていく
ソフトウェア技術者ではないかと思います。
+++上記記事より引用+++
お客さま、もしくは、解決したい問題を抱えている人、
つまり仕様の責任者と、そのソフトウェアの開発を行うプログラマが、
直接に話し合えば良いのです。
その行為こそが「仕様の設計」なのではないか、と思います。
++++++++++++++
求めている人(顧客)と、求めている物(システム)を具現化できる人
(「今」のプログラミング技術と、設計能力を持つソフトウェア技術者)が
話し合ってシステムを設計し、実装していくことが、
顧客の要求を満たしたシステムを作るための最善の方法だと、
私も思いました。
+++上記記事より引用+++
これから先は「仕様を設計する」ことだけをする人の仕事はなくなるでしょう。
そして「ソースコードを設計する」ことだけしか出来ない人も生き残れません。
++++++++++++++
この方向に向かうことが、顧客とソフトウェア技術者がお互い幸せに(Win-Winに)
なれると私も思います。
緩やかかもしれませんが、少しずつでもこの方向に向かうことを願いつつ、
これからも、日々、コツコツ努力していこうと思います。
ぼんやり考えていた時に見つけた記事をメモしておきます。
-ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か-
http://kuranuki.sonicgarden.jp/2013/01/post-109.html
+++上記記事より引用+++
はるか昔、コンピュータリソースが非常に希少だった頃は、
机上での設計とコーディングを分けることで効率を出せたのかもしれませんが、
今や一人一台のコンピュータを占有できる状態の中で、
設計とコーディングを分ける必要はありません。
そんな時代に、ソフトウェアの処理の中身をどう表現するかを考える
「設計」という行為と、それをソースコードに「実装」する行為は、
切り離して考えることはナンセンスです。
コンピュータがソフトウェアを「製造」するための設計図である「ソースコード」を
「設計」する、という行為こそが「プログラミング」ではないでしょうか。
++++++++++++++
確かにその通りだと思いました。
プログラム設計という設計書に、
処理内容を詳しく記述することに時間をかけるぐらいなら、
オブジェクト指向でコードをガリガリ書いて、リファクタリングしていったほうが、
今の時代、断然効率がいいと思います。
「顧客が実現したいこと」を実現するシステムを作るためには、
「過去の」ではなく、「今の」プログラミング技術が必須で・・・
・効率良く質の高いシステムが作れる(実装できる)こと
・顧客がやりたいこととズレがないシステム設計書が作れること
・出来上がるシステムが顧客が求めていたことを満たしていること
を実現できるスキルを持つことが、これから世の中に必要とされていく
ソフトウェア技術者ではないかと思います。
+++上記記事より引用+++
お客さま、もしくは、解決したい問題を抱えている人、
つまり仕様の責任者と、そのソフトウェアの開発を行うプログラマが、
直接に話し合えば良いのです。
その行為こそが「仕様の設計」なのではないか、と思います。
++++++++++++++
求めている人(顧客)と、求めている物(システム)を具現化できる人
(「今」のプログラミング技術と、設計能力を持つソフトウェア技術者)が
話し合ってシステムを設計し、実装していくことが、
顧客の要求を満たしたシステムを作るための最善の方法だと、
私も思いました。
+++上記記事より引用+++
これから先は「仕様を設計する」ことだけをする人の仕事はなくなるでしょう。
そして「ソースコードを設計する」ことだけしか出来ない人も生き残れません。
++++++++++++++
この方向に向かうことが、顧客とソフトウェア技術者がお互い幸せに(Win-Winに)
なれると私も思います。
緩やかかもしれませんが、少しずつでもこの方向に向かうことを願いつつ、
これからも、日々、コツコツ努力していこうと思います。