お役立ち情報
経営者は必見!ソフトウェアの開発を成功に導くポイント
ソフトウェア開発、初心者の方 失敗を重ねる事がノウハウになります
まずは汎用ソフト・無料ソフトを使いながら、便利な機能と足りない機能を書き加えながら、1つのソフトウェアを開発します。
開発時は最低限の機能に絞り、小さいソフトウェアを作るようにします。完成のないソフトウェアを目指すことになります。運用していきますと、必要な機能がでてきますが、すぐに修正依頼を出さず、必要だと思った機能をノートに書き足して半年位まとめます。そして半年後に修正依頼をだします。その時に本当に必要な機能だけをカスタマイズします。当時は必要だと思っても、半年後には必要ないと思う機能はたくさんあります。
自社のソフトウェア開発は失敗の繰り返しです。バグの発生と修正、完成しないソフトウェア、作ったは良いが必要なくなったソフトウェアや機能など無駄も出てしまいますが、それは開発のノウハウとなります。
汎用ソフトを使い続ける事はおすすめしません。最終的には自社製のソフトウェアにすることで、色々カスタマイズも可能となります。業務の中核を担いますので自社開発しても決して高くありません。人件費数人分に匹敵する削減効果は期待できます。
ソフトウェア開発会社選びのポイントはとにかく探すことです。制作は安いが修正が高いなど、開発会社の方針が見えてきます。長く付き合える開発会社を選びましょう。開発期間3ヶ月位の開発費用は200万円~300万円位。これなら無駄になっても良い妥当な金額です。高額なシステム開発は失敗すると中小企業の経営を揺るがす事もございます。300万円位のソフトでも見積もりが1000万円、2000万円と出る事がありますが、良い開発会社を探し続ける事が経営者の仕事となります。
プロセスに関する基礎知識
ソフトウェアを適切に開発するには、他の分野とは異なる独特なマネジメントが必要です。しかし、エンジニア出身でない人には、開発現場の常識や特性を理解しづらい場合があります。経営者がソフトウェア開発をリードするには、そのような知識を身につけることから始めなければなりません。ホームページ制作などにも当てはまる内容が多いため、早い段階で学んでおくのが望ましいです。ここでは、そのなかでも基本といえる大切な2点を以下に紹介します。
一般的な工業製品との相違点
ソフトウェアと一般的な工業製品は、製造の工程に大きな違いがあります。いずれも開発と生産に大きく分けられますが、そのウエイトに顕著な差があるのです。工業製品は、設計よりも生産に力を入れることが珍しくありません。なぜなら、効率的な工場のラインを整備し、低コストでそれを回していくことが利益に直結するからです。一方、ソフトウェアに関しては開発に大きな比重が置かれます。インストール用のメディアなどの生産は行われますが、工場のラインを工夫する余地は多くありません。むしろ、オンラインで提供が可能なダウンロード型にすることで、生産の工程自体をカットするケースが増えています。
このような事情があるため、ソフトウェアの製造では開発に注力することが基本です。開発の流れは、主に3つのステップで構成されており、工業製品と共通している点もあります。最初に行うのは、必要な機能や性能をリストアップして要件定義をまとめることです。そして、次のステップとして仕様書を作成していきます。この段階で、デザインやインタフェースなども具体的に決定しなければなりません。それを受けて、プログラミングによって実際の形にするのが最後のステップです。
プログラミング前の注意点
上記の3つのステップのうち、最後だけを重視してソフトウェア開発をプログラミングと同義に捉える経営者も少なくありません。たしかに、ソースコードの構築に最もリソースを使うことになります。しかし、その所要時間や完成度は最後以外のステップにも大きく左右されるのです。合理的で矛盾のないアルゴリズムを用意するために、処理の流れを示したフローチャートを作成するなど、綿密な下準備を済ませることが望まれます。そのため、開発者がそれらに時間を割いている場合、プログラミングに着手していないからといって、怠慢という判断を下すのは早計です。
また、事前に期間や費用を正確に見積もるのは難しいことも理解しておきましょう。詳しい仕様書があっても、各項目をソースコードに落とし込む手段は、いくつもあります。新規にプログラミングをするだけでなく、ライブラリや過去のモジュールを組み合わせるなど、途中で試行錯誤を繰り返すこともあるでしょう。テストの段階で想定外のエラーが発生し、デバッグにかなりの時間を要する可能性もあるため、スケジュールに十分な余裕を持たせることが欠かせません。
開発速度アップに必要な人材戦略
ソフトウェア開発でスピードが重要となることは、一般的な工業製品の製造と同じです。ただし、そのスピードの上げ方について、ソフトウェアは独特な方針が必要になります。以下に説明するのは、特に重要なポイントとなるため、この機会に把握しておきましょう。
むやみな人海戦術は厳禁
一般的な工業製品の場合、人数を多く割り当てることで製造のスピードを上げるのが一般的です。いわゆる人海戦術であり、主力商品の発売前に増員するケースがよく見受けられます。一方、ソフトウェア開発では、人数とスピードは必ずしも比例しません。プログラミングは、チームで取り組み、モジュールごとに担当を分けることが多い傾向です。大規模なソフトウェアの場合、各モジュールを複数人で手がけるケースもあります。そのため、ある程度の人数は必要ですが、多くしすぎるとリスクも大きくなりやすいでしょう。
ソフトウェアの仕様書作成からコーディングに至るまで、すべての作業で担当者のアイデアが多く盛り込まれます。人数が増えるほど、設計思想の整合性を保ちづらくなり、共有や引き継ぎに手間を要してしまうのです。大手のソフトウェア開発会社が人海戦術で臨んだ結果、取りきれないほど大量のバグが混入し、リリース後に修正のアップデートを繰り返す事態も起きています。そのため、経営者としては、安易な増員を避けるように注意しなければなりません。
能力を考慮した割り当て
ソフトウェア開発では、1人あたりの効率を高めることがポイントになります。その前提となるのは、モジュールごとに適したプログラマーを割り当てることです。一口にモジュールといっても、基本的なソートを行う簡易なものもあれば、全体をコントロールする複雑なものなど、さまざまな難易度のものがあります。そのため、能力が低いプログラマーに後者を任せると、開発のペースが著しくダウンしかねません。他のモジュールを活かしきれず、連携の面でバグが多く発生するリスクもあります。
一方、優れたプログラマーに主軸のモジュールを担当させると、それに引っ張られる形で開発のペースが上がりやすい傾向です。全体を把握できるポジションとして、他の部分の修正や調整の指示役も任せると、クオリティの大幅な向上を期待できます。ただし、一部のプログラマーを頼りにする体制では、その人材が欠勤や退社をした場合、開発が滞ることになりかねません。このような事態を回避するには、進捗状況を記した日報を作成させるなど、属人化を防ぐことも必須です。
社内向けの開発で重要になる視点
企業が開発するソフトウェアには、社外向けと社内向けのものがあります。これらを同じクオリティで仕上げる必要はありません。以下のように、社内向けのものに関しては分散や妥協により負担を軽減することも重要です。
各部門における教育
社内向けのソフトウェアは、プログラマーがいる開発部門だけでなく、さまざまな部門で作られるようになりました。その動きを促進している要因として、開発環境の低価格化と簡易なプログラミング言語の普及が挙げられます。以前とは異なり、Visual Studioをはじめとして、無料版が提供されている開発環境は珍しくありません。アプリケーションの一部として使えるVBAなど、手軽に扱えるプログラミング言語も広まっています。そのため、各部門で使用するソフトウェアは、必ずしも開発部門に担当させる必要はありません。
基礎的なプログラミングの教育を施し、できるだけ自給自足が可能な体制を構築すると、開発部門を社外向けに専念させやすくなります。すでに、必要な仕様を把握している分だけ、簡易なソフトウェアなら各部門で作ったほうが早い場合もあるでしょう。このようなメリットを踏まえ、企業全体で研修を実施するような施策も検討してみる価値があります。
柔軟な開発スタンス
すべてのソフトウェアにおいて、不具合が皆無となることが理想的です。しかし、社内向けの場合、バグがあっても大きな痛手にならないケースも見受けられます。例えば、データ処理のソフトウェアで、ごく一部の条件でのみ実行できない場合、実用面で不便を感じることは少ないでしょう。ただし、商品として販売する場合は、そのようなバグも残すわけにはいきません。なぜなら、ささいな不具合でもクレームにつながり、次の購入を控える動機になりえるからです。バグの情報は、インターネットで広まりやすく企業のイメージダウンも懸念されるため、あらゆる使い方を想定したテストが求められます。
一方、社内で使用するだけなら、もし不具合が発覚してもそのような心配は不要です。デバッグに時間をかけるより、該当する処理だけ代替手段で済ませるほうが効率的かもしれません。また、デバッグするにしても実用とテストを兼ねるなど、社内運用だからこそ許される方法も可能です。このような事情があるため、社内向けのソフトウェアに関しては、経営者は柔軟な開発を推奨することも必要になります。
ユーザーの満足度を高める方法
経営者が機能の多さを追求するあまり、ユーザービリティを下げてしまうケースもあります。複雑なソフトウェアは、専門知識があるユーザー以外には敬遠されやすい傾向です。ホームページ制作においても同様ですが、利用者を増やしたいなら、直感的に扱えるように配慮しなければなりません。ここでは、具体的な工夫の仕方を挙げていきます。
ユーザーフレンドリーな仕様
レイアウト全体の雰囲気を統一することが工夫の基本です。これは、画面が遷移する場合も同様で、メニューを上部に表示し続けるなど、使用感が維持されるように設計しなければなりません。操作の仕方にもシンプルなルールを設け、それを把握するだけで自由に使えることが大切です。ルールに当てはまらない操作も、少しヘルプを見ると理解できる程度の手順に留める必要があります。また、できるだけユーザーのアクションを減らすこともポイントです。ヘルプを開くことも手間になるため、カーソルを合わせると注釈が出るツールチップも用意しましょう。
ユーザーが迷わないように、汎用的な仕組みを採用することも重要になります。入力するファイルの形式ごとに処理が違うなら、自動で適切なものを選んで実行するといった具合です。プログラムで判断が難しい場合のみ、ユーザーに選択肢を提示する方式だと、操作の手順を大きく減らせます。
ミスの予防とフォロー
ユーザーがミスをする前提で設計することも重要です。ミスの原因がユーザーの理解不足でも、ソフトウェアに対する満足度の低下を招きます。そのため、失敗の予防策を盛り込んでおくことも欠かせません。例えば、ボタンやリンクを密集しすぎると、間違って押す人が増えてしまいます。機能ごとに集約させると利便性は高まりますが、そのようなリスクも踏まえてバランスを調整しなければなりません。タイピングが必要なら、郵便番号などの入力アシスタントを設けて、誤記入を防ぐ方法もあります。
予防だけでなく、ミスの発生時に影響を軽減する仕組みも大切です。代表的なものとして、バックグラウンドで実施するバックアップが挙げられます。操作の手順を進めるたびに状態を記録しておき、失敗しても戻せるように準備しておくのです。このように、人間の温かさが感じられる仕様だと、初心者の囲い込みでシェアを広げやすくなります。経営者が開発をリードする場合も、現場の従業員にばかり目を向けず、ユーザーをいつも意識するように心がけましょう。
ご利用前にアカウントの登録が必要です。こちらのアカウントで全てのサービスをご利用頂けます。このサービスは企業様専用のサービスとさせて頂いております。個人、個人事業主の方はご利用頂けません。
ご利用前、ご利用中のお客様でご質問がある場合はお気軽にお申し付け下さい。
テレワーク(在宅ワーク)対応、システムを駆使してコストの削減・事業の効率化・売上の向上をご提案致します。<低リスク・低価格>なサービスとなっています。
アカウント数の制限や課金体制により、便利で安そうなソフトウェアが割高になることもございます。さまざまなお客様の声に応えようとすると、多機能になりすぎて、ほとんどの会社が利用しない機能、わかりずらい機能などを抑えて、シンプルで最小限のソフトウェアの提供を目指しております。運用実績のあるソフトウェアを販売も行っております。カスタマイズして便利に使えるソフトウェアにもなります。
中小・個人事業主へ特化した長く使える安くて便利なソフトウェアの提供を行っております。
お電話では一次受付となり全て折り返し対応とさせて頂きます。折り返し対応には3営業日以内に折り返し致します。既にアカウントをお持ちの方は会員画面のご要望欄からも受付しております。<業務担当は土日祝お休みとなります>
APソフトウェア お問合せ先 TEL 03-4578-5831