保守業務に適性があるプログラマとは

| コメント(0) | トラックバック(1)

ゼロベースは開発に特化している会社です。ですが、開発した流れで保守を引き受けるケースもあります。システム保守を受託する体制がしっかりした会社ではないので、日々、保守業務の難しさを感じています。そんな折、ふと保守の適性に気付いたので、書いてみます。

開発と保守は、どちらが難しい、といったものではありません。難しさの程度、量の問題ではありません。難しさの質が違うと思います。

(※この記事では「保守」ということばを「ソフトウェア(アプリケーション)保守」の意味で用いています。ハードウェアやネットワークの保守業務は含みません。運用業務も含みません)

ゼロベースは、新しいものを作ることが好きな人たち、ゼロから作りたい人たちの会社です。新規案件の企画から開発までのフェーズに特化したい(運用までに手離れ・引き継ぎしたい)。サイトのトップページに下記のように書いているくらいです。

  • 新しい、面白い、難しい、そんな依頼を歓迎します。
  • アイデアの求められない仕事は請け負いません。
  • デザイン(クリエイティブ)の求められない仕事は請け負いません。
  • システム(技術)の求められない仕事は請け負いません。

とはいえ、運用や保守というフェーズをないがしろにしているわけではありません。

既存システムの使われ方の変化、利用者の要求の変化、市場の変化、負荷の変化などに対応することで「システムがその価値を保ち続けられる」ようにするための保守業務は、とても大事だと認識しています。大事で、難しい仕事です。「保守は開発より簡単だ」などと考えられない。

保守は難しく、それゆえ得意な人が担当すべきです。だから、我が社ではなく他社へ任せたいのです。

(※あるいは、こう思った人もいるのでは? ひとりのプログラマが新規開発時の設計から実装・テストまでこなし、さらに保守までこなす、それが理想的だ。しかし、本当にそうでしょうか? エンジニアとして完璧になりたいと思う人は、そういうオールラウンドプレイヤーとしてのキャリアパスを描けばよいでしょう。それは個人的なキャリアの問題です。ほかのエンジニアに指図したり、されたりするものではありませんよね。また、人が持つ能力をどのように配置して業績を上げるかという問題は、個人のキャリアではなく、会社の戦略の問題です。ゆえに、会社により異なることであって、唯一の正解などありません)

コンサルタントの秘密』(共立出版)の著者であるGerald M. Weinbergは保守の重要性についてこう語っています。

コンピュータも同じだ。コンピュータはプログラムされるものであり、プログラムで使われる多くの言葉の意味は恣意的なものだ。たった1つの間違いによって、役に立つコンピュータが会社を襲って殺してしまうかもしれない。ソフトウェアの保守をすごく軽く考えているクライアントのことを私が理解できないように思うのはそのためだ。保守はそんなに出来の良くない(そして安い)人でもやることができ、公式に管理する必要も規律ある開発をする必要もないとマネージャが口にするのを、何度も聞いたことがある。 保守なんてそんなに重要なものじゃないというのだ。そしてどんなに説明しようと、そうではないのだと彼らに納得させることができない。彼らが保守で高くつく失敗をするまでは。

via: コンサルタントの秘密 - 一見無害だが危険な言葉

コンピュータプログラムにおける「保守」という言葉を作った人が誰なのであれ、その人は「殺せ」とか「こんにちは」という言葉で攻撃するように犬を訓練する人と同じくらいに考えがなく、不注意なのだ。すでに後の祭りではあるが、「保守」プログラマというのは、用務員よりも脳外科医に近い。生きているシステムを開けるというのは、流しを開けてワッシャーを替えるというよりは、頭を開けて神経を替えるようなものだからだ。もし保守が「ソフトウェア脳外科手術」と呼ばれていたなら、簡単にやれることだと考えられただろうか?

こう考えてごらん。あなたは攻撃犬に「殺せ」と言う悪い癖がある。それであなたは脳外科医の所に行って、こう言うのだ。 「先生、ちょっと私の頭蓋を開けて、この小さな癖を取り除いてもらえませんか? 手早くやってもらって構いませんよ。小さな変更なんだから! ごくつまらない保守作業でしょう?」

via: コンサルタントの秘密 - 一見無害だが危険な言葉

保守が向いてない人って?

ゼロから自分で新しいコードを書きたい。人の書いたコードを修正するなんてまっぴら。

こういうタイプは保守に向かないのではないでしょうか。

保守の適性がある人って?

人の書いたコードを修正のがイヤではない。それどころか、楽しめる。

こういうタイプは保守に向いているのではないでしょうか。

そして、それって、オープンソースソフトウェア(OSS)にパッチをコミットするような人が該当するのではないか、と思ったのです。

だって、「パッチ」は不具合修正のことであり、それはアプリケーション保守業務そのものですから。あるいは、便利なコマンドラインオプションを一つ追加するようなパッチも、追加開発というよりは保守でしょう。

そういう「保守業務」を趣味でやっている人は、保守の仕事に向いているはずです。

(※OSSも最初は新規開発ですし、追加開発も多いので、OSSへのコミットメント全般について言えることではありません。ここではとくに「既存部分の不具合を見つけてパッチをコミットするという」という行為・作業に焦点を当てています)

仮説:OSSにパッチをコミットするようなプログラマは保守業務に向いている。

※注


  • 「OSSパッチコミッターでなければ保守に向いていない」という説ではありません。

  • 「保守が向いているプログラマはOSSパッチコミッターである」という説ではありません。

  • 仮説が妥当ならば「保守業務の自己研鑽としてOSSにパッチをコミットするのは有効だ」という説が導かれるでしょう。

もちろん例外はあるかもしれませんが、確率論として傾向について語っているのであり、たったひとつの例外で否定されるべき説でもないと思います。いかがでしょう? よかったらコメントください。

[PR] 運用・保守が得意なSIer様へ案件紹介・共同受注プログラムの御提案 (ZEROBASE BLOG)

トラックバック(1)

トラックバックURL: http://zerobase.jp/mt/mt-tb.cgi/259

システム・インテグレータの経営者様・営業担当者様へ、新規Webシステム開発案件の... 続きを読む

コメントする

このブログ記事について

このページは、ishibashiが2008年8月 7日 16:16に書いたブログ記事です。

ひとつ前のブログ記事は「インタビュー記事(Webエンジニア武勇伝)」です。

次のブログ記事は「運用・保守が得意なSIer様へ案件紹介・共同受注プログラムの御提案」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。