每个创业者都会有第一桶金,这对于创业者来说,是启动资金,是公司能开航的动力;对于听众或者观众来说,有的可能就是奇迹、神话、传奇,等等之类的。对
我来说,这第一"桶"金,是我创业的直接"导火索",同时也是我的启动资金,这中间更多的是我的冲动,是一种藏在心底里长久的一种火苗的突然燃烧。所以对
于听众来说,可能比较平淡无奇了。
公司的第一个项目,也是我第一桶金的资金来源,既然是公司做的东西了,肯定不能象toy软件了,要真正当作一个软件产品来做了,要有需求分析,软件架构设
计,数据库设计,编写源代码,测试,维护等环节了。因为刚开始公司就我们两个人,所以我们两个就充当了架构设计师,软件工程师,测试工程师,售后工程师等
角色。
虽然以前也做过很多项目,也和很多人合作开发过,但是真正的流程还是理解的不够,其实在软件开发中这个流程是非常重要的。下面我就以我的亲身体验来说明软件开发中的各个环节,这同时也是我的教训,其中有许多可能也是不对的,希望朋友们给予指正。
项目描述:是一个生产企业的综合计划管理系统,包括了订单管理,排产管理,令号管理,销售管理,发运管理五个模块,另外还有综合查询等统计信息。
需求——你受客户的影响有多大?了
解了基本需求之后,我做了一个解决方案,其中包括了J2EE架构和.NET架构,并详细描述了各自的有缺点和环境需求,让客户来选择。我向客户推荐的是采
用J2EE架构,一方面是我的原因,我想在J2EE设计中积累更多的经验,二是客户的公司的订单的处理将来可以移到Internet,实施E-
commerce。当把方案拿给客户以后,我自然的推荐了J2EE模式,但是这个客户他本身还是很了解技术的,他说J2EE比较复杂,将来维护的费用会比
较高,另外他也不是太懂,因为以前他开发了公司的网站系统,使用ASP开发的,所以他就建议我们使用ASP开发,一是ASP的环境要求比较低,二是将来他
可以自己维护,譬如需要什么报表,他就可以自己加进去。因为是我的第一个项目,所以我也接受了他的建议。说句实话,对于生产企业的管理系统,我还是第一次
做,其中的一些流程我一点都不清楚,好多名词更是第一次听说,如"令号","排产"等。这也给我写需求造成了困难,在和客户交流了一周多后,我基本熟悉了
流程,客户也把数据表的要求写出来了,综合了我所了解的业务后,我写了一篇洋洋洒洒的《需求分析说明书》,这也是我第一次这么完整、规范的一个需求分析。
架构设计——能设计出一种弹性、合理的架构吗?
界面设计——能设计出简洁美观符合习惯的界面吗?
程序编码——是反思一下编程技巧的时候了?
软件测试——程序员加入了单元测试了吗?是不是应该写出完整的测试用例和测试文档?
软件周期管理——能控制住软件的进度吗?
软件交付——软件能让自己满意吗?
思考:流程、管理对于一个公司是非常重要的,拿软件产品来说,流程和管理的规范应能使得软件的交付更加及时,但是对于刚起步的小公司来说,是一上来就规范呢?还是先按作坊式发展?
2006年3月4日