読者です 読者をやめる 読者になる 読者になる

No.33

特にテーマはございません。日常で見たり聞いたり考えたことを、徒然なるままに。

結果と過程と

つぶやき

結果が全て。

過程が大事。

 

この2つは相反するものとして語られがちですが、本当に相反する概念でしょうか?

個人的には、これらは併存できるものだと考えています。

そして、周囲に結果を正当化する為に過程を蔑ろにするような空気があるのを感じて、とても居心地の悪い思いをすることが間々あります。

 

私は仕事でプログラムを書いてるので、その話をしましょう。(しましょう、というか、したいのです

プログラムって、極論を言ってしまえば「動けばいい」ものです。

あるインプットから期待通りのアウトプットを出す、そういう結果を目指します。

その結果を出すために書くのがプログラム。それが過程。

ひとつの結果を出す為に書けるプログラム、過程には幾通りもあって、それにはもちろん良いものと悪いものがあります。

 

十分に構造や機能分担を考慮されないままの急ごしらえなプログラム。

問題が発生した対処を、とりあえず継ぎ接ぎで埋めていくプログラム。

冗長に冗長を重ねて伸び伸びのスパゲティになったプログラム。

でも動く。過程は知らぬが結果は出る。これでよいのか。いや、そんなはずはない。

 

ダメな1例を。

このようなプログラムは往々にして書いたヒトしか読めません。

時には書いたヒトですら、時間が経つと読めなくなります。(業界外の方は「うそー」とお思いになるかも知れませんが、本当なのです、、本当にある怖い話

仕事で書くようなプログラムは、動いたら、はい、おしまい、にはならず、そこから保守というフェーズに移ります。

メンテナンスをしていかないといけない。仕様が変わって機能追加しないといけないかも知れない。

だけど、管理する、手を入れる対象のプログラムが読めない。どうなっているかわからない。どうしたらいいかわからない。管理できない。

結果だけ出して過程を蔑ろにした所為で起こる悲劇です。

 

これは、当然ながら過程をもっと大事にすれば防げたもの。

では、過程をもっと大事にすることで結果が出なくなるのか?

違いますよね。そもそも結果は出さないといけないもので、そこに至る過程の内どれを選んだのかという話。

あちらを立てればこちらが立たぬ、という関係ではありません。

きちんとした(この場合は、後の管理で困らないような、という意味)過程を取りながら、結果を出すことはできる。

それを過程と結果のトレードオフのように語るのは、単なる怠慢だと思います。

(こういう場合によく反論として言われる、納期が短くて過程に重点を置く時間がない、というのは、プロジェクトの進め方の問題であり的外れ

 

「動けばいいんでしょ」

そうしてしまうのはとても簡単。だけど、危険。

 

 

一般論としてまとめると、結果はその過程がないと成り立たないものなのですから、まずは過程ありき。

そして、そもそも結果を出せないと話は始まりません。どちらも大切。

結果が出せると腹が膨れる。過程がよくできると心が膨れる。そんな按配かな。(思いつき

 

というワケで、プログラマの皆さん、ばっちり動いて見た目も美しいコード書きましょう。(結局はそこ

 

ではまた、その内。