你是否工作在这样的一个大公司里——他们工作效率缓慢,会议无穷无尽?你是否有被告诉去完成一个任务,去开发一个API,但你的不知道它会用在哪里,怎么用?你只是按照文档在技术上把它正确的实现?
“如何做”是一个开发人员在团队生活中需要知道的最有价值的信息。但遗憾的是,有些人却认为这是开发人员在项目中唯一要知道的事情。
我们不能这么认为。
如果不知道自己做的究竟是个什么东西,即使是最高效的Ruby on Rails家伙,最熟练的Spring开发人员,或PHP编程者,也不可能做出最有价值的东西。
你们中有多少人,曾经写出了API,但却不能说出它们将被在哪里、如何使用?有多少人曾生气的追问“你们要怎么用它们?我按照规格书里的要求把17个Web Service都开发完了,但现在你们只用了其中的4个。该死。”
我认为,一个开发人员如果想把工作出色的完成,除了要知道“怎么去做”外,还必须知道自己究竟做的是什么。
然而,知道做的是什么和如何做,这还不够。
我深信一个开发人员还需要知道和理解“为什么这样做“。只有当你知道这些后,你才能开发出最有价值的产品。
为什么会有这个项目?为什么需要这样的产品?该死,为什么会有这样的公司?每个人都需要问这样的问题。当知道并理解了“为什么”后,我们才能做出最优的解决方案。
知道了“为什么”,我们才能真正的理解项目的目标,产品的目标和公司的目标。它能激励我们,因为我们看到了大蓝景。
理解了“为什么”会使决策更加准确。
我们要坚持从是什么 和 为什么入手。这样我们就知道如何最好的去做了。
这一招对我很有效。而你又是如何走上成功之路的呢?
不错,在国内也是这样,在最近的一个合作项目中,就遇到类似的情况,需求分析人员做好需求,开发人员只针对文档来做事情,而他们对于产品的整个概括却很模糊,甚至都不知道自己在做什么,有点可悲o(╯□╰)o
这是合适的,为了不会造成大的问题。
Describe the problem.
Define the business need.
http://www.itworld.com/development/122237/how-to-tell-a-software-developer-what-you-want
需求不明确或者变更太快时,问题就来了……
开发人员和测试人员都应该明确的知道自己做的是什么,为什么要做,这样可以在需求不明确或变更时尽早的发现问题。
我觉得这个说的不错,很多时候都是因为不知道为什么要做这个,所以才没有产生更大的动力。
就好比你让一个人画个火柴棍人的时候,如果你不告诉他画什么,而是机械地告诉他,你需要在某某坐标画个圆,在下面从某坐标到某坐标画条线段……最后往往会变得很有趣。因为我们以为我们完整描述了一个需求的时候,其实是“如果他和我有同样的背景知识,那么他从我说的话中就能完全领会需求”。但很多时候,两人的背景知识很不相同。
说的挺好的。现在开发的nodejs,http://www.hubwiz.com
说的挺好的,最近也在发现了这个一个智能平台API,http://www.tuling123.com/openapi/cloud/proexp.jsp