真实项目技术总结:软件开发过程和成本

要点提示:

软件开发过程和成本。

软件团队的人力配置和成本计算。

生活中用到的软件,大多数功能没什么技术难度,软件公司都能开发完成。但是开发过程的组织、实施有问题,所用技术和工具也有问题,使得软件开发周期长、成本高。

一、一般的软件开发过程

甲方用户:提出初始需求。

乙方软件公司:完成设计、开发、测试,然后部署发布、投入使用。中途有几次甲方的评审、检查,发现哪有问题,乙方修改。

投入使用后,进入维护阶段,包含3个工作:

(1)数据维护:软件要根据甲方的用户数据、业务数据实际配置。软件使用过程中,会产生新的业务数据。

(2)错误解决:解决软件中的bug

(3)功能调整:可能是功能的修改,也可能是某个事先没想到的功能,需要添加。

投入使用后,再修改,成本很大。正式投入使用前,必须有小规模的试用,一样做的是数据维护、错误解决、功能调整这三件事。

经过试运行、正式交付,多数情况下,产品依然有大量问题。如果每个项目都顺利交付、效果良好,那么每个程序员都是产品经理,何苦996加班、跳槽、改行。

当第一版本基本稳定后,开始启动二期、三期工程,可能是功能增加、调整,有新的软件形式、新的界面设计等。

如果第一版本要改的地方太多,一期经费已经花完,那么汇总修改意见后,在下一版本一起修改。

总结:软件制作之所以是高成本、长周期,主要资金、时间,都花在了需求变化、错误修改、功能调整上。

修改一处小错误、小变动,也是一项很耗时间的事,一个小的局部问题,也需要经过设计、编码、测试,然后更新产品,甲方用户再看错误是否改好。花费了时间,也就花掉了经费。

软件:经费在燃烧。

总结:软件开发过程包括:需求分析、开发、使用、维护(错误修改和功能调整)、升级。

维护工作很漫长,相当于局部的一次开发、一次小型升级。

升级,相当于一场大型维护。

二、软件开发成本

1个专家和5名程序员,10个月完成一个项目。假设人均月薪8000元,结果就是6人X8000X10个月= 48万。

加上公司其他成本、利润,中途可能增派人手,软件交付后也需要一段时间的维护。最终剩不下多少钱。

其他大型、小型项目,可以参照上述人力、时间计算成本。

软件开发人员,如果想获得高薪,有三种情况:

(1) 这个软件产品的用户多、经济利益大(比如游戏软件);

(2)这个软件可以卖多份。如果是甲方订做的专用软件,很难销售给其他用户。如果是通用性强的软件,可能有多个买家会买。

(3) 凭借专业技术和经验,优化开发过程,让工程周期变短、成本降低。

三、维护:试运行和正式交付

试运行:小规模用户的测验。需要完成数据维护工作。多数情况下,错误修改较多,功能调整较多。

正式交付:错误修改较少,功能调整较少。软件达到用户预期需求。

试运行和正式交付,都需要部署和运维工程师。比如部署维护APP安装文件、APP后台、软件数据库。维护甲方用户数据、基本的业务数据。

四、真正的困难:维护和升级由谁做

即使软件功能全部正确,数据库的维护也是长期工程。所以,甲方公司需要一名数据库工程师、运维工程师。

软件错误需要修改。甲方不具备修改错误的能力,软件错误只能由乙方修改,好像合情合理。假如一期项目经费已花完,乙方还改不改,赔钱改,或者在二期工程中改。

甲方不具备开发能力,功能拓展、升级,只能交给乙方软件公司,等待下一版本的开发结果。

其实,这些问题大有学问,有很多工作缺失、没做,有很多工作可以优化,这些问题,下一篇文章再谈。

了解缺失的部分,了解优化的办法,可能是我过往多年的经验所得。

猜你喜欢

转载自blog.csdn.net/weixin_42644456/article/details/108693211