首页 > 软件开发 >软件开发wbs 软件开发wbs分解实例

软件开发wbs 软件开发wbs分解实例

IT信息网 2024-04-20 22:23:51 0

大家好,今天小编关注到一个比较有意思的话题,就是关于软件开发wbs的问题,于是小编就整理了2个相关介绍软件开发wbs的解答,让我们一起看看吧。

程序员接私活时,软件如何定价?

按照接到的项目技术含量定位,比如,是个系统级的软件还是应用级的,如果是系统级的,很可能要考虑管理硬件和操作系统或者数据库等等,确定好需要开发软件的等级之后,再确定开发时间,有了时间,再平均到每天的工资

软件开发wbs 软件开发wbs分解实例

通常来说,做这种外包订单的定价方式有两种,但无论哪一种,我们都需要对需求先行进行了解并且明确下来,才知道如何定价。

对于一个系统来说,我们了解了用户的具体需求以后,可以将系统分为若干的功能点,按照每个功能点的复杂程度,按照一定的价格来收取费用。

例如:我们要做一个新闻的模块,新闻模块非常简单,对于后来来说,有四个功能点,新闻列表、添加新闻、修改新闻、删除新闻,对于前台来说,就是查看新闻列表和详情两个功能点。其中查看新闻列表这个功能点对于前后台都一样,可以合并在一起。

假如我们按照一个功能点100块来收费,其实这个模块我们就收费500块就可以了。

那可能还有复杂的,类似OA的工作流,自定义工作流表单和可视化流程设计其实就是一个非常复杂功能,如果我们将工作流视为一个模块,那么简单的分一下的话,至少有表单可视化设计、表单的创建、表单的修改、表单的删除、流程的可视化设计、流程的创建、流程的修改、流程的删除、流程的查看、流程节点的创建、流程节点的修改等等等等非常多的功能点。

按照正常情况,一个这样可视化的工作流引擎,大概你都可以报价超过2万块,还不用去算OA系统中的其他部分功能。

要值得注意的就是,如果按照功能报价,你需要有将需求分解到功能点的经验,不然到时候分解时漏掉几个功能点,可能你的收益和你的付出就不成正比了。

按照时间定价,可能是很多外包公司的定价方式,对于独立接单的程序员,很多现在也在使用这种方式来计价了。

一般来说,我们在接到一个外包的项目时,先对这个项目的大概功能进行一个分析,然后估算一个时间。

这个真不好算

私活大部分都是毕业设计

一个大学生能有几个钱

报个800搞一个礼拜 浪费时间 还不挣钱 800他还觉得贵

商业用 来个需求 又前端 又后台的 一算工作量 起码搞2个月 报个4万 那个客户觉得我就这么点功能要这么多钱呀 不做不做 他以为3000快就能搞定的东西

现在就接点改bug 50一个 或者简单的毕业设计 一天完成 收个300左右

计算出你正职工作的时效,比如你正职工作工资12000,每个月工作160小时,每小时就是75元,然后估算出私活需要工作多少个小时,然后再乘以接单系数,接单系数考虑一下因素,时间紧迫性、难度、后期维护难度以及次数、是否有现成模板等,接单系数一般建议2-5之间。

1、先详细了解客户需求

跟客户详细的了解项目需求、项目背景、项目所需时间、达到的效果等,详细的项目沟通是项目成功的第一步,也是估价的基础;

2、然后准确计算出需要多少工时

根据第一步计算出所需工时,以及所需工种。仔细反复核算,以免工作中超出预期工时自己吃亏,赚不到钱。在详细计算得出的基础上加上10%左右的工时,作为储备用,以免中途客户需要变更等;

3、项目因素

如果这个私活是除了你别人做不了的,那就随你叫价了。给你两个我的例子,2001年,我帮航天部解密一套精密摄像系统,用时4天,我要了3万。2017年,我帮中科院一个下属公司解析一个芯片的软件系统,还原成c原代码,用时近一个月,要价20万。

首先定位是私活!既然是私活肯定比正常的企业项目要低很多,因为不用考虑企业运营成本,但是私活的承接也有一定的报价规则。

1、根据项目工作量报价

根据客户的需求,将需求的内容化模块进行工作量评估,一般评估会根据人月、人天进行评估,再根据人月、人天的单价计算得出。但是一般情况下需要考虑一些外在的因素,比如需求沟通工作量、测试工作量、bug修复工作量、客户需求变更工作量等等。因为私活不比正规的项目,客户后期的需求变更不可控制,大部分会进入:先做出来看看的怪圈。

2、根据项目大小报价

项目何为大、何为小。主要是主观上的判断,还有个人对该项目的实现难易程度而定,比如有的开发者有成熟的或者半成熟的产品,他们只需要稍微的调整就可以上线,当然价钱可能会稍微的降低。而有的开发者需要从头进行研发,肯定研发周期工作量都是很大的,相对报价稍微高点。

3、成熟的脚手架开发很重要

很多朋友苦恼,每次接私活都需要重新进行研发,这个思路或者模式肯定是不对的,私活讲究短平快。不比企业项目一做就是好几年,私活讲究效率,一般为1~3个月的项目,或者1月一内的项目为多,所以找到自己的脚手架项目平台很重要。

作为10年的老程序员,我都是用青锋的后台系统脚手架系统采用springboot架构、layui前端框架、整个druid多数据源、quartz定时器、单表多表树表代码生成器、全方位的权限控制等。

喜欢的小伙伴可以私信问我要地址,已经托管码云。

假设开发某款软件1个程序员10天可以做好,那么找10个同等水平程序员一起做1天能否做好?

我们作为一家运营六年的软件公司,在起初也曾与大多数客户一样有这样雷同的想法,但是经过多次实战之后,发现,这是一条走不通的路。

软件产品包含很多种:纯软件产品、纯硬件产品、软硬结合产品。

纯软件产品中又分为:公众号、小程序(N多家小程序)、网站(门户、资讯、电商)、信息管理系统、特定领域的系统(ERP/财务/MES)、SAAS/PAAS/IAAS系统。

所有的这些系统,的确在设计、制作的过程中是会进行模块化拆解的。

但是模块有大有小,有复杂也有简单,一个体量比较大的不可再分模块只能由一名程序员去完成,否则每增加一名程序员,沟通成本就会大幅增加,最后增加的成本都足以让这个模块“腰斩”。

所以,适当增加人员投入有助于提高软件开发的效率,但这个度要适中,我们的实践结果是最好一个团队不要超过六个人,可以将软件拆解分配到几个小团队并行开发,但是绝对不要搞一个几十人的大团队混在一起开发一款软件产品。

1个人要用10天,10个人起码要用20天。

项目管理、需求设计、对齐思路、架构设计、模块分解、方案评审、串讲对齐、编码、代码review、联调等等。

如果是一个人做,这些都在脑子里过一遍就好了,人多了,沟通成本就多。人多了一个想法可能要好几天才能落地,编码只占用整个项目非常小的一部分。

对于这种小项目而言,还是一个人搞吧

这个问题严格意义上不算是一个研发类的问题,而是一个项目管理类的问题,不光是在软件研发上,在建筑工程方面依旧会有同样的问题。例如:一个房子10个人60天就可以盖好,那么有600个人,是不是一天就盖好了呢?

答案自然是否定的,我想这个问题及时是不懂项目的人来回答,应该也只能是这个答案。

如果我们学过项目管理方面的知识,就会知道,在接到一个项目的时候,我们首先会对这个项目进行分解,也就是创建WBS(工作分解结构 Work Breakdown Structure)。

而在WBS的最底层将会是工作包(work package),对于一个工作包,建议定义在4-8小时,最大不要超过40小时,一个工作包一般只会指派给一个人来完成。

OK,到这些其实我们也就发现,工作并不是可以无限制的分解下去,如果这个工作包至少需要2天来完成,那么整个项目就算资源再丰富,也不可能低于这个时间界限。除此之外,当然在项目管理中还有其他的约束条件,不然一个100人天的项目分解成为了100个工作包,是不是就是100个人可以1天完成呢?并不是的。

在项目管理里面,我们还会绘制网络图,在网络图中就会有紧前工作和紧后工作。

什么是紧前工作?什么是紧后工作?

紧前工作就是,要完成当前工作需要先完成那些工作,这些工作就是当前工作的紧前工作。而紧后工作就刚好相反,就是当前工作完成了才能去进行的工作。

将所有工作的紧前和紧后工作都绘制出来,就是这个项目的网络图了,在网络图中,我们就能够找到一个非常核心的线路,叫关键线路。关键线路的时间就是表示一个项目能够完成的最短时间了。

我们放到实际的项目中来举例,假设我们要修一个房子,那么一定是打好地基开始修第一层,第一层框架搭好了开始第二层,以此类推。没有哪个修房子的会一次性所有楼层全部开工吧。这就是紧前、紧后工作的约束。

这是一个非常好的问题,作为一名IT从业者,我来回答一下。

首先,软件开发除了需要足够的开发人员之外,软件开发本身也需要一个系统的过程,并不是开发人员越多则开发周期越短,随着开发人员的增加,项目的协调成本也会增加。

整个软件开发需要经过三个大的阶段,在项目需求已经确定的情况下,首先需要进行技术选型和整体设计,然后进行具体的功能模块实现,最后是试运行,这三个阶段需要不同的角色来参与,各自的任务衔接也是比较紧密的。

以App开发为例,在项目开始确定之后,首先需要由产品经理和策划出方案,在方案出来之后,交互设计工程师和视觉工程师来设计模型,在确定完项目模型之后,进入开发阶段。在开发的之前,首先要由架构师完成技术选型和整体设计,最常见的就是要完成接口的定义,同时要给出关键点的解决方案,之后由项目经理来协调开发人员开始开发。

在开发的过程中,前端和后端开发人员可以同时开发,然后在规定的时间点进行联调,这对于项目设计人员和开发人员都有较高的要求,在联调结束之后还需要测试人员完成功能验证,这同样需要一个过程。所以,整个开发过程要想顺利进行,流程控制是非常关键的,流程控制不仅要有技术支撑,同时项目经理还需要有较强的管理和协调能力。

通常情况下,一个运营级别的平台型App产品,通常会采用“321”的开发原则,也就是3个月的设计时间,2个月的开发时间和1个月的试运行时间,即使开发人员增加一些,整体的开发周期也不会提前太多。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

软件开发,并不是人越多,开发周期越短,相反,没有团队管理的软件开发,人越多,扯皮也越多,Bug也越多,结果为了解决扯皮,修改Bug,造成开发周期也越来越长。所以软件开发要遵循软件工程的方法去做,并不是团队人越多越好。有时候,你会发现,一个人如果是如果是全栈工程师,可以从头编到尾,时间也长不到哪里,反而Bug较少,成功率较高。当然,我们不鼓励一人从头编到尾,我们需要团队协同工作,这样,大型复杂的项目都能做。

基本上是不可能的,一个项目编码的工作量不能作为数字单位一样去换算,当项目编码人员各自负责不同模块开发,功能模块之间需要做一些对接,对接沟通成本就上来了,而且像一些公共的工具类,这些如果大家都自己往上加自己用的方法,又会涉及到代码的merge,因为每个开发的水平不同,所以一般项目组内会有专人做代码review,并且制定一些代码规范。所以其实项目管理也是一门很深的学问,项目开发不能直接当做数学问题来转换,不仅仅是软件项目。

到此,以上就是小编对于软件开发wbs的问题就介绍到这了,希望介绍关于软件开发wbs的2点解答对大家有用。