需求不清:只有概要设计,没有详细设计,因为开发人员本身项目经验不足,只通过概要设计很难理解具体要实现的东西是什么样子,这也导致整个项目开发的进度变得很慢。
缺乏开发规范:没有编码规范,文档规范等等,导致整个项目变得一团糟。
开发人员与项目经理存在交流和认识的代沟:由于项目经理和开发人员的项目经验的差距,导致我们沟通起来很困难,开发人员本身对需求就不是很了解,还要猜项目经理的要求,项目经理是从感觉(概要设计的角度)出发,而开发人员是从实际(详细设计的角度)出发。
任务分派的问题:当前状况非常笼统地以模块为划分,这样分配非常不科学合理,因为每个人的技术水平不一样,导致软件质量无法得到保证,可能会因为某个人而拖慢整个项目的进展。任务分派应该到以天为单位。
学习新技术的方法(当前状况:上去就学理论,到最后跟没学一样,应该记住不要为学习而学习,应该为实践而学习。技术是无穷多的,而人的生命是有限 的,我们因该有智慧的有策略的学习,不要乱学一通,浪费生命。应该秉持熟练应用--熟练理论的步骤,要记住学某个技术:书籍永远没有视频更适合入门);面 对复杂的事务,应该学会抓主要,然后逐个击破的方法,找到通向庞大事务的入口,然后通过这个入口将一系列事务串连起来;面对技术的学习应该秉持实用主义态 度,不能贪多,应该在实际应用中按需学习;
对问题的认识不正确:上来就把问题想的很复杂,导致越想越复杂,最后根本找不到解决的方法,应该秉持先简单后复杂的原则。
团队成员的管理:开发过程中成员总是容易被与项目无关紧要的东西所吸引,导致真正用于项目的时间被大大降低。
开发人员技术储备与项目实现所需要的技术存在差距
开发人员容易脱离实际,陷入一堆看似先进的技术概念中(坚持实用主义哲学)
人员团队协作和沟通存在问题
由于我们平常学习的都是不合时宜的并不适合实际状况的理论知识,导致我们的思维模式与现实处处存在摩擦。
解决问题过程中,由于人类复杂的未知因素,使我们总是偏离正确方向的航道。
主观的人面对物质的机器,由于人的非理性导致理性世界与我们的表象世界存在越来越大的偏差。
由于我们的主观造成我们错过一次又一次改正的机会。