我们都是软件行业是世界所有的行业中,失败率最高的。进度最没有办法度量的,通常会拖,一拖再拖,而且人员都扑上去了,可是还是慢。
为什么?
多少年,多少人,更有很多的专业公司都在分析这里面的原因。为什么我们的人员都在加班了,没有人偷懒,都很努力,效率却上不去?
据我分析和思考,认为可以从下面两个角度看这个问题:业务和技术。究其原因的话,有下面几个常见的原因:
- 业务混乱。业务是软件的基础,软件是为业务服务的,这尤其在应用软件开发中是最常见的。可是很多时候我们太急于出界面了,忽略了业务的分析和梳理。往往有个需求,就要求尽快开始开发工作,尽快的完成功能,尽快的见到界面,可以操作,可以进行测试。其实,这时候的业务流程往往由于没有梳理清楚,存在很多的漏洞,看起来整体是没有问题的,是流畅的。可是,里面的细节,抠一下的话,会发现仅是绊子,到处都是陷阱。这样的业务作出的设计,写出来的代码,后面很有可能会需要推倒重来。这时候开发人员的开发体验就很不好,情绪受到很大的影响,效率自然也搞不到哪里去?反而,由于屡次的推到,很有可能会降下来。
- 技术基本功不足。就算是业务分析清楚了,也梳理好了,也画了很多的图,表述也达到了统一的程度。还是有点慢呢?还是没有达到预期的速率呢?那就是业务分析人员完成了他们工作,架构师设计了软件架构,该到程序员开始编码了。可是,每个程序员的水平是不一致的,有的时候会在一些技术点遇到问题,导致了开发时间超出预期范围。基本功包括:小到方法的设计,参数的设计,算法的应用,大到类的设计,设计模式的应用,对架构师给出的软件架构的理解,都存在各方面的问题。
对于第一个原因,业务的原因。我认为需要从业务的角度解决,需要在分析业务的时候,深入的思考,深入到业务的细节部分。对整个流程中的细节最好有梳理,每一步分析梳理都要有结果,文字和图例。不要草率的开工,不要只是分析一点点就可以了。可以参考程序的业务流程,分析适合自己的业务流程。
还有就是需要领导在这个问题上有正确的认识,不要基于要求开工,技术人员这时候可以做一些技术的积累和基础工作。例如公共类库的整理和编写,架构师可以进行系统的架构,是否要分布式,是否需要物理分层,是否有可以用的类库。还有一些cross-cutting的关注点,这时候都可以进行开发和设计,进行技术的探讨也是不错的。对于后期的开发也是很有帮助的。
对于第二个原因,就需要企业和开发人员两者都要有深入的认识。
首先,企业方面要有公司的类库,有自己的积累。对于一些公共的类库,一些非功能的模块,例如:日志、异常处理、数据合法性验证、用户验证、数据访问、缓存等等。
其次,公司要有统一的开发标准,开发规范,这样的话,大家可以互相帮忙,例如在一个人较慢的情况下,有人可以帮助他编写一部分的功能,加快整体的速度。因为大家的标准的一样的,所以接手起来也不会太困难,否则接手很困难的话,对整体进度就没有帮助了。
再次,对于开发人员需要有培训,培训每个人的基本功。尤其是关注那些新人,提升大家的基本功。使得大家在进行模块设计和开发的时候不至于牵绊太多,可以顺利进行。而且做出来的东西,从质量角度来讲也可以更高,减少返工的几率。这方面园子里面也有人提出了很多不错的建议面向对象思想的头脑风暴(一) 面向对象思想的头脑风暴(二)—— 详解继承与组合的优缺点 面向对象思想的头脑风暴(三)-使用接口进行解耦 等。其实就是提高我们的面向对象能力,因为我们大多使用的是面向对象的编程语言,但是开发的时候我们除了写了类,就什么都没有了。这方面可以用头脑风暴的方式,花一个下午或者是一天,大家一起针对一个问题进行分析、设计、编写,让新人参与进来,可以学习成熟的代码编写方式和技术,可以统一大家的认识高度。虽然不可能通过几次的培训和做几个小题就有实质性的提高,但是可以锻炼思考能力,最终的提高还是要靠个人在实战的开发中总结和应用,还有就是多花工夫思考和联系。师傅领进门,修行靠个人。<!--end: searchItemTitle -->
最后,技术上面要有人来把控。至少有一个人是具有丰富经验的,可以把握整体的方向,整体的风格,可以对新人进行培训。而且公司也可以充分授权这个人,充分这个人,也可以较为放心的进行开发管理。
个人观点,难免偏颇。欢迎大家一起讨论。
分享到:
相关推荐
### 产品开发项目进度、质量和成本管理 #### 一、进度管理与监控 在产品开发过程中,进度管理是确保项目按计划顺利进行的关键环节。它包括制定合理的项目时间表、跟踪项目的实际进展,并采取必要的措施来调整计划...
### 对海洋石油开发项目管理的思考 #### 一、引言 随着中国海洋石油开发事业的发展,项目管理在其中扮演着越来越重要的角色。本文旨在探讨海洋石油开发项目管理中的量化管理方法,通过对工作系统与工作流程的分析,...
此外,调动用户方业务骨干人员的积极性,将其意见和观点渗透到项目需求获取、需求分析、总体规划、详细设计、系统测试等各个阶段,有助于确保项目开发的效率和质量。 在项目管理中,需求变更管理也是一个重点。项目...
这份名为"计划管理与项目快速开发的思考.ppt"的文档资料主要探讨了旭辉集团在项目开发过程中的周期分析、存在的问题以及与同行的比较,旨在寻找效率提升和工作改进的方法。 1. **项目开发周期分析**: - 项目开发...
任务分解的作用包括提供了项目范围基线、为评估和分配任务提供具体的工作包、进行估算和编制项目进度的基础等。 九、软件项目进度管理 软件项目进度管理是软件项目管理中的一项重要活动,它可以帮助项目经理对项目...
假设在一个软件开发项目中,项目团队遇到了技术难题,导致项目进度滞后。此时,控制故障的关键在于: - **快速响应**:项目管理者应立即组织相关专家和技术人员召开紧急会议,评估问题的严重性和解决方案。 - **...
《软件项目管理》的思考题涵盖了项目管理的核心概念,特别是针对软件开发的特性和挑战。以下是对这些知识点的详细解析: 1. **项目特征**:项目通常有明确的目标,活动相互关联,有限定的周期,独特性,资源成本...
- 制定并监督项目进度计划,确保项目按时完成; - 协同其他部门共同完成项目任务。 - **工作内容详解**: - 对项目现场进行定期巡查,确保及时发现并解决潜在问题; - 监督项目计划执行情况,确保项目进度符合...
- **具体措施**:减少不必要的书面报告需求,采用更高效的方式(如内部邮件通知)来监控项目进度。 - **价值体现**:提升团队成员的工作满意度和效率,确保项目按期完成。 **3. 明确目标** - **目标制定原则**:...
项目在初步设计阶段可能存在论证不足,导致后期建设任务删减,影响项目进度。 2. **中期阶段问题**: - **质量管理**:项目管理计划制定不科学,组织协调能力不足,可能导致项目过程中的问题难以及时发现和解决,...
- **项目进度管理**:实时监控项目进度,确保按时完成。 - **成本管理**:精确控制项目成本,提高经济效益。 #### 财务成本解决方案 - **总账管理**:实现账务处理自动化,提高工作效率。 - **应付与应收款管理**:...
- **解析**:项目需求的不断变化会导致项目范围扩大,进而影响项目进度和成本控制。 - **建议**:严格管理需求变更流程,设立需求变更委员会审查所有变更请求;与客户保持紧密沟通,确保变更请求的合理性;维护一个...
同时,项目经理还需要不断提升自己的专业水平和管理能力,通过持续学习、思考、研究和实践,提高个人素养,以便更加游刃有余地处理项目事宜。 在项目管理的过程中,项目经理还要注意规划好项目的整体框架,使用好...
关于工程项目管理信息化建设的思考 随着信息技术的飞速发展,21世纪的工程管理领域正逐步迈向信息化管理的新阶段。信息化管理已经成为提升工程管理核心竞争力的关键因素,它借助信息技术的力量,增强了管理能力,...
项目范围定义了项目的目标和产出,时间管理关注于项目进度和截止日期,而成本管理则涉及预算和成本控制。 项目管理涵盖了十个知识领域:项目整合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通...
- **效果**:良好的执行监督能够有效推进项目的进度,提高工作效率。 ### 二、自我管理与团队领导力 1. **自律与自省**:项目总监需要具备高度的自律能力,以身作则,确保团队成员能够遵守规章制度。 - **重要性...
以及开发了几十个公共和业务组件,提升了团队的开发效率,统一项目标准化。项目首页加载速度做到了秒级。 * 项目二:短信平台,项目描述:项目是一个PC端发送的短信的功能,主要功能有模板发送短信、普通发送短信、...
这种误解往往导致项目目标不明确,难以控制项目进度和成本。此外,过度依赖客户意见而忽视团队自身创造力也是另一个常见问题。作者认为,软件开发团队应该具备主动思考的能力,不仅要在技术上精益求精,更要学会如何...