Developers have long recognized the importance of the concepts underlying the systems they build, and the primary role concepts play in shaping user experience. To date, however, concepts have tended to be only implicit in software design with development being organized instead around more concrete artifacts (such as wireframes and code modules). Palantir, a software company whose data analytics products are widely used by major corporations, recently reworked its internal representation of its software development process to bring concepts to the fore, making explicit the concepts underlying its products, how they are clustered, used within and across applications, and governed by teams. With a centralized repository of concepts, Palantir engineers are able to align products more closely based on shared concepts, evolve concepts in response to user needs, and communicate more effectively with non-engineering groups within the company. This paper reports on Palantir's experiences to date, analyzing both successes and challenges, and offers advice to other organizations considering adopting a concept-centric approach to software development
翻译:开发人员长期以来意识到在构建系统时概念的重要性,以及概念在塑造用户体验方面所起的主要作用。然而迄今为止,在软件设计中概念往往只是隐含的,开发围绕更具体的实体(如线框和代码模块)进行组织。Palantir是一家软件公司,其数据分析产品被大型企业广泛使用,最近重塑了其软件开发过程的内部表示,将概念置于前沿,明确了其产品的概念基础,以及这些概念如何在应用程序内部和跨越应用程序被聚类和使用,并由团队进行管理。通过拥有一个集中的概念存储库,Palantir的工程师能够基于共享的概念更紧密地对齐产品,根据用户需求发展概念,并更有效地与公司内部的非工程组进行沟通。本文报告了Palantir迄今的经验,分析了成功和挑战,并为考虑采用以概念为中心的软件开发方法的其他组织提供建议。