カテゴリー
development

ソフトウェア開発のお仕事

以下で紹介するのは当社人材募集ページで当社の開発の仕事の進め方を説明するために掲載している記事です。担当者がひとりで開発を進めている前提で解説していますが、基本的な進め方としては規模の大きくない開発プロジェクトの進め方として一般的なものです。

特にあまり開発経験の無い方には参考になると思い、以下にそのまま掲載します。

ご興味があれば 当社人材募集ページまで


インフォテックでは受託開発ビジネスを「カスタムソリューションサービス」と呼んでいます。文字通りお客様のニーズに合わせたソリューションを提供します。

以下では、インフォテックのソフトウェア技術者(業界ではSEやプログラマと呼ばれることの多い職種)の仕事内容を説明していきます。

当社の受託開発のプロセスそのものはごく常識的なものです。最大の特長は基本的にひとりでヒアリングから保守までのプロセスを担当することです。

つまり、当社の技術者はSEであり、プログラマであり、時にはコンサルタントでもあるのです。当社のエンジニアをソフトウェア技術者と呼ぶ理由のひとつです。

それでは当社の開発のプロセスに沿って仕事の内容を説明していきます。

ヒアリング

全てのプロジェクトはお客様の話を聞くことから始まります。既におつきあいのあるお客様の場合は、まず担当の技術者に声がかかります。要求が非常に具体的な場合もありますし、まったくあいまいな雑談のような相談もあります。

担当技術者はお客様の要求を分析し必要な材料を集めます。要求が具体的な場合には早速提案の作成を開始します。あいまいな場合にはいつまでにどのような提案がほしいのかをお客様に確認し、材料を集めなおします。

また、お客様の問題解決のアイデアが浮かんだときや他のお客様で面白いソリューション開発をしたときなどには私たちのほうから積極的に提案するようにしています。時には2年越し、3年越しの提案が実現することもあります。

提案

ヒアリングした材料をもとに、システムの概要を設計し、開発費の見積りを行い、提案書をまとめます。私たちはこの提案書を開発仕様書と呼んでいます。開発仕様書はいわゆる機能仕様にスケジュールや動作環境など開発及びシステムに関連する事項を加えたものです。

開発仕様書の内容は提案期日、システムの性格、お客様の状況などによりかなり異なります。場合によっては、主要な画面を作成してしまうこともありますし、基本的な機能や制限を記述するだけの場合もあります。

重要だと思われることは詳細に、そうでないものは簡単にあるいは省略して説明することになります。システムを成立させる基本的な要件の把握がプロとしての腕のみせどころです。

私たちは開発仕様書に記述したソフトウェアの開発を一式いくらという金額で提示し、原則として工数等の詳細は開示しません。お約束したものはいくら工数がかかろうが責任を持って納期までに提供するという請負契約の基本に立っています。

提案時に全ての仕様を明確にできないという前述の前提に立てばこれは相当のリスクになるはずなのですが、幸いにして今までのところだいたいうまくいっています。

開発

提案がお客様に承認され注文書が出ればいよいよ本格的な開発に入ります。最初に要求を再確認し、提案時に充分確認できなかった仕様の詳細をつめていき、必要に応じ仕様書を修正、追加していきます。

仕様変更等により当然予想工数が変わってきますが、よほどのことが無い限り、他の仕様を簡略にしたり、開発手順を工夫することにより提案時の予算に納めるようにします。

このプロセスが終わると仕様凍結とし、その後の仕様変更は原則として受け付けられないことをお客様に伝えます。

仕様が固まれば本格的な開発を始めます。仕様打合せの段階で基本設計や詳細設計の一部は進めておきます。画面仕様も大枠は決まっているはずです。各モジュールの詳細設計とコーディングに入ります。

一人で作業を進めるので詳細設計とコーディングは実際には混然となって進められます。各関数、モジュールについて適宜、単体テストを行いながら開発していきます。

動かしてみないと詳細な仕様が決定できないようなアプリケーションでは、プロトタイプを作成してお客様に確認してもらうケースもあります。プロジェクトの 規模が大きくないのでプロトタイプは最終的な実装につながるように工夫をします。プロトタイプを作らなくても開発途中で画面を確認してもらうことはよく行います。

パンを運ぶアリ2

各モジュールが完成すると総合テストを行います。実際には開発と並行して適宜テストを行っていますのでこの段階でのプログラムはほとんど完成状態の品質となっています。

ここではあらかじめ定めたテスト計画に従い、システム全体としての動作を確認します。必要に応じ他のメンバーの協力を得てマルチユーザアクセスなどのテストを行います。

納品

社内テストが終了するとお客様のシステムにソフトウェアを設置、関連ドキュメントを納品します。そのまま本稼動に入るケースから何ヶ月もテストするまでシステムにより実機上でのテスト期間はさまざまです。

設置作業はアプリケーションのみでOS等のシステム環境はお客様サイドで準備していただくというのが基本的な前提ですが、状況により、基本ソフトや ミドルウェア、ネットワーク設定も含めて当社で担当してしまうこともあります。お客様に動作を確認していただいた時点で検収書にサインをいただきます。

ドキュメントは、通常、ユーザー向けの操作説明書のほか設計仕様書を作成し納入します。設計仕様書はモジュール構成や各モジュールの仕様、データベース構成などを記述したものを納入します。

他の人がプログラムの保守ができるレベルで必要にして充分なものを提供できるように心がけています。ソースコードについては、基本的なコーディング規約を定めています。

保守

検収が終わるとシステムは晴れて本稼動ということになり、保守のフェイズに入ります。保守は原則としてそのシステムを開発した技術者が担当します。保守ではアプリケーションに起因するバグへの対応が建前ですが、原因があいまいな場合の切り分けなどにも対応するほか運用や利用方法についてもお客様の相談に応じます。

アプリケーションのバグについてはほとんどの場合、その日または翌日に直して修正版をお届けします。このへんは開発者が保守をしている強みです。

検収後、1年を経過すると1年ベースでの保守契約をお客様にお願いしています。ほとんどのケースで保守契約を結んでいただいています。これも担当技術者の担当になります。

また、運用開始後、システムの効果が確認されれば、さらなる仕様追加や変更の要求により、2次、3次の開発プロジェクトに発展することもよくあります。

レビュー

提案時には、見積が過小/過大ではないか、技術的に妥当なシステムか、代替案はないか、リスクに対応しているかなどの観点からレビューを行います。 経験の少ない技術者には先輩技術者が設計、開発などの各フェイズで適宜、レビューと指導を行います。参加する技術者の増大に応じ、今後、レビューをより組織的に運用していくことが大切だと考えています。

以上が受託開発業務の概要です。

イメージがつかめたでしょうか?ご質問がある場合は気軽にこちらまでお問合せください。

製品ビジネスもやっています

ところで、当社はソフトウェア製品の開発、販売も行っています。

PDFlibは、ドイツPDFlib社が開発したPDF文書をプログラムから生成するライブラリーソフトウェアです。同種のソフトの中でも定番とされる世界的なソフトウェアです。当社は日本の正規代理店としてPDFlibを独占的に販売・サポートしています。

日本を代表する大手メーカー、SIerからユーザ企業、中堅のソフトウェアハウス、個人のコンサルタントに至るまで七百社を超えるディベロッパーにご愛顧をいただいています。詳細は当社サイトPDFlibのページを参照してください。

PDFlibイラスト

販売契約をPDFlib社と直接結んでいるので、仕入など販売業務や技術サポートに関連して直接ドイツと(幸いにしてドイツ語ではなく英語ですが)やり取りすることもよくあります。

製品ビジネスは、受託開発における技術的な成果や蓄積を製品という形で収益化し、ビジネスをより安定で きること。製品の評価・企画やサポート業務により技術者により幅の広い活動の機会とキャリアパスを提供できることがメリットと考えており、今後も推進していきます。

きちんと受託開発をできるようになることがまず基本ですが、場合により製品ビジネスを含めより広い観点でのソフトウェア関連ビジネスに取り組んでもらう可能性もあります。このような分野に挑戦したい方も歓迎します。

【インフォテックの人材募集】次世代のインフォテックで活躍する仲間を探しています