1.2.3 开发人员技能汇报
如果不及时跟进开发人员技能的掌握程度,而且直接开发人员也不及时进行汇报,将会导致项目进度延期的无法抗拒。
不仅仅技能不满足要求时沟通不够,也有其他方面的沟通不足,也会导致项目的进度也可能受到影响。
1.3 关键技术分析不透彻
在一个项目中,如果对关键技术分析不够透彻,用一种模糊的观点,抱着试试看的心态,也可能导致项目计划执行难度较大。
这个与“详细设计不彻底”有些相通之处,但不完全相同。
比如,yyyyy项目,它存在一个对关键技术分析不透彻的问题,也存在“详细设计不彻底”的问题。因此,拟定的计划是模糊的,不可执行的。开发人员凭着自己的经验和智慧,解决开发当中遇到的问题。
1.4 开发经验总结不足
对于同样的一个项目,同样的一个功能,在进行多次的复用后,其技术应该已经较为成熟,其功能的实现也应该较为容易,出错率也应该较低,我们进度应该比较有把握,但事实情况并非如此!
那我想,也许是我们对开发的经验总结不够!
我们是否可以做一个这样的统计:
在一个我们现有的项目开发过程中,我们进行了多长时间的编码工作,其中没有任何修改操作的时间为多长,因为用户需求的更改而导致的代码修改时间为多长,因为设计的修改而导致的代码修改时间为多长,因为功能实现的错误而进行的代码修改时间为多长。
所有时间的综合 在没有进行修改的情况下项目所花费的时间 引起代码修改的原因 用户需求更改的情况下项目所花费的时间 设计发生修改的情况下项目所花费的时间 功能实现的错误的情况下项目所花费的时间 测试发现错误的情况下项目所花费的时间花费的时间也可以做出图表。
从这样一些统计和总结中,也许我们可以看出,我们进度的延期主要的因素是什么;除了客户因素之外,我们还可以做那些努力;我们不可忽略的因素是什么。
2 软件过程调整
根据以上的分析,我们可以对软件过程进行适当调整,尤其是针对开发中采用C/A/S结构的系统,从而来改变我们增强需求获取的目的性,而且需求获取也会变得较为明显和容易。
对公司已经经历过的软件过程进行分析从而决定在下一个项目中将要采用的软件过程。例如,对采用B/A/S结构的系统可以采用直接从界面和数据进行概要设计的方式,并以此来计算页面设计时间和数据库设计时间。而对于其中所需要实现的其他的功能,则在每个界面当中进行详细设计,此时对每一个功能实现所需要的时间进行估算,这样能够计算出整个项目的一个较为可靠的时间,根据用户的需要和需求功能实现的关联能对项目进度有一个适度的安排。
这样在概要设计中,主要对界面和数据库设计进行评估;而在详细设计中对功能的设计和实现进行评估。
3 市场人员交流的技巧
我并不知道市场人员在交流的时候使用了什么样的技巧,但是市场人员的营销技巧和交流技巧确实对我们在争取项目的主动权上有着至关重要的作用。
如果能够充分掌握开发人员的相关因素和公司现状,那么在前期获得客户沟通、需求获取、和项目的时间把握等上,后期的产品交付、验收等问题上,都可以获得一定的余地!
在这儿要需要说明:
不管你是公司的技术人员,还是市场人员,与用户交流的时候,你是一个与用户在进行交流的市场人员,同理,不管是懂技术的客户,还是不懂技术的客户,他都是提供用户需求的客户!
市场人员交流是需要一定的技巧的,而掌握这些技巧需要市场人员掌握相关技能。对于技能和技巧的掌握,没有人天生会,只有不停的进行锻炼,并经过相关的培训和实践。
思考以下几个问题:
为什么用户需求总是在发生变化?是我们不理解用户的需求吗?还是我们低估了用户?还是我们分析不到位?
如果用户的需求超出了我们的期望值,我们处理好了吗?我们是在敷衍,还是继续努力,让用户理解我们?
我们获得的与开发人员所需要的需求差别在哪里?我们了解我们的开发人员及其所拥有的技能?