初入IT圈儿,各种不给力!啥啥都不懂,神马都是浮云……
麦迪说过:篮球是五个人的!这句话是要告诉咱团队合作的重要性!软件开发亦然!一个牛x哄哄的软件靠的是非凡的团队~!那么!非凡的团队靠的是什么?
一直在物流专业徘徊的我也开始了迅速转型,在Q小Y的带领下开始在IT这疙瘩混饭吃……刚来就到了技术部,各种人、各种事让我不知道该如何应对……在这里,接触的东西都是新的,我是24K纯不懂!但是!Q小Y曾经斩钉截铁的告诉过我:你必须得学!必需得懂! 好吧,其实她老早就推荐了本书给我,当时倍儿激动的从TB上拍了这本书, J书吧,一翻开,我就凌乱了~~
好吧,我先说说对PM的理解:PM要做的事儿就是把乱七八糟各种和项目有关的因素结合在一起,然后规范统筹,最终达到目标!它在这其中就代表了流程、规范,有了PM就有了效率,这样项目开发的整个过程就能更好的被控制,从而进行更高效的管理!
软件开发简单说就是在相当长一段时间里,一个研发团队进行的编程过程;细化一点儿主要是计划、分析、设计、编码、测试和维护的全过程。而对于一个项目来说,其复杂程度很高,必须要对项目进行系统有效的管理才能使项目满足各方要求,所以项目管理就是在项目整体运作过程中,运用一切知识,技能,工具和技巧完成项目,并满足项目的需求和期望的过程。
由于软件的特性,它自始至终都是一种无形的东西……所以项目管理就有一定的难度,要想更好的把控软件开发的各个阶段就必须要使管理贯穿整个开发周期。
项目开始涉及到项目信息的收集,访问项目管理层和用户,从而确立项目的目标,继而确立需求,需求获取是软件开发中最困难,最关键,最易出错和最需要沟通交流的一项工程,最终编写《需求规格说明书》, 这样才能使软件功能和性能与用户要求相符!在需求明确、准备开始编码之前就要进行概要设计,所谓概要设计就是简单大体对项目进行设计,主要是为了验证需求,这项工作也是相对比较重要的,它为而后的架构设计打下基础。软件架构设计是适用于整个系统范围的设计,是软件设计的高层部分,通常会使用一份独立的文档来予以描述,即《架构设计说明书》,架构设计是把项目划分成多个子系统,每个子系统涉及哪些模块,各个模块的主要功能,以及各子系统之间的关联性,从而使得系统的各个抽象组件更加明朗的呈现出来。通过规范的架构设计,那么系统设计师就可以进行系统的详细设计。这项工作输入项是《架构设计说明书》,输出的是《软件详细设计说明书》,详细设计就是将需求文档转化为代码的具体过程,也就是要把那些抽象的组件具体化,从而使得软件开发变得更容易,使软件的质量更高!接下来一步就是程序员的编码工作,优质高效的代码能够使程序运行起来畅通无阻! 当然,代码审核工作也是必不可少的。只有对此次项目中涉及到的代码进行科学的评审,才能保证代码的优质!在项目上马前要进行严密的测试,测试的目的是对软件的需求分析、设计规格说明、和编码工作进行的复审,以此来保证软件质量和可靠性,测试人员需精心设计出测试用例,然后根据测试用例去运行程序,以发现程序运行中的bug。当测试人员确保程序能够顺利运行时就可以进行验收部署上线了,一般情况下,尽可能将安装程序简单化,以使用户有非常好的体验。当一个程序在线上运行期间,还需要投入大量精力去维护(软件维护的各个阶段的工作都略有侧重)总之,软件维护在整个软件生命周期所占比例为70%左右,可见其地位非同一般!
由此衍生出的一些列问题,要想使得项目从始至终按照计划进行就需要项目管理者严格控制各个环节!任何一个项目有其本身的特性,不能将项目程序化,一个项目的开展可能涉及多方因素:时间、费用、性能、功能及其它约束性条件,同时,项目的开发是具有依赖性的,它牵扯到与其他部门的沟通联系,我们应该最大限度的规范行为,运用一切工具、手段来优化资源配置,杜绝影响项目进度的各方因素,因为任何一个项目都是有生命周期的,要严格把控各个周期的活动,这样才能更好的满足项目的需求和期望过程。
具体来说:软件开发中的项目管理涉及到多个方面,针对过程管理:管理者应该严格按照基线审核各个业务流的产品是否符合要求;针对需求的管理应尽量细致化、人性化;良好的开发团队对整个项目至关重要,所以要科学的进行团队中的组织管理,从而提高整个团队的工作热情;随着项目的进一步深化,需求会发生变更,项目管理者不仅要建立一套完善的应对变更系统,同时还要提高整个团队的应变能力!而做到这些就需要管理者有较高层次的业务水平、敏锐的洞察力、文档的规整能力、合理用人的能力,其中,软件开发中的分组是有规则的,人员的配备必须是为项目目标服务的,应该严格坚持以岗定员,充分利用人力资源,同时可根据个人的承受能力合理分配,其次,要增强分组的灵活性,从而最大限度节约人力成本!
到了具体实施阶段,首先就需要将整个项目分解细化,根据每个子项目中各个模块的进展情况,逐一进行项目跟进,这样才能从源头上抓住每一个小环节,从平日的跟进中提高开发效率,这样才能在整体上把控项目的开发周期!同时,项目开发的各个阶段会输出各类文档,管理者应重视文档的管理,齐全有效地文档可以为软件维护升级提供很好的帮助,而且也会为用户正确的应用软件提供一些帮助。
其次,软件开发中避免不了缺陷的产生,这就要求管理者对这些缺陷进行科学合理的管理,这关系到软件的生存发展!当产品到达了可评估质量的阶段时,管理者应根据软件本身的特性进行科学的质量评估!
基于以上这些因素,就引出了项目开发本身就存在的成本问题,一个项目需要投入大量的人力、物力、财力,从开发周期来划分的话就是“开发成本”和“后期维护成本”。在初期预算阶段可能因为考虑不周造成一定程度上的误差,所以在项目过程中就要进行合理的分析控制,充分利用软件成本估算技术和项目管理技术,从而达到成本管理的最佳效果!
通过学习,加深了对软件开发过程及项目理论方法和技术的理解,以便更好的运用到工作中!由于水平有限,时间紧张,涉及错误在所难免,如有不足,欢迎各位大虾批评指正!
谢谢!
2011年2月7日,星期一
01:07:43
来源:https://www.cnblogs.com/shanshan3261/archive/2011/02/08/1949971.html