全球旧事资料 分类
为“能帮助客户正确提出需求”是程序员职业素养之一,可见在程序员内部已就此达成了相当的共识。认为“能使客户需求更完善”是程序员看重的职业素养之一,占到此次调查的5513,这说明超过一半的程序员认识到,帮助客户完善需求会节省双方的时间和精力。
那么如何才能提高自己的需求分析能力呢?以下分享几个有关需求的小技巧:那么如何才能提高自己的需求分析能力呢?以下分享几个有关需求的小技巧:
1尽量提高自己的表达和沟通能力。良好的表达和沟通能力能在客户不能清楚表达需求时,融入到客户组织内部,了解客户的工作流程,与客户共同更好地、更准确地定义和分析需求。此次调查中6090的被访者认为沟通能力是程序员应具备的基本能力,但只有2885的程序员认为“表达能力”是程序员必备的基本能力。沟通固然很重要,但我们更应该进一步认识到准确表达自己的观点和意见也是成功沟通的基础之一。如果只“沟”而不“通”仍然是在浪费方面宝贵的时间。
2应用多种方式了解需求。常用的方法有:问题分析法和建模分析法以及几种方法的结合。比
f如在问题分析法中应用面向对象的思想,与客户的员工谈话,访谈首先要面向工作流程,面向任务,面向角色,也就是用面向对象的思想帮助客户理清思路。
3不臆测需求。如果有专门的需求工程师,有一点要特别强调,就是在编码过程中当需求不明确时,必须与项目经理或需求工程师及时沟通,程序员不能自作主张地猜测客户的需求。
4不过度承诺。很多销售人员拿到项目,向客户大包大揽,甚至完全不顾公司的现有开发能力向客户承诺很多功能。在定义需求阶段,一定要向客户说明“什么是我们能做的,什么是我们应该做的,什么是我们不能做的”。很多时候过度承诺导致了新功能无法实现的同时,原有功能也受到影响。在此次调查中,有5962(近六成)的被访者正确地认识到对客户提出的不合理需求拒绝得当也是程序员职业素养的一个重要方面,这是非常难得的。
案例二:案例二:严格开发流程的团队B
国资委某下属集团公司要上OA系统,C公司在研发能力、价格两个方面以综合分第一的成绩竞标成功。拥有10年项目管理经验的李石被任命为项目经理,并由他组建团队。李石对团队成员只有三个要求:分析能力、产品意识、较强的团队意识。
初选方案
需求确定后,项目有两个方案:更流行的BS模式和传统的CS模式。李石安排两个程序员前期负责选方案,分别基于两种模式开发用户权限管理系统的原型,给大家做演示,并结合r
好听全球资料 返回顶部