返回第二十三章 众妙之门(第1/5页)  以赎之名首页

关灯 护眼     字体:

上一章 目录 下一页

    l公司的入职培训分6个课程,为期三天,分别为:企业介绍c软件项目管理c软件质量管理c项目团队协作i体系介绍c公司管理制度。

    第一课:企业介绍,由行政部经理主讲,无非是企业发展历程c部门机构c公司价值观c愿景c文化c高管介绍等内容。短短几年,就杀入了营业额数亿俱乐部,够吓人的。当然这个数字的背后依赖于什么,大家心知肚明。同时入围深圳软件百强企业,什么双软c高新技术认证更是不在话下了。无非是培养新员工的自豪感和归属c认同感。

    第二课:软件项目管理,由研发部的高级项目经理主讲,这个课题内容范畴有点大,大学软件工程专业课就有所涉及,但讲师结合项目实际讲解得更为实用,从需求c设计c开发c测试c上线部署c运维全程讲解了各阶段的文档输出,其中涉及项目计划c度量c配置c监控c评审c风险c产品集成等诸多内容。

    软件仅仅是编码吗?我想不仅仅是外行人,很多行内人的理解恐怕也仅仅停留于此。第一次在系统工程的层面去理解软件,改变了我狭隘的认知。

    软件开发的真实目的是什么?客户要的不是代码,而是利用这些代码的辅助来实现其商业目的。需求分析需要关注和收集什么?仅仅是客户提什么就实现什么吗?对于开发人员来说,只有编码唯一一项工作吗?一个软件的全生命周期里,交付运维后的生命存续通常占据了整个生命周期的90以上,交付上线项目即告完成了吗?在决定项目成败的前几大风险因素是什么?据统计倒还不是技术类风险,依次为:需求不明确c需求变更c分析不完善(客户/范围风险),其次是人员流动(内部风险)c质量控制(质量风险)c进度延迟(进度风险),最后才是技术c外部环境风险,前2者导致项目失败的情况占据了90以上。一个项目组成员如何搭配,是人越多越好吗?项目监控仅仅是上线前才关注的事情吗?客户需要对整个项目做哪些阶段确认?这种知识和经验的受益在学校是无论如何也学不到的。

    第三课:软件质量管理,由质量管理部的经理主讲。她首先询问我们:“到底什么是产品质量?”符合用户需求c0缺陷c可靠耐用c用户满意大家的回答不一而同。工业化生产有质检环节,是保证产品质量的最后一关,那软件产品本身呢?是软件就会有bug,仅仅依赖于交付前的测试?软件质量与系统分析/设计/开发人员都无关吗?我们到底又如何去理解和保障软件质量?

    她首先列举了几位大师的观点,对我的认知是为之一震的:

    1质量就是符合要求的,而不是最好的;

    2质量系统的用来预防的,而不是用来检验的;

    3质量的标准是零缺陷,而不是差不多就好;

    4质量是设计出来的,而不是检查出来的。

    以此为论,软件产品的质量是要从源头需求调研c软件设计抓起,是需要全角色成员的参与,而不能完全依靠测试人员。对于需求分析阶段,需要尽可能地明确系统设计目标,充分准确把握客户需求并确认,尤其是潜在需求c非功能性要求;在系统设计阶段,除需要设计出满足范围内需求的全部功能外,还必须考虑系统的扩展c容错和可靠性,而不是勉强能用;对于开发阶段,开发人员绝不能仅满足于实现功能运行无误就行,还必须考虑极端情况下的输入项验证c对高访问量c高并发情况下的支撑c良好的ui交互c用户的操作习惯c极端异常操作下的各类容错处理等等,并且开发人员对自己开发的程序必须要进行单元测试,不仅仅是ui上的鼠标点几下操作,连代码内部细节通过肉眼都要进行审查和优化,注释和文档与编码工作一样重要;在系统测试阶段,除了常规的集成测试(综合测试)c系统测试(业务测试)之外,还

『加入书签,方便阅读』

上一章 目录 下一页