信息谷 - ICITU

标题: 软件开发管理的反思 [打印本页]

作者: vdianwang    时间: 2024-7-21 19:56
标题: 软件开发管理的反思
随着软件开发越来越庞杂,对软件的管理工作带来了一些挑战。管理工作不能再像以前一样呈混乱状态。以下几点反思,希望对以后的管理有所借鉴。
管理者需要对整个项目的整体有所把控。管理者需要对项目开发适用的流程,标准和需要交付的产物有清晰的认知。不同的流程对后续的项目管理,软件开发,测试会有不小的影响。这些影响分解开来,对应的是一系列的计划(包括项目计划,人力计划,测试计划……),策略(包括项目的开发策略,测试策略,文档管理策略……),问题管理,标准,主要指软件通过何种测试或者检测,是否需要功能安全及相应的安全等级,另外一个就是,产品的交样的阶段,以及每个阶段需要达到的标准。这些标准最好是在项目开发起始就定义清楚,这样相应的工具链,环境配置和对软件开发的影响可以提前准备和评估。交付的产物指客户需要提交或者评审的产物,产物可以使文档,软件代码,产品总成,证书等等。当这些在管理者头脑中都很清晰的时候,才可以把整个项目管控起来。如果是一个比较大的项目,或者流程比较复杂的项目。管理者需要详细的规划和跟踪。对于这样的项目,管理者首先要自我评估,是自己一个人管理所有的任务;还是管理部分,其他放权给其他人,自己掌控脉络。这一点很重要。如果管理不好,对于大的项目或者流程复杂的项目很容易失控或者失败。
任务的分配与跟踪在有了对项目流程的整体把握后,想把项目做好,最好的方法是把项目中的大的事情分解成独立的开发任务,并且分配出去。同时作为管理者需要在心态上有所调整,不能把太多的任务放在自己的手中,你必须明白一个人的精力是有限的,只有大家合力才可以把整个项目推向成功。任务的分配需要根据成员的能力,责任心,当前的状态来分配任务,一定尽量避免分配的任务无法完成。在任务分配好了之后,需要制定详细的计划,以便跟踪其状态。计划的指定需要成员一起制定,计划是成员对团队的承诺。成员自己指定的计划才能有更好的约束力。计划中的内容最好具有连续性,意思是前一个计划和后一个计划一定需要有关联性,比如一个模块是A开发的,那么后续这个模块的静态检查,单元测试,同样是A来做。否则有其他人来做会造成混乱和冲突。计划完成后,项目成员需要周期跟踪计划的实施状况,一周为单位或者月都是可以的关键看计划的颗粒度。
跨部门合作对于多数项目来说,跨部门合作是避免不了的。跨部门合作的最大问题是:他们的资源很多时候调度起来是很难的。这里的原因有对方部门相关的资源不止分配到你的项目上,有对你的项目设定优先级比较低,还有可能是对方部门相关的人员责任感不强或者不配合。对于以上的问题,各个公司内可以想到的办法应该是不一样的。即考验个人的魅力也考验对事情灵活处理的能力。但有个前提是:无论如何扯皮,都要对事不对人,事情过后,该怎么相处还是怎么相处。因为大家的合作不可能因为一件扯皮的事情就停止了。后面合作的地方还多着呢。
成员的激励为了推动整个团队持续向前进,激励机制是个很有效的方式。但是需要注意方式方法,最好是成员投票加领导裁决。不过这里需要保证激励的措施是使团队向前而不是造成团队内部分裂。有时候感觉这些事情的处理很玄妙。语言有时候不能很好的描述,什么情况下如何处理更好。需要在现实中慢慢磨练。
繁琐任务的处理每个项目中都有大家感兴趣的事情,大家不愿因做的事情。但是这些事情又都是项目的重要组成部分。这些工作除了需要遵从上面所说的任务的连贯性以外,这些繁琐的任务应该平均分配给各个成员。所谓不患寡而患不均应该也可以用在这方面。
领导心态的建立很多时候领导者承担的是管理和兜底的作用。做得最多的事情是沟通协调。同时需要顾及不同方面的感受,对不同的人使用不同的说话方式,有时候会感觉自己很虚伪,感觉自己是一个有多重性格的人。在这个过程中撕裂这自我。这需要自己做好自己的心态的建设,记住这只是在工作,我们的目的是通过这些方式来完成自己或者公司的目标。通过一段时间的磨炼就会很快的适应这样的方式。
上面是自己在管理中总结的不成熟的经验,希望对大家有所启发。






欢迎光临 信息谷 - ICITU (https://icitu.com/) Powered by Discuz! X3.4