実際のプロジェクトの技術概要: ソフトウェア開発プロセスとコスト

キーポイント:

ソフトウェアの開発プロセスとコスト。

ソフトウェア チームの人員配置とコスト計算。

生活の中で使われるソフトウェアの機能のほとんどは技術的に難しいものではなく、ソフトウェア会社が開発することができます。しかし、開発プロセスの組織と実装、および使用されるテクノロジとツールに問題があり、ソフトウェア開発サイクルが長くなり、コストが高くなっています。

1. 一般的なソフトウェア開発プロセス

当事者 A のユーザー: 初期要件を提示します。

当事者 B のソフトウェア会社: 設計、開発、テストを完了し、展開、リリース、使用を開始します。その過程で甲による何度かの見直し・検査が行われ、問題が見つかった場合には乙が修正することとなった。

使用開始後は、次の 3 つのタスクを含むメンテナンス フェーズに入ります。

(1) データの保守: ソフトウェアは、当事者 A のユーザー データおよびビジネス データに従って設定される必要があります。ソフトウェアの使用中に、新しいビジネス データが生成されます。

(2) エラー解決: ソフトウェアのバグを解決します。

(3) 機能調整:機能の修正である場合もあれば、事前に考えられていなかった機能の追加である場合もあります。

使い始めた後に改修するには多額の費用がかかります。正式に運用する前には小規模なトライアルが必要で、同様にデータのメンテナンス、エラーの解決、機能の調整の3つが必要です。

試運転や正式納品を経ても、多くの場合、製品には多くの問題が残ります。すべてのプロジェクトが成功裏に遂行され、その効果が良好であれば、すべてのプログラマーはプロダクト マネージャーであり、なぜわざわざ残業したり、996 で転職したり、転職したりする必要があるのでしょうか。

最初のバージョンが基本的に安定すると、機能の追加、調整、新しいソフトウェア形式、新しいインターフェイスの設計などを含むプロジェクトの第 2 フェーズと第 3 フェーズが開始されます。

初版での変更が多すぎて第1期の資金を使い果たした場合は、修正意見を取りまとめた上で次期版で一括修正することになります。

概要: ソフトウェア制作が高コストかつ長期にわたる理由は、主な資金と時間が需要の変更、エラー修正、機能調整に費やされることです。

小さなエラーや変更を修正するのも時間のかかる作業であり、局所的な小さな問題でも設計、コーディング、テストが必要で、その後製品がアップデートされ、エラーが修正されたかどうかを甲のユーザーが確認することになります。時間が費やされると、お金も費やされます。

ソフトウェア: お金は燃えています。

概要: ソフトウェア開発プロセスには、要件分析、開発、使用、保守 (エラー修正と機能調整)、およびアップグレードが含まれます。

メンテナンス作業は非常に長く、部分的な開発や小規模なアップグレードに相当します。

アップグレードは大規模なメンテナンスに相当します。

2. ソフトウェア開発費

専門家 1 名とプログラマー 5 名で、プロジェクトを完了するには 10 か月かかります。一人当たりの月給を 8,000 元とすると、結果は 6 人 X8000X10 ヶ月 = 480,000 となります。

会社のその他のコストや利益に加えて、途中で追加の人員が配置される可能性があり、ソフトウェアの納品後にメンテナンス期間も必要になります。結局お金はほとんど残らなかった。

その他の大小のプロジェクトについては、上記の人員と時間を参考にコストを計算できます。

ソフトウェア開発者が高い給与を得たい場合は、次の 3 つの状況があります。

(1) 利用者が多く、経済的利益が大きいソフトウェア製品(ゲームソフトなど)。

(2) 本ソフトウェアは複数部販売する場合があります。甲がカスタマイズした特殊なソフトウェアであれば、他のユーザーに販売することは困難です。汎用性の高いソフトウェアであれば、複数の購入者が現れる可能性があります。

(3) 専門的な技術と経験により、開発プロセスを最適化し、エンジニアリングサイクルを短縮し、コストを削減します。

3. メンテナンス:試作・正式納品

パイロット実行: 少数のユーザーによるテスト。データのメンテナンス作業を行う必要があります。ほとんどの場合、さらなるバグ修正や機能調整が行われます。

正式配信: バグ修正が減り、機能調整が減りました。このソフトウェアはユーザーの期待に応えます。

試験運用、正式納品ともに導入エンジニア、運用保守エンジニアが必要となります。たとえば、APP インストール ファイル、APP バックグラウンド、ソフトウェア データベースを展開および保守します。当事者 A のユーザー データと基本的なビジネス データを維持します。

4. 本当の難しさ: 誰がメンテナンスとアップグレードを行うのか

ソフトウェアの機能がすべて正しくても、データベースの保守は長期にわたるプロジェクトです。したがって、甲はデータベースエンジニアと運用保守エンジニアを必要とします。

ソフトウェアエラーを修正する必要があります。当事者 A にはエラーを修正する能力がなく、ソフトウェアのエラーは当事者 B によってのみ修正可能ですが、これは合理的であると思われます。プロジェクトの第 1 フェーズの資金が使い果たされた場合、当事者 B はそれを変更しないか、変更するために資金を失い、またはプロジェクトの第 2 フェーズで変更することはありません。

甲には開発能力や機能拡張・バージョンアップがなく、次期バージョンの開発結果を待って乙のソフトウェア会社に引き渡すことしかできない。

実際、これらの問題は非常に知識が豊富で、不足しているタスクや実行されていないタスク、最適化できるタスクが多数あります。これらの問題については、次の記事で説明します。

不足している部分を理解し、最適化方法を理解するのは、私のこれまでの経験に基づいているかもしれません。

 

 

 

 

 

おすすめ

転載: blog.csdn.net/weixin_42644456/article/details/108693211