
カスタムアプリケーションの開発に関与したことがある方は、おそらくプロジェクトのコストとタイミングを計算するかなり日常的なプロセスに精通しているでしょう。 また、プロジェクトの計算が一度だけ実行されても大丈夫ですが、潜在的な顧客は予算を満たせず、外出先で製品要件を変更し始めることがよくあります。
「高すぎるので、関数Xなしで実行するとどうなりますか?」
- *計算*そんなに。
-まだ高価ですが、プラットフォームY専用に開発するにはどれくらいの費用がかかりますか?
- *再計算*そんなに。
-うわー、つまり、プラットフォームYを放棄すると、XだけでなくZも作成できるのですか?
- *別の再計算*悲しいかな、いいえ。
-申し訳ありませんが、それではZなしでしましょう。どれくらい費用がかかりますか?
従業員または会社に1日あたりの固定費を設定するなど、計算を簡素化する標準的な方法では、通常、結果の正確性が失われますが、手動による計算からは救われません。
しかし、「ルーチン」、「精度」、および「計算」という言葉で特徴付けられる他のプロセスと同様に、そのような計算はほとんどの場合自動化されます。 これが正しいかどうかを確認しましょう。
決済プロセス
まず第一に、プロジェクトの締め切りと費用がどのように形成されるかを決定する必要があります。
ステップ1:タスクの評価
顧客の要件を検討した後に最初に行う必要があるのは、プロジェクトを互いに独立した機能部分(タスク)に分割することです。 たとえば、標準的なオンラインストアのモバイルアプリケーションを評価する場合、部門は次のようになります。
- 製品カタログ
- カートと注文の支払い
- 店舗ニュース
- 連絡先
その後、開発チームは、これらすべてのタスクの実装に関わる時間労働を決定します。
挑戦する
| UI / UX
| バックエンド
| Android
| iOS
|
---|---|---|---|---|
製品カタログ
| 4日間
| 2日間
| 3日間
| 4日間
|
カートと注文の支払い
| 3日間
| 5日間
| 4日間
| 5日間
|
店舗ニュース
| 2日間
| 2日間
| 1日
| 2日間
|
連絡先
| 1日
| 2日間
| 2日間
| 3日間
|
ステップ2:プロジェクト開発タイムラインの計算
開発者がどれほど懸命に試みたとしても、用語の見積もりは非常にまれです。 そのため、まずプロジェクトの複雑さとチームの経験から始めて、保険を決定します。これは、さまざまな予期せぬ状況を解決するために必要な追加時間です。 通常、保険は特定の要因(割合)のように見え、全体の開発期間が長くなります。
次に、作業の段階のシーケンス(ワークフロー)を決定する必要があります。 使用する方法(アジャイルまたはウォーターフォール)に関係なく、チームがさまざまなタイプの作業を実行する順序を知る必要があります。 検討中のモバイルアプリケーションの例では、順序は次のようになります。

つまり、最初に、バックエンドとユーザーインターフェイスの開発が互いに独立して実行され、それらが完了すると、異なるプラットフォームの並列アプリケーションプログラミングが開始されます。 すべての段階が完了すると、プロジェクトは完了したと見なされます。
これで必要な情報がすべて揃い、期限の計算を開始できます。
ウォーターフォールの場合:各タイプの作業(UI / UX、バックエンドなど)の時間を要約し、それらに保険を追加し、優先順位を指定すると、実際に合計数を表す最長の作業シーケンスを見つけますプロジェクトの実装に必要な時間。
アジャイルの場合:作業順序が与えられると、各タスク(製品カタログ、ニュースなど)を実装する時間を決定し、その後、それらを合計して保険を追加することにより、プロジェクトの期限を取得します。
ステップ3:プロジェクト開発のコストを計算する
次に取得する必要があるのはプロジェクトのコストです。これは通常、2種類のコストで構成されています。合計月額費用(オフィスレンタル、サーバー料金、ソフトウェアライセンスなど)と直接プロジェクト実行者の給与です。 管理給与に関しては、彼らはより「受動的な」経費項目であるため、最初のカテゴリーにより適しています。また、オプションの場合もあります(たとえば、フリーランサーの小さなチームについて話している場合)。
「一般月額費用」は非常に簡単に計算されます。金額を月の平均日数で割り、プロジェクトの実施に必要な暦日数で掛けます。
出演者の給与の費用の計算は、使用される開発方法によって異なります。
ウォーターフォールの場合:各従業員について、月給を月の平均就業日数で除算し、結果に彼が責任を負う作業段階を実施するのに必要な就業日数を掛けます。 最後に、すべての支払いをまとめます。
アジャイルの場合:各従業員の給与を月の平均就業日数で除算し、プロジェクト全体の実施に必要な就業日数で乗算します。最後に結果を要約します。
これで、プロジェクトのコスト(請負業者への支払い+総コスト)がわかったので、さらにいくつかを追加することで最終コストを取得できます。
1.利益:ここではすべてが非常に単純です。プロジェクトのコストの望ましい割合を追加するか、「総コスト」に適切なアイテムを追加します(固定月収を受け取りたい場合)。
2.税金:さまざまな税制
3.セールスマネージャーのコミッション:取引の割合に応じて、取引の割合を支払う場合、これは総費用、利益および税金の割合であり、利益の割合を支払う場合、明らかに、利益の割合として考慮します最初の段落で取得。
これで、プロジェクトの最終コストが得られました。 しかし、クライアントが結果を聞いた後、「Xを使用せずに行うとどうなりますか?」
オートメーションコンピューティング
そのような計算を自動的に実行するアプリケーションを開発することは可能ですか? 計算プロセスに精通しているので、可能だと言えますが、いくつかのニュアンスがないわけではありません。 そして、それらの最初は税の部分の計算です。
計算で考えられるすべての課税オプションを考慮すると、開発に多大な人件費が必要になるだけでなく、現在の状態の式を常にサポートする必要があります。 問題を解決するためのいくつかのオプションがあります:計算の正確さを犠牲にして税金をプロジェクトコストの割合として考慮するか、計算システムを大幅に複雑にして手動で変更する可能性を追加します。
次のニュアンスは、会社のすべての費用、給与、プロジェクトに関する情報を安全に保存する方法です。 いくつかの可能なオプションもあります。
- サードパーティのアプリケーションサーバー(SaaS)にデータを保存します。 迅速かつ便利ですが、サービスの所有者への信頼が必要です。
- 独自のサーバーにアプリケーションをデプロイします。 このオプションでは、アプリケーションの構成と保守に手間がかかりますが、データセキュリティを個別に制御できます。 さらに、独自のインフラストラクチャからのみアプリケーションにアクセスできるようにできますが、これにより、オフィスの外にある個人の電話から計算にアクセスする機能など、特定の設備が奪われます。
- ローカルファイルにすべてのデータを保存する独立したデスクトップアプリケーションの形式での計算用プログラムの実装。 このケースは環境設定を意味するものではなく、データセキュリティを個別に制御して、データを共有する機能を犠牲にすることができます。
それにもかかわらず、上記の問題にもかかわらず、決済プロセスの自動化は依然として可能であり、多くの利点をもたらします。
-請求従業員の生活は少し楽になります
-顧客は数秒で再計算を受け取ることができます
-開発コストはもう少し公平で競争力のあるものになります
今日、このタイプの計算にはほとんど解決策がなく、それらのすべては、それらの怪物のためにかなり高いエントリーしきい値を持っています。 この点に関して、Habrの聴衆に質問をしたいと思います。あなたの会社ではどのように計算が実行されますか?