プログラマーへ作業依頼する際の共有資料

プログラマーへの共有資料

プログラマーと一言で言っても、自社の社員、社外の人で違いがあります。最近は、フリーランスのプログラマーも多くいます。すると、プログラマーに対してソフトウェア開発を指示または依頼する方法が変わってきます。今回は、多様なクライアントや、プログラミングの上位工程担当者が、プログラマーに対して作業依頼をする際に必要となる資料についてご紹介します。

「プログラマー」の定義

プログラマー

ここでは一般的なプログラマーを例にあげます。もしかすると、この記事を読まれている方の会社の「プログラマー」とは意味が少し違うかもしれません。それは企業文化によって異なる場合があるからです。
古くから使用されているソフトウェア開発標準のウォーターフォールモデルの場合、プログラマーは、
・詳細設計
・コーディング
・単体テスト
を担当します。
会社によっては、プログラマーが機能設計、機能テストまで行うところもあるでしょう。ここでは、上記三つの工程を行うものをプログラマーとします。

プログラマーの作業依頼の違い

社内プログラマーは、社員ですから、意思疎通もとりやすく、わかりやすいかと思います。
問題となるは、社外のプログラマー。
社外のプログラマーは、主に、派遣社員としてきていただく方、請負で作業を請け負っていただく方、フリーランスの方に分類されるかと思います。
このような社外のプログラマーへ作業を依頼する際に必要となる資料について見ていきましょう。

プログラマーに作業を依頼するために必要な資料

プログラマーへの共有資料
社外プログラマーに作業を依頼する際には、必ず必要となる資料があります。直接コーディングには関係なくとも共有しておいた方がよいものもあるのでご紹介いたします。

社外プログラマーへの共有資料

  • プロジェクトマネジメントの資料

どのように小さなソフトウェア開発でもそれは一つのプロジェクトです。
大規模なプロジェクトの場合、プロジェクトマネジメント知識体系ガイド(PMBOKガイド)に従うことが多いですが、会社によってはマネジメントの手法が異なります。
しかしながら、いずれの場合も、プロジェクトマネジメントで必要な成果物、例えば「WBS(Work Breakdown Structure)」は通常作成します。
社内プログラマー、派遣社員の方、請負の方であっても、クライアントとの権利関係上問題がなければ全てのプロジェクトマネジメント資料は共有しましょう。

  • 基本設計仕様書、機能設計仕様書

規模の小さな開発や既存製品の改造の場合、基本設計仕様書は、作成しないかもしれません。本来はすべての場合に作成するべきですが。

しかし、機能設計仕様書は、必須です。
プログラマーは、機能設計仕様書に書かれていることを、ソフトウェア開発環境やツールを使用して、アプリケーションやライブラリを作成します。機能設計仕様書にバグがあることは普通ですので、プログラマーに依頼するときには、事前に十分レビューし、バグを可能な限り取りましょう。80%以上のバグは事前に取り除くべきです。

機能設計仕様書には、開発するソフトウェアにより付帯資料があるかもしれません。
例えば、機能設計仕様書をMicrosoft Wordで作成し、画面設計書やデータベーススキーマ仕様書をMicrosoft Excelで作成することはよくあります。それらの付帯資料も、プログラマーに提供するべきです。

機能設計仕様書には、スケジュールや開発体制が通常記載されています。
スケジュール等については、プログラマーと十分レビューしましょう。

基本設計仕様書、機能設計仕様書のそれぞれには対応するテスト仕様書も作成しましょう。
プログラマーがそれらのテストを実施する場合には、テスト仕様書も提供しておきましょう。

ソフトウェア開発をよく知らない担当者が依頼をする場合

プログラマー以外

機能設計仕様書が無いまま、プログラマーに開発を依頼することは小規模の開発案件ではよくあります。
特に、スマートフォンなどのアプリ開発の場合、クライアントがソフトウェア企業でも企業の情報システム部門でもなく、その自動車セールス会社の社長であったり、本当に一般のゲーム好きの方であったりします。

一般的にフリーランスのプログラマーは、このようの仕事を受けることが多いようです。
そのようなクライアントからのソフトウェア開発依頼の場合、機能設計仕様書は通常ありません。
しかし、通常機能設計仕様書に記載する以下の項目については、クライアントは最低限プログラマーに伝えなければなりません。

通常機能設計仕様書に記載する項目

  • モバイルの場合

iOSかAndroidか、または両方かを指定します。
iOS、Android以外のOSで作る場合もレアケースですがありますので必ず明示します。
このとき、可能であれば、OSのバージョンまで指定します。適切なバージョン範囲がよくわからない場合には、プログラマーの方に教えてもらいましょう。
開発言語に希望がある場合には指定します。

アプリを一般にリリースする作業をプログラマーに行ってもらう場合には、十分調整してください。
特にiOSの場合には、リリースするためには開発者ライセンスを購入する必要があります。

  • モバイル以外の場合

Windowsアプリケーションか、Linux系サーバサイドアプリケーションになると思います。モバイルの場合と同様に、OSからバージョンまで指定しましょう。
開発言語についても、モバイルと同様に、希望があれば指定します。WindowsサーバやLinuxの場合は、サーバサイドの運用はプログラマーの仕事ではありません。
そのような場合には、プログラマーにではなく、「システム開発」の企業やフリーランサーに依頼します。

  • モバイル、非モバイルに限らずプログラマーに伝えるべき事項

機能設計仕様書がありませんので、可能な限りどのようなソフトウェアを作成したいのか、自分の知識の範囲で作成します。
画面を持つまたはWebなどで表示するソフトウェアの場合、画面のレイアウトを作成します。手書きでも構いません。
重要な事項があれば、レイアウトの資料に記載しておきます。
プログラマーに作成してもらう成果物を指定してください。
モバイルアプリケーション、機能設計仕様書、詳細設計仕様書、単体テスト報告書、機能テスト報告書、マニュアルなどが考えられます。
ソフトウェアの内容や、プログラマーのポリシーにより作成しない資料があることを事前に確認したほうがよいです。
コミュニケーションを取る方法もプログラマーに伝えましょう。対面がベストですが、Skypeなどのテレコミュニケーションも有効です。
成果物の受け渡し方法も指定しましょう。プログラムのソースコードの受け渡しには、最近GitHubがよく使用されます。小さければEメールでも良いでしょう。

プログラマーへの作業依頼で最も大切なことはコミュニケーション

プログラマーとのコミュニケーション

プログラマーが開発に入った後、クライアントが意図しないものになっていると、後戻り工数が発生し費用となります。プログラマーが開発に入る前に、十分に意思疎通をはかり、成果物の精度をあげましょう。

まとめ

今回は、プログラマーへの作業の依頼方法、特に社外のプログラマーへの依頼の方法についてご紹介いたしました。

特にお伝えしたいのは、こちらの3点です。
1.プログラマーへ作業依頼の際の共有資料
2.最低限機能設計仕様書に記載する項目
3.コミュニケーションの方法

プログラマーへの作業依頼の際の、参考にしてみて下さい。

プログラマーへの仕事依頼の具体例はこちらからご確認いただけます。

invalid URL
日本最大級のITビジネスコミュニティ アサインナビ