現在、多くの企業がエクセルやスプレッドシートを駆使して工事の進捗管理を行っています。
Googleスプレッドシートなら、複数の人がで同時にデータ編集できるため、重宝している工事会社も多くおられるでしょう。
とはいえ、セル個別に、入力値のルール縛りや、アクセス者単位での表示・非表示のコントロールといった、データの整合性の管理をはじめ、現場作業員からの報告業務との連携、現場写真の共有、月次の請求計算等までを、すべてGoogleスプレッドシートをつかった運用には限界があります。
そのため、効率化を図るためWEBシステムへの移行を検討している会社も多いと思います。
工事管理向けのWEBサービスはたくさん存在し、どのサービスを使うかを迷っている担当者も多いのではないでしょうか。
しかし、工事管理のシステム化は、工事の管理したい項目が、扱う工事の内容によって異なるのはもちろん、特に工事部材を用いる管理の場合、単に進捗管理にとどまらず、施工明細の入力といった、独自の入力項目を用いるケースが多く、一般の工事管理系のWEBサービスでは、どうしても自社工事の管理にマッチしないことも多いでしょう。
できることなら、自社専用の工事管理システムを作りたい。
だけど、システム開発に対する専門的な知識を持った社員がおらず、多くの工事管理担当者は、外注先をどこにするかで悩んでいます。
システムに詳しくない工事監理者にとって、どのような会社に、どういった手順でシステム開発を依頼すれば、期待通りの自社専用システムを作れるのかは大きな課題といえます。
一般的には、外注先を探す場合、大企業などの大手ベンダーに発注を考えがちです。しかし大体は開発予算が高額となり、中小企業が発注するだけの余力がなく、外注化を断念する事業者も多いでしょう。
本記事では、大企業ではなく、個人の開発者にシステム開発を依頼する方法について解説します。
大手と違い、個人開発者なら、フットワークよく、柔軟に対応してもらえ、独自のニーズに合わせたカスタマイズが可能です。
担当者が細分化されている大組織と違って、個人開発者への発注なら、1対1の密なコミュニケーションを通じ、工事管理の本質を深く理解してもらいながら、最適なシステムを構築が期待できるからです。
工事管理をエクセルからWEBシステムへの移行を検討している企業が、どのようにして適切な開発者を選定して、システム開発の外注化をスムーズに行う具体的な方法を説明します。
「システム開発」と聞くと、多くの人が大規模なチームが複雑なプロセスを経て行うイメージを持つかもしれません。
実は大規模なシステムであっても、たった一人で全部作ることが可能です。
では、一体なぜ、世の中の開発会社は、チームによる開発が主流なのでしょうか。
理由は、エンジニアの多くが開発工程の一部のスキルしか持ち合わせていない専門化が進んでいるからです。
一人が対応できる技術範囲が細分化されていて、それぞれの得意分野をもったメンバーを招聘し、チームを組むことで、作業分担を実現し、開発する方法しか持ち合わせていないのです。
一方、お客様との打ち合わせから、フロントエンド、バックエンド、インフラまで、アプリ開発の全てを1人で担当できるフルスタックエンジニアが世の中には存在します。
すべての工程を一人で対応できる開発者に仕事を依頼できれば、打ち合わせからシステムへの反映まで、小回りが効き、細かなニーズに応じた瞬発力のあるカスタマイズが可能になります。
多くの法人担当者は、大手企業に開発を依頼すれば「安心」「安全」で、期待通りのシステムを作れるはずと思いこむ安全神話があります。
たしかに、大手ベンダーのシステム開発は、その規模面から、豊富はスタッフを抱えているため、技術面で頓挫する可能性はほとんどありません。
しかし、大きな組織であるが故、多層構造からくる煩雑さがあいまって、結果として高額なコストと長い開発期間を要することが少なくありません。
大企業に依頼したからと言って、必ずしも企業の独自のニーズが満たされるとは限らないのです。
一方、フルスタックエンジニアである個人開発者なら、直接コミュニケーションを取ることができるため、より柔軟かつ迅速に要望に応えることが可能です。
フルスタックエンジニアは、システム開発の全段階を理解し、管理することができます。
一人の頭の中に、開発目的、発注者の狙い、システム全体を掌握しているため、開発過程での誤解や情報の齟齬が少なくすみます。
特に個人で活動するフルスタックエンジニアは、開発だけでなく、ヒアリングからサーバの構築、画面デザイン、運用サポートまで、全体を通じて一貫した責任を持ちます。
チーム開発のように、開発メンバー同士のコミュニケーションが発生しないため、開発期間は短縮され、コスト削減も期待されます。
フルスタックエンジニアは、多くの技術的な能力を持つ人材を指しますが、この言葉には幅広い意味が含まれており、デメリットが存在します。
誰もが自らをフルスタックエンジニアと自称できるため、第三者が、その人の本当の技術レベルを把握するのが難しい場合があります。一口にフルスタックエンジニアと言っても、個々の得意分野や不得意分野が存在するからです。
フルスタックエンジニアは広範囲の技術に精通しているものの、それぞれの知識は広いだけで、浅く使い物にならないケースも決して少なくありません。
工事進捗管理システムの場合、システム知見だけでなく、工事業ならではの商流構造、協力会社、現場作業員との連携、工事機材明細の管理など、特定の技術領域において、一定の深い専門知識や高度な技術を要求されるシステム開発の場合、フルスタックエンジニアでは、深い専門力が不足し、最適なシステムを提供できない場合があります。
また、開発工程全体を理解し管理する能力はあるものの、顧客とのコミュニケーションやニーズの正確な把握に欠けるエンジニアもいます。
なかでも、一般的な傾向として、バックエンド技術に長けたエンジニアは、フロントエンド、特にデザイン面で苦手意識を持つことが多く見受けられます。
動作は期待通りでも、ユーザーインターフェースがパッとしなかったり、操作性が犠牲になったりする可能性も考えられます。
したがって、すべての技術領域において問題なく対応でき、コミュニケーション能力とデザインセンスも高いフルスタックエンジニアを見つけるのは困難といえます。
システム開発を外注する際、技術力はもちろん重要ですが、それだけではなく、人間力とコミュニケーション能力を備えた開発者を選ぶことが極めて重要です。
技術スキルと同様に、プロジェクト成功のために不可欠な要素であり、エンジニアがプロジェクト全体を効果的に推進し、顧客の満足を得るためには欠かせないスキルといえます。
開発者が持つ問題解決能力や問い合わせに対する返信の早さも、プロジェクトの進行において重要な評価基準です。
開発者との面談を通じて、その人物がどれだけ貴社の業務内容を深く理解しようとしているかを見極めるようにしましょう。
コミュニケーションが問題ないと判断できたら、その方が過去作成したシステムのユーザーインターフェース(UI)を見せてもらってください。
過去に行ったシステムを見れば、UI/UXが自分たちの感覚に合うかどうかが直感的にすぐにわかるからです。
直感的に使いやすいと感じるUIであるかどうかはとても重要です。社員のみなさんが毎日触れる画面のデザインの居心地の良さは、システム開発の成功の可否を決めるといっても良いほど、大事なポイントといえます。
フリーランスの開発者に仕事を依頼する場合は、途中で連絡が取れなくなるリスクも考慮する必要があります。
残念ながら、フリーランスの中にはプロジェクトの途中で突然音信不通になるケースが報告されています。信頼できる実績と評判を持つ開発者を選ぶことが重要です。
理想としては、個人開発が可能なスタッフがいる、もしくは一人社長の法人など、小規模でありながら高い責任感を持つ組織から探すのがベストです。
このような開発者や組織であれば、プロジェクトに対するコミットメントが高く、一貫性のあるコミュニケーションを期待できるため、成功に導く確率が高まります。
個人開発は、その柔軟性と効率性で多大なメリットを企業にもたらしますが、一方でメンテナンスや長期的なサポートが心配と思われる方も多いでしょう。
個人開発してくれた人が、突然何かしらの都合で連絡がつかなくなると、システムの保守ができなくなるリスクは確かにあります。
これらのリスク回避は、契約によってカバーしましょう。
開発の進め方として、私たちが推奨する方法は、まずはウォーターフォール開発で契約を結び、当初の目的が達成する最小限のシステムとして納品してもらいます。
業務稼働後のメンテナンスやアップデートに関しては、改めてアジャイル開発型の契約を別途結ぶのです。
このように2段階の契約によって、初回納品の状態で業務を動かしつつ、運用上で修正や機能追加してほしい等の要求への対応は、改めて保守契約を準委任にて結ぶことで、柔軟かつ継続的なサポートが保証され、万が一の事態にも迅速に対応することが可能となります。
システム開発では、スタートが非常に重要です。
成功への第一歩は、ウォーターフォール型の開発で着手し、要件定義をしっかりと行うことから始まります。
実現したい目的と実装したい機能等、全体像と具体的な要求事項を、明確に定義され、どこまで作ったら初回リリースとして完成なのかを決めます。
要件定義の精度は、最終的なシステムの品質に直接的な影響を与えるため妥協は許されません。
初期段階で「とりあえず作ってみる」というアプローチは、多くの場合、見直しや修正が必要となり、結果的にコストと時間の無駄につながります。
計画に基づいた慎重なスタートが、後の段階での追加コストや時間のロスを防ぐのです。
開発者は、貴社が取り扱う工事内容を正しく理解してもらえるかが、開発を失敗させない重要な要素となります。
開発者自ら、工事進捗管理に必要な項目と、効率化させたい具体的な内容、システムを利用するユーザごとの動作範囲の変更等、取り扱う工事の内容を深く把握することは、効率的かつ機能的に優れたシステムを構築するための基盤となるからです。
そのため、初期段階では、詳細なヒアリングの継続と定期的なフィードバックの機会を設けることが不可欠です。
このように、ウォーターフォール型での厳密な要件定義に伴い、まずは確実な状態で初回リリースを迎え、業務利用を開始します。
その後の機能追加については、保守の範囲で、アジャイル開発との組み合わせが、長期的な視点において、期待どおりのシステムを手にすることができるようになります。
外注先を選定する際には、大手に頼るのではなく、優れたフルスタックエンジニア一人に依頼することで、より効率的でコストパフォーマンスに優れたシステム開発が可能です。
個人開発者の選定には注意が必要ですが、正しく選べば、開発のスピード、コスト、品質のすべてで優れた結果を得ることができます。
このような発想とアプローチこそが、企業の外注戦略を革新するきっかけとなり得ます。
個人開発者との成功した協力関係が、事業の効率化とイノベーションを促進し、市場での競争力をさらに強化するでしょう。
ハネソルでは、WEBシステム画面イメージと実際の操作を体験できるサンプルサイトを一般公開しています。
工事詳細の編集画面の中に添付ファイルを付けたり、議事メモのような下の階層にメモを追加したりもできます。
下記バナーはサンプルシステムのリンクです。事前ログインせずにシステムの操作体験ができます。一度お試しください。
いま、工事管理で使用中のエクセルファイル等をご提示頂ければ、スムーズなシステム化へのアドバイスが可能です。ご興味のある方はお問い合わせからご連絡をお待ちしております。
最後までお読みください、ありがとうございました。