项目的本性与最佳软件开发过程

“见地”永远要依靠持有见地的人。
 见地是你所立足的那个平面,见地是你决定如何看待事物的标准。广义上来说,见地可分为两种:传统性的见地与理论性的见地。
  “传统性的见地”,就是普通人看待事物的方式。从人类到蚊虫,每个众生都有他独特的见地。除此之外,还有群体的见地,这是指某个特定团体的成员所共有的相似观点。绝大部分的人类中,对于什么叫做女人,都有相同的看法;而团体中的每一分子,又有他自己的观点。贪欲炽盛的人,认为女人非常可爱,把她们当作性对象;同样的一个女人,对于一位持戒精严的修行者来说,就是丑陋、恶心、臭秽、不净的,有些宗教狂热分子甚至把女人当成低等生物。人类认为身体很珍贵,从蚊子的观点而言,人的身体就是一个卖着许多美味饮料的酒吧。
  更精确地讲,传统性的见地就是不受任何理论分析系统影响的见地。这种见地以常识来接近真理,不牵涉到分析,它认为事物表现出来的状况理所当然地就是真实的状况。譬如,农民根本不用分析就知道牛有没有角,他只要用眼睛看一下,然后把看到的现象当成事实;他也不会去想,到底牛角从哪里来,或是牛角的本性如何[][很多程序员,被称呼为码农, 因为还满足于现象等于事实的思维习惯上]。 如果不想和农民画等号,首先要改变自己的思维模式。
  
  “理论性的见地”就是以某一种特定的分析系统去看待心、现象和组成“实相”的其他部分。这种见地 ,比如包某些哲学体系、某些现代科学。
  大体而言,我们对有些事物抱持着传统性的见地,对其他事物则抱持着理论性的见地,有的时候则在两种见地之间换来换去。

两种见地
   一件事物可以从两种观点来分析:“它的显现”以及“它的本性”。每件事物都包含这两面,连你正在看的这本书也不例外。因为你所受到的影响,所以“它”显现为一本书;对于一只小虫子而言,它可能显现为一种食物。因为所受到的影响不同,所以它的显现也就不同。与这共存的另一真理,则是超越一切影响的本性[什么是本性,先说明了 显现]。
  记住,一种见地,只有当有人持有它的时候才存在。假设甲、乙两个人同样看着某座雪山,甲用自己的肉眼直接看雪山,乙则戴了琥珀色的太阳眼镜[眼镜和雪山作为比喻来说明 显现和本性, 以及见地]。太阳眼镜干扰了乙对于山的观察,所以在乙的观点中,山呈现琥珀色。甲可以直接看山,没有干扰,所以“雪山的显现”对他而言是白色的,同时也是“山的本性”;乙虽然可能知道雪山应该是白色的,但只要他戴着太阳眼镜,就只能看到“山的显现”,而看不到“山的本性”。不仅这样,如果乙一出生就戴了有色眼镜,那么他根本就不知道什么叫做白色,对这样的乙来说,世界上存在的雪山全都是琥珀色的。
  事物的显现与事物的本性,并非分离的两种真理,而是一体的两面,只有当有非实相的见地时,才有所谓实相的见地。对甲而言,“山的显现”与“山的本性”完全一致,因此,所谓两种真理,也就是有一种状况叫做实相,另一种则是歪曲掩盖实相的虚假状况的概念,根本无从产生。
  但是我们怎么知道甲所知道的白色的“山的显现”与“山的本性”一致,而乙所知道的琥珀色山就不是呢?那是因为我们明白琥珀色眼镜干扰了乙的色觉,使他根本不可能见到“山的本性”——乙的看法经过过滤,甲则没有。所谓看见“它的本性”,其实就是在观看时没有受到干扰罢了。
  现在我们要用太阳眼镜和雪山的例子来说明两种真理,也就是古典佛教哲理中的两种见地。戴太阳眼镜看山的乙,代表了主体自我透过烦恼的滤光镜看客体世界。如果主客体之间或是观察者与景色之间存在着某种干扰或滤光镜的话,所得到的见解就称为无效的或相对的真理;两者之间没有干扰或滤光镜存在,所得到的见解就是绝对真理。换句话说,相对真理就是透过滤光镜的“它的显现”,绝对真理则是实相没有透过滤光镜的“它的本性”。

最佳软件开发过程不是有个抽象的模式可以到处套用,放之四海皆准,而是具体的,个性化的。每个一个软件项目,每个主力程序员(架构师)所面对的不同的软件项目 都存在着最佳开发软件过程。 而能否找到当下所缘的软件项目的最佳软件开发过程,取决于能否不带有色眼镜如理如实地看待当下的这个项目, 找到了当下项目的“本性”。 常见的情况是,有某个开发模式或者某个软件技术, 拿着锤子看什么都是钉子。 有的时候技术能力就是有色眼镜。
  主力程序员是那个项目的推动者,是项目的领导者,而不简单是个技术实现者,他的动力来源,不只是自己技术方面的身份,而是希望项目获得成功,吸引更多用户,给更多人带来便利,让更多用户喜欢,以及达成这个结果的过程也是一种平衡, 软件开发团队和用户利益的平衡。
只要有助于沟通、开发效率的提升,开发模式或者软件技术仍然会被利用。
主力程序员不受这种身份的左右是需要勇气的,我们往往需要种种身份保护自己。
项目除了显性的,比如一般的功能,技术指标,团队人数等,还有一些隐性的,比如发布的进度要求、受竞争影响的时间窗口、软件团队的士气、心理能量,软件团队和其他部门的沟通,主力程序员自身的修养,对项目的理解,能以用户、使用者的角度考虑问题的主力程序员是最佳的候选人。随着开发经验的丰富,一个技术领导者,会认识到更多的隐性的部分。
他应能熟练的应用大家习惯的行业术语和客户、用户沟通, 也能熟练的用市场、财务方面的术语在公司内部沟通,还能用软件开发者习惯的术语在软件团队内部沟通,这种沟通可能针对资深软件工程师,中级、初级工程师又会有不同。
他能如实的观照到项目的本性,心态足够好,不受外在势力的影响,又能有力的影响到外在的各种势力。
主力程序员是最佳软件开发过程的重要角色, 项目的”本性“也许永远无法完全被认知到,只能很大程度上的接近,因而主力程序员不敢说正在实践最佳软件开发过程,但是主力程序员会认识到这样反而是最好的, 他不仅仅是关注自身能力的提升,更关注不断完善内在。在追求最佳软件开发过程中,接受各种不完美,在寻求清晰规范的需求的同时, 以良好的心态接受需求变更的种种无常, 管理好需求的变更。
当需求变更反馈到自己面前,既不盲目的执行,也不习惯性的反弹。仍然是保持警觉的心,以不带有色眼镜的方式去观察 项目的本性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值