カスタムソフトウェア開発会社のサービス

我々は会社代理店、ITサービスプロバイダー、IT部門向けのリモートデジタルチームを構築します。

ここでは、課題、考えられる解決策、アウトソーシングの利点、およびカスタムソフトウェアの開発に関する追加情報について説明します。

はじめに:課題

ITソリューションを構築する場合、多くの課題があります。 サードパーティベンダーが関与する場合、それはさらに複雑になります。

それらの課題のいくつかは次のとおりです。

  1. 透明性の問題:サードパーティベンダーがソフトウェアの開発方法に関する洞察を提供していること、および内部プロセスの詳細な調査を妨げるプロジェクトマネージャーや営業担当者のような「煙幕」がないことを確認します。
  2. プロジェクトに携わっているのは誰か:作業を外部委託しているパートナーが、実際にITプロジェクトに取り組んでいるのが誰かわからない場合があります。 「どのようなプログラマーが関わっていますか?」、「全員が経験豊富なITプロフェッショナルですか?」、「販売段階で言及されたサンプルプロジェクトに携わったのは彼らですか?」、「テスター/品質はありますか?」などの質問アナリストやアプリケーションアーキテクトが関与していますか?」、「チームにはジュニアプログラマーしかいませんか?」場合によっては未回答のままです。
  3. 信頼性の問題:ITサービスプロバイダーはどれほど誠実ですか? 彼らは高い誠実さから働いていますか? 何かネガティブなことが起こった場合、それらは完全に開いていますか? それとも、将来発生する可能性のある問題を隠していますか? システムの保守性やスケーラビリティのように、プロジェクトの引き渡し直後ではなく、将来的にのみ見つけることができます。
  4. 請求関連の透明性:彼らは必要以上に多くの時間を請求していますか? 彼らは彼らのコストにあまりにも大きなマージンを置いていますか?

通常、誰がプロジェクトに取り組んでいるか、また請求関連の質問に関する透明性は、ベンダーとその作業を外部委託したパートナーとの間の関係を侵食します。

これらの問題の理由は、アウトソーシング企業側とパートナー側にあります。

ベンダー(ITプロバイダー)の問題:

  1. クライアントの支払い行動を知らない:クライアントはすべての請求書を時間どおりに支払いますか? 彼らは長期間にわたって支払いを引きずりますか? プロジェクトが適切な品質または時間で提供されなかったと言って、彼らは請求書を支払わないのでしょうか? これらすべてにより、サービスプロバイダーは、彼の「A」チームをプロジェクトに参加させることを躊躇し、それらの質問に答える前に、最初に多くの時間を費やすことを回避します。
  2. 必要な専門知識はありませんが、内部コスト構造のためにプロジェクトが必要です:カスタムアプリケーションサービスプロバイダーは、給与やその他のインフラストラクチャ(家賃、コンピューター、インターネット、諸経費など)の費用が原因で、月々の費用が高くなることがあります。 これにより、一部のベンダーはプロジェクトを引き受けることになりますが、可能な限り最高の価格で高品質で行うことはできません。 彼らの費用を賄うために、彼らはとにかくプロジェクトを引き受けます。
  3. 従業員の密猟を避けたい:プログラマーをプロジェクトマネージャーや営業担当者の後ろに隠すことで、ITベンダーは才能の密猟の可能性を確実に回避します。 ベンダーがパートナーの行動を知らない場合、彼らが彼らを雇い始める可能性があるからです。 この「煙幕」はコミュニケーションに問題を引き起こします。なぜなら、すべてのメッセージは、議論にあまり価値をもたらさない異なる人々を経由する必要があるからです。
  4. 請求と労力のバランスが取れていることを確認したい:請求と労力のバランスをとるために、営業担当者がプロセスに深く関与している可能性があります。 しかし、これはプロジェクト自体には役立たず、代わりにベンダーにのみ役立ちます。

パートナー(クライアント)の問題:

  1. 最終結果が私が期待したものであると確信できますか?:5人のチームがプロジェクトに7か月間取り組んでいる場合、すべての請求書が支払われ、アプリケーションが配信されます。スケーラブルで保守可能なソリューションを確実に入手できますか? このパートナーは、数か月の社内テストと、エンドカスタマーからのさらなるフィードバックの後でのみ知ることができます。
  2. 低品質のサービスに高額の支払いをしますか?:冒頭で述べたように、透明性が欠如している場合、パートナーは誰がアプリケーションに取り組んでいるかを確認できません。 これは、出力の品質に影響を与える可能性があります。
  3. 製品を将来的に保守できるようにするにはどうすればよいですか?:コーディング標準、ドキュメント、保守性についてはどうですか? 私たち自身のチームまたは別のベンダーのチームは、コード内で何が起こっているのかを簡単に知り、それを基に構築できますか? これらは、カスタムソフトウェア開発で重要なことです。 プロジェクトのかなりの割合がこの次の段階で失敗するからです。

可能な解決策

アプリケーションを構築するサードパーティベンダーは、そのサービスに対して報酬が支払われることを確認する必要があり、反対側では信頼できるパートナーと協力したいと考えています。

パートナーは、妥当な予算で最高の価値を確実に得たいと考えています。 スケーラブルで高速かつ保守可能なソリューション。
私たちは、世界中のいくつかのクライアントと長年協力してきました。 正直に言うと、テキストの冒頭で述べた理由により、これらのプロジェクトのいくつかは失敗しました。

2014年以降、私たちはモデルをパートナーに専任のIT専門家を提供するように変更しました。これは、物事が非常に前向きになるポイントです。 当時のほとんどのクライアントと一緒に、私たちは今日も働いています。

専任チームのしくみ

ベンダーが最初から最後まですべての要件を引き受ける従来のアウトソーシングコラボレーションを行う代わりに、クライアント側の関与が高まります。

このため、パートナー側では次のことが必要です。

  • a)プロジェクトマネージャー:この人は、アプリケーション開発に関連するプロジェクトをすでに行っているはずです。 したがって、彼/彼女は、ITプロジェクトでどのような課題が発生する可能性があり、それらをどのように解決するかについての知識を持っています。
  • b)コーディングの専門家:コーディングを裏返しに知っているパートナー側の誰か。 これにより、提供されたプログラミングをパートナー企業が確認できるようになります。 この方法で問題をすばやく見つけることができます。

マンパワーを節約するために、プロジェクトマネージャーはコーディングの専門家でもあります。

ベンダー側からは次のものが必要です。

  • a)プログラマーへの直接アクセス:ベンダーは、コミュニケーションがスムーズになり、コミュニケーションのギャップが回避されるように、開発者に直接アクセスできるようにします。 ほとんどの場合、ベンダー側のITエキスパートとパートナー側のコーディングエキスパートが、発生する可能性のあるアーキテクチャの問題に対する適切なソリューションを見つけます。
  • b)チームメンバーの選択における発言:ベンダーは、プロジェクトに取り組むチームメンバーを選択する可能性をパートナーに提供します。 パートナーは独自の作業文化、品質要件、独自のITおよびプロジェクト管理ツールを持っている可能性があるため、これは重要です。 このため、ベンダーはプログラマーの履歴書を提供し、クライアントはそれに応じて選択できます。
  • c)お互いを訪問する可能性:ソフトウェア開発サービスプロバイダーは、クライアントが自分の場所を訪問できるようにするか、必要に応じてチームメンバーがクライアントを訪問できるようにする必要があります。 これにより、オンサイトチームとオフサイトチームの間に強力な絆が生まれます。 直接会うことは、チームのコラボレーションに大きな違いをもたらします。

このようなプロセスがどのように見えるかについての説明ビデオは次のとおりです。

結論

の開発のために外部企業と協力するカスタムソフトウェア良い考えかもしれません。 特に、必要な人員が自分のチーム内で利用できない場合。

それを機能させることは時々挑戦である場合があります。 いくつかの研究と私たち自身の経験によると、ITプロジェクトの大部分は失敗しています。 この理由と考えられる解決策は、このテキストに記載されています。

ソフトウェアのアウトソーシングについてどのような経験がありますか? ご連絡をお待ちしております。

興味深い記事:
カスタム開発のトップ開発者
oxagileによるソフトウェアの設計と開発–アジャイルアプローチを探している場合

写真:Flickr.com/公式GDC /ソニン


著者:Sascha Thattilは、YUHIROグループの一員であるwww.Software-Developer-India.comでCEOおよびプロジェクトマネージャーとして働いています。 YUHIROは、中小規模のIT企業、代理店、IT部門にプログラマーを提供するドイツとインドの企業です。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください