我是个软件工程的大学生.
项目介绍:
今年年初到一个公司做兼职.
人员安排是这样的:
技术总监:1个,手下带了三个人,负责服务器全部,客户端的音视频、通讯部分
我:1个(....), 负责界面实现(MFC),消息映射与接口调用.还有几个要用到的自定义功能的控件设计
数据库制作:1个.负责数据库设计.存储过程的编写,
老板:一个(....),和数据库小伙一起负责需求定义
大家都是给老板做兼职。。
老板给了我们通讯底层(能够做断包/粘包等处理),音视频编解码与播放的模块
真正做的时候,
通讯底层和音视频部分的调试做了接近一个月(总监说是因为这两部分没有文档.出现的问题不能快速解决)
然后因为技术总监对需求的了解不是很充分,导致接口和功能的多次变更。
同时老板比较喜欢加新功能或者对现有功能进行更改(劝过,但是人家不听我的。。)
结果预期一个月的项目做了一个半月。。
客户那边已经受不了了
我们也受不了了
然后技术总监就撒手不干了。
说他的工作做完了。
人联系不到。钱也不要了。
新变化:
现在找了一个对项目好不了解的人来了
据说是有服务器方面编写经验,
但是据我的观察,
他是个比较彻底的Coder..
不太会沟通.
而且无法担任技术总监的角色..
项目现在要在一个星期时间做完.
我看是不可能了..
大家看看这个项目整个过程当中.
都有哪些是失败的吧.
小弟学学经验.
------解决方案--------------------------------------------------------
需求不稳定是最大问题
其次是人员不稳定
小公司经常这样,你赶快找老板结帐吧,要不老板也找不到了
希望来的人能搞定吧
------解决方案--------------------------------------------------------
个人看法,供参考
1,需求不固定,没有在项目初始界定清楚项目的范围
做为你们老板从做项目的角度来讲也不应该按照个人喜好随意改变需求,从一开始就做错了
2,设计文档缺失
在开发的过程中,各种必要的设计文档不全,导致后人无法接手前人工作。
文档的一个重要作用,就是供别人参考,其实,是不是纯coder,并不是最重要的,重要的是他要知道自己开发的是什么,
实在什么基础上作开发,如果这个都不清楚的话,当然不能做好工作了。
3,与客户沟通不够
在开发过程中,如果发现存在问题,应该及时与客户沟通,坦然面对问题,看客户能否从时间或者资源上进行妥协,
为了项目完成,甚至可以减少一些需求,以满足主要功能的实现。
4,人员配置不合理
当然这是小公司做项目必然面对的困难,只能尽量避免了,避免出现一人出局导致其所负责的工作他人无法接受的情况出现。
以上一写看法,和大家一起讨论吧
------解决方案--------------------------------------------------------
兼职的很大风险就是人员流动性大,要有相应的人员备份机制,尽管开始认为是一个月的项目也最好有,比如规定要写什么文档,关键的部分,难理解的部分等等,这样方便后面的人接手
计划不合理也是直接导致技术总监离开的原因,项目的规模没有估算好,就不可能给出合理的交付日期,工期压得很紧,软件质量就很难保证,参与人员的心情也不会很好,没有成就感
学生阶段多做些没有坏处,你肯积极思考Lesson Learn是相当不错,加油
祝你成功~~
------解决方案--------------------------------------------------------
支持
------解决方案--------------------------------------------------------
觉得主要是老板的问题:
老板:一个(....),和数据库小伙一起负责需求定义
。。。
通讯底层和音视频部分的调试做了接近一个月(总监说是因为这两部分没有文档.出现的问题不能快速解决)
然后因为技术总监对需求的了解不是很充分,导致接口和功能的多次变更。
同时老板比较喜欢加新功能或者对现有功能进行更改(劝过,但是人家不听我的。。)
1、需求定义不清楚,与开发人员沟通不够,导致开发人员对需求了解不够,也导致开发中间经常更改需求。
2、没有比较精确的进度控制,应该有一些小粒度的里程碑。
对于这样的项目,建议使用SCRUM来控制整个项目比较好。
------解决方案--------------------------------------------------------
简单来说,整个项目都缺乏控制。
不论采用什么样的开发和管理方式,当项目缺乏可控性时,那么项目基本上可以说是一定会失败的。
------解决方案--------------------------------------------------------
这个项目问题比较多,可以从以下几个方面看出:
1.需求:没有进行可行性分析,没有进行详细的需求分析及有效地需求管理;
2.计划与控制:项目开发计划、项目风险管理计划、项目进度控制等,这些都没有去做。
3.团队:人员没有选配好,团队处于初期阶段,没有什么团队概念,也没有进行有效的沟通、协作。
……
原因太多了!
------解决方案--------------------------------------------------------
关键问题是:
没有项目经理
以上仅供参考