
我们发布了Django Stars员工Alexander Savchenko的
材料翻译。 他讲述了如何评估创建移动应用程序的成本,同时考虑了直接成本和间接成本。
对于公司和独立工作的程序员来说,确定开发特定应用程序的成本是一项重要任务。 值得一提的是,它不可能达到100%的准确度,但是本次审查将帮助您更接近估计的最大正确性。
Skillbox建议:实用课程“ Mobile Developer PRO” 。
我们提醒您: 对于所有“哈勃”读者来说,使用“哈勃”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
您评估的不是代码行,而是整个产品
当我谈论应用程序开发时,我指的是项目是一个单独的系统,而不是单独的代码行。 因此,它的实现包括体系结构,通信,测试,质量评估以及此过程中通常包含的所有内容。
除了直接成本(专门花在应用程序上的时间)之外,还没有总考虑间接成本:
- 除了开发之外,您还需要测试应用程序,对其进行分析,并在必要时准备进行市场营销活动。 此外,总是存在不同类型的不可预见的费用,我们将在下面讨论。
- 分析这种想法的可行性及其实施方法。 最初看起来很酷的想法,实际上很难实现。 此外,您绝对应该评估应用程序的竞争力:如果有很多类似的产品,可能值得再次考虑并决定是否将您的想法付诸实践。
- 向投资者推介想法。 投资者只对一件事感兴趣-该项目是否能够带来资金。 即使这个概念很有趣,但是没有商业计划或原型形式的争论,那么投资者也不太可能支持您。 有必要根据这些现实情况评估可能的收入和成本。
- 团队合作。 通过不同团队成员之间的协作,可以实现高质量的应用程序,每个团队成员都是各自领域的专家。
您还需要考虑以下重要事项:
- 通讯。 为了核对支出项目,您必须始终保持对工作流程的关注。 这意味着与团队其他成员保持不断的沟通。 除其他事项外,他们应该对正在从事的工作有很好的了解,并了解项目定位的细微差别。
- 规划和集思广益。 新鲜的想法总是好主意,但是,不幸的是,没有人能保证头脑风暴会议的下一届会议将回答所有问题并帮助进一步开展工作。
- 其他任务。 在开发过程中,您可以获得新的想法和建议。 其中一些将需要使用额外的时间和劳动力资源。
我们考虑了隐性因素
评估创建应用程序成本的过程中的主要问题是,在开始的时候我们不知道会遇到什么困难。 对于尚无人实施的想法尤其如此。
为了评估影响开发过程及其成本的大多数已知因素,有必要进行分析,并且还应包括这样的假设,即在工作期间会出现新的问题和任务。
因素可以分为三类:
- 目前,您所知道的一切都包括,例如,注册域名,租用具有某些特征的主机等。
- 仍然未知的因素,但是可以预测它们的出现-例如,截止日期转移或服务器上的技术工作。
- 未知且难以预测的因素。
分步开发成本估算
用户案例和开发人员任务在此阶段,有必要从各种用户组的角度描述系统的功能。 粗略地说,这是产品开发的外部需求的文档。 另外,您需要分发任务以供各个开发人员实现这些功能。
我们指定工作范围最初,有必要为应用程序制定清晰的愿景,并确保所有项目参与者都了解此愿景。 团队中的每个成员也必须了解他们在我们的Web应用程序开发过程中的角色。
前端开发人员必须知道需要支持哪些浏览器版本,是否需要移动版本等。 后端专家必须了解管理员,“来宾”用户将具有哪些功能,以及是否需要与其他系统集成。 同样,架构师,界面设计师,业务分析师和其他团队代表应了解对他们而言重要的细微差别。
估算每个任务的执行时间在将整个开发过程分为针对特定团队成员的单独任务之后,我们将继续计算执行这些任务中每个任务的时间表。 建议提供一个正常的和悲观的乐观期,也就是出现问题且截止日期不正确时。
可能看起来像这样:在最佳情况下开发交通管理系统需要10天; 确实-大约20天左右; 如果出现问题,则一个月。 您还需要考虑大约95%的校正系数。
术语估算
考虑到95%的校正系数来计算交货时间这些插图显示了计算单个任务执行时间的示例。 对于流量管理,这是33天,并且可能与估计的日期有所差异。
如果Web应用程序的评级太高或太低怎么办
如果您不太喜欢最终结果,也就是说,应用程序的价格过高或过低(在后一种情况下,可能证明以这样的金额工作是没有意义的),请尝试重新运行计算。
如果该应用程序太便宜,请考虑其创建过程涉及多少人,是否考虑了所有阶段和任务。
相反,如果结果很多,则寻求更多的预算解决方案,减少参与该项目的团队成员的数量,并设置稍有不同的优先级。
最后,我要说的是,在评估创建Web应用程序的成本时,有必要考虑所有细节,包括可能影响开发过程的已知和未知因素。
错误的计算本身使团队能够了解工作范围并最大程度地降低风险。 主要原则是不要着急,但也要注意自己的欲望。
Skillbox建议: