《java架构师指南》如何在项目团队中做出正确的决策
java架构师需要能够做出决策并将项目或整个组织引导到正确的方向。
知道重点:不要浪费时间在不重要的决定或行动上。学习掌握关键点。据我所知,目前还没有一本书讲这方面的内容。个人评估某件事是否重要,通常考虑以下两点:
概念完整性:即使您决定采用一种方式,也要坚持下去,即使有时最好以其他方式来做到也是如此。通常,这会让概念整体上更简单,简化可理解性并简化维护性。
一致性:例如,如果您定义并应用命名约定,它就无关于大小写,而是以相同的方式在任何地方应用它。
优先级:一些决定是非常关键的。如果您不及早做出决定,将会有许多冗余解决方案无法在以后删除,从而导致维护困难,甚至导致开发人员无法继续开发直到做出决定。在这种情况下,错误的决定通常比没有决定要好。当然,遇到这种情况时,最好采用当前方案中的最佳解决方案。在这里,我建议研究一下在敏捷软件开发中广泛使用的加权最短优先工作(WSJF)模型。特别地,时间紧迫性和降低风险是评估架构决策优先级的关键。
明确自己的职责:不要决策在你能力或者职责范围之外的事情。这是至关重要的,如果不考虑的话,它可能会严重破坏你java架构师的地位。为了避免这种情况,一定要于你的伙伴们明确你承担的责任及角色。如果java架构师不止一个,那么你应该尊重当前的组织架构。作为级别低的一方,最好是给出建议不是决策。此外,我建议始终和同伴一起评审关键决策。
评估多个选项:在决策时,一定要有一个以上的选择。在我参与的大多数案例中,有不止一个(好的)选择。只有一个选择是不好的,两个方面:首先,似乎你没有做好你的工作,其次,它阻碍了做出正确的决定。通过定义度量标准,可以基于事实而不是直觉(例如许可证成本或成熟度)比较选项。这通常会导致更好、更可持续的决策。此外,向不同的利益相关者推销决策也更容易。此外,如果没有正确评估选项,则在讨论时可能会遗漏一些因素。
推荐阅读:《java架构师指南》架构师需要掌握的知识结构有哪些