2018年12月19日に初出の投稿

Last modified: 2018-12-19

先日、連れ合いに紹介してもらったブログ記事を読むと、久しぶりに CI が登場する話だった(話の本筋とは関係ないが、状況設定には関係がある)。「CI」という言葉を見て、最初はデザインの話かと思ったのだが、複数人で開発している状況が描かれているので、これは continuous integration、つまり「継続的インテグレーション」という開発手法のことだと思い出した。もう Circle CI のようなサービスを TechCrunch で見かけて「へぇー」と思ったのは、いつだったのか。覚えていない。

僕が CI にさほど興味を持たなかった理由は、僕自身の業務スタイルからすれば自明と言っていい。僕は会社で電通、博報堂、JR西日本コミュニケーションズ、大広といった広告代理店さんの案件で、サーバ構築やらブログ全体のセキュリティ・セットアップやらキャンペーンサイトの応募データ管理画面やらと、小規模なスケールの開発をやっている。というか、そもそも上場企業や巨大企業の案件とは言っても、ウェブの制作会社にエンタープライズ級の社内システムなんて発注するわけがないのだし、キャンペーンのプレゼント応募フォームとか、以前にやったものなら大規模な投稿データを捌いて Flash コンテンツに反映させるとか、あるいはどこかの大学のサイトを WordPress や MT で組み直すとか、そういったことが限度だ。そして、そういう限度内であれば、僕はネットワークから(場合によっては)ビジュアルデザインやセキュリティ監査や結合テストやサイト運営やログを元にしたアクセス解析レポート作成に至るまで、ほぼ実務の全てを20年近くに渡って経験してきているので、問題なくこなせる。そして、一人でやれるということは、はっきり言えば CI も含めたアジャイルやエクストリーム・プログラミングの類は全く不要だったし、恐らくはこれからも不要だと思う。

しかし、そういう手法が実務として不要だからといって、知識として知らなくてもいいというわけではない。僕は、大手のサイトでも前任の制作会社が開発したオリジナルの CMS やら WordPress 実装やらウェブサーバやらデータベースを引き継ぐ場合も多々あるが、こういう他社や他人の仕事を引き継ぐ場合には、そこにどういう問題があるかを突き止めたり原因を推論するためには、それらのシステムなりプログラムがどう設計されたりコーディングされたのかを理解した方が都合がいいこともある。複数の人間が携わったがために起きた複雑な問題があるなら、その原因は個々の開発者ではなく、もしかすると単なるツールの愚かな仕様かもしれない。

とは言え、これから何か使ってみようと思っても、まず僕はコンパイルとかビルドが必要なプログラムを業務では殆ど書かないので、自動コンパイルしてくれるといった利点があっても仕方がない(何種類かの画像をランダムに切り替えるバナー広告の表示プログラムを C 言語で書いて新聞社に納品したのは、もう10年くらい前の話だ。いまでも同じなのかどうか知らないが、当時は新聞社のサイトで PHP や Perl を動かすのはセキュリティの観点から絶対に困ると言われたものだが、さてそんなことを言っていた C しか書けない人々は、いまでもサイトを C 言語で動かしているのだろうか)。他に、ユニット・テストとか Git のリポジトリに自動でコミットするといったことなら、試しに使える案件はあると思う。年末年始は、少し時間を使って幾つかのサービスやソフトウェアを物色してみよう。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook