実現駆動開発と知識駆動開発

Xを実現したいことと定義する。

今までの自分は、将来的にXをやるためにXの知識を得ようと思い、勉強をしてきました。

これは知識駆動開発。

 

これからの自分は、将来的にXをやるためにXを実装していこうと行動する。

これを実現駆動開発。

 

勝手に呼びます

こういうのは、単語を定義しておくのが自分の中で納得いくと思われる。

 

実現駆動開発は、知識駆動開発時にメインになる『改善』をちゃんと取り入れないと、実現はできたけど実行速度が遅いとかツメが甘いことが多々起こると思いますので、PDCAサイクルはやるべきでしょう。

さらに、実現したいことが出てこないと動けないので、仕事などでは後出しになりがちで時代に一歩遅れることが起きやすい。

既に実現されていることなのに、実装の試行錯誤が凄い時間がかかるなどデメリットももちろんある。

(実現したいことが最新技術の時もあると思いますが、日本の業界では情報も少なく、チャレンジはなかなかできなさそう……)

 

ただそれに比べて知識駆動開発は、結局何に使うの?といったことが起こりやすいので、日本の学校の勉強に近い気がする。個人的にこの知識を得たというきっかけはあまりモチベーションが続かないし、使いどころがわからなくて知識とのギャップが大きく、時間を浪費しやすい。だけど、知識は既に書いてあることを詰め込むだけなので手を出しやすい。使うところがわかると、すごくワクワクしますけどね。

最近数学が楽しいのも、プログラミングに使うことで便利なことに気づいたからですし、それがある理由を経験から感じることって大事だ。

経験はイメージ記憶になるでしょうし、概念としても取り出しやすそう。

 

以上の考えから、経験から感じるためには、実現に向かわなくてはいけない。

……でもなんというか、既に方法があるなら、こういう方法があるよって教えてくれる環境って成長速度に非常に影響があると思う。そういうためにも、「一番下手なプレイヤーであれ」という環境に、どんどん突っ込むべきかなと。

いい先生・師匠に会うってすごく大事。

 

というわけで、来月とある塾に通います。果たしてその結果は……?