【IT168 评论】个人认为,目前一个成熟的面向企业应用的软件开发组织,如果想很好的完成一个系统,必须包含以下几项要素:1、项目管理;2、软件工程;3、框架;4、合理的编程语言。而一个IT人才要想在此行业有所发展,则需要反向发展,由编程语言学起,直到可以对一个大型项目进行项目管理。
一、项目管理
本人所在公司的IT部门已经成立11年了,可项目管理方面做的依然十分薄弱。但毫无疑问,项目管理的好坏在很大程度上左右的项目的成功与否。没有很好的项目管理,会导致项目出现很多状况,下面举几个例子:
1、沟通不足
我曾见过很多新进员工头一次给用户打电话时颤抖的双手,这从一定程度上说明了程序员天生的内向性格,但也说明了很多软件组织面临的问题,即程序员的沟通能力普遍偏低。在自己老板和客户的双重压力下,很多必要的沟通都不能及时进行,以至于在项目进行中总是出现各种不愉快的事情。
2、责任不明确
当项目出现延期或其他状况时,应该由谁负责呢?这是个十分重要的问题。但项目管理没有做好的话,责任就变得模糊不清。例如测试问题,用户只期盼结果,但殊不知这个结果必须由他们仔细验收才行。在沟通不足的情况下,如果不能很好的要求用户配合测试,结果可想而知。程序员催着用户赶快测试,而用户却推脱没有时间的情况比比皆是。
3、进度难以控制
面对需求的不断变更,程序员的懒惰,技术难题甚至各种人员的离职,你是否已经做好了各种应对准备?如果没有很好的进度管理,这些都会使你手忙脚乱,痛苦不堪。最重要的是,最终无法达成交期,造成项目失败。
当然还有很多状况,在这里不做一一说明。总之,项目管理对于整个软件项目来说至关重要。
二、软件工程
在这里谈谈以面向对象为指导思想的软件工程。我曾经在Oracle ERP开发团队呆过一段时间,那是全套的面向过程的方法。而现在面向对象的思想如此火热,于是我坚定的站在了面向对象的阵营中。即采用用例来捕获需求,采用OOA来进行系统分析,采用OOD来进行系统设计,采用面向对象的语言进行开发。OOA的过程中,要懂得使用分析模式,而OOD的过程中要懂的设计模式。在不断的项目经验积累中灵活的运用这些知识,最终达到运用自如的境界。
曾看过一位高人解释对面向对象的理解,感觉说的很好:UML是形,OO是神。如果要把面向对象的开发过程分几层来划分的话,则最高层就是UML,第二层是OO,第三层是CMM。