1、先找到所实现功能的主干,将它们梳理清楚。针对此,分析如何去解决问题,一定要铭记于心的是,抓住问题的主要矛盾,暂时忽视掉次要矛盾。
2、看需求文档时,找出用户为何做特定事情的原因,而不只是他们目前做这件事的方式,用文档记载需求背后的原因。
3、在面对棘手问题时,罗列出所有可能途径。不要排除任何东西,不管它听起来有多无用或愚蠢。
4、当面对一件任务时,如果反复感觉到疑虑,或是体验到某种勉强,要注意它。你可能无法准确地指出问题所在,但给它时间,你的疑虑很可能就会结晶成某种更坚实的东西。
5、判断是在拖延还是在负责地等待所有工作准备就绪,一种行之有效的技术就是开始构建原型。选择一个你觉得有困难的地方,开始进行某种“概念验证”。在典型情况下,肯能会发生两种情况:一种情况是,开始后不久,你可能就觉得自己是在浪费时间,这种厌烦可能很好的表明,你最初的勉强只是希望推迟启动,放弃原型,回到真正的开发中;另一种情况是,随着原型取得进展,你可能会在某个时刻得到启示,突然意识到有些基本的前提错了,不仅如此,你还将清楚地看到可以怎样纠正错误。你将会愉快地放弃原型,投入正常的项目。当你决定把构建原型当做调查你的不适的一种方法时,一定要记住你为何这样做。