关于系统开发的服务器和基础设施相关的法律问题
![关于系统开发的服务器和基础设施相关的法律问题](https://monolith.law/zh-cn/wp-content/uploads/sites/44/2024/05/shutterstock_755911249-1024x614-1.jpg)
在企业中使用的IT系统在某种意义上是通过编写规格书和设计书,然后编写相应的源代码来创建的。然而,系统的实际运行不仅仅依赖于这些软性的方面,还需要物理的计算机,即基础设施。本文将解释在系统开发项目中,与基础设施领域密切相关的法律问题。
在IT系统中,基础设施是什么
进行系统开发的技术人员被称为系统工程师(SE)。开发项目从上游工程如规格书和设计书的编制开始,然后实现程序并进行测试,这是大致的流程。虽然可以解释说,广义的系统工程师(SE)是承担所有这些所需工作的技术人员,但根据公司或工作场所,可能会根据负责的工作内容和领域进一步细分名称。基础设施工程师这个称呼是指在IT系统的开发和运营工作中,特别是负责维护物理计算机运行环境的技术人员。在公司或工作场所使用的IT系统在某种意义上是由源代码组合而成的抽象构造。然而,为了使该系统能够发挥其本来期望的作用,建立服务器和网络等基础设施周围的环境是必不可少的。系统开发的实务是通过程序源代码的实现和支持其运行环境的基础设施周围的环境建设的双轮驱动进行的。这种观点被认为对预防意外故障的发生也是重要的。
具体的场景:基础设施问题导致项目“起火”
![](https://monolith-law.jp/wp-content/uploads/2019/10/shutterstock_1532780735-1024x620.jpg)
在系统开发项目中,过于专注于抽象的程序和源代码设计,而忽视了基础设施维护的视角,这种情况在现实中是可能发生的。然而,如果这两者的步调不一致,有时可能会导致项目的风险。
服务器尺寸错误引发的争议案例
例如,程序的实现和测试等全部完成后,最终发现服务器的处理能力不足,系统无法承受实际使用。此外,预测系统在运行阶段可能承受的负载,并进行与系统规模相匹配的基础设施维护,这被称为“尺寸”。由于服务器尺寸的错误而导致问题升级的案例在过去确实发生过。(虽然最终通过和解解决,但可以参考这个著名的案例。)关于双方当事人的争议以及通过“和解”处理解决问题的方法,我们在以下文章中进行了详细解释。
https://monolith-law.jp/corporate/disputes-related-to-system-development[ja]
争议通过和解达成了解决,简单来说,就是双方当事人通过“对话”解决了争端。因此,与法院判决的情况不同,和解内容通常不会作为判例积累,而是具有很强的个性。
案例的本质是供应商对不明确规格的责任范围
然而,这种争议的本质可能是“对于没有明确规定的事项,供应商应承担多大的责任”。考虑到这一点,我们可以从以下文章中获得很多提示。
https://monolith-law.jp/corporate/system-development-specs-function[ja]
在上述文章中,我们解释了供应商在规格书中未列明的事项中,应该发挥多大的自由裁量权并承担实施义务。在这里,我们解释了在需求定义书和基本设计书等可以轻易可视化的“屏幕端”事项(即所谓的“前端”领域)和数据迁移等“逻辑端”(即所谓的“后端”、“数据库”领域)的情况大不相同。也就是说,通常对系统开发项目没有专业知识的订购者/用户可以轻易确认规格问题的“屏幕端”领域,订购者/用户更容易被归咎。另一方面,“逻辑端”的问题,更容易归咎于接受者/供应商。考虑到这些因素,服务器尺寸的问题主要是技术专家才能识别问题所在的领域,因此更容易归咎于接受者/供应商。因此,如果真的要在法庭上就这个问题进行全面争论,除非有积极的理由免除接受者/供应商的责任,否则预计接受者/供应商可能会受到不利的判断。
防止服务器尺寸错误所引发的问题的措施
![](https://monolith-law.jp/wp-content/uploads/2019/10/shutterstock_1501344230-1024x717.jpg)
为了预防上述的问题,将程序的实施、源代码的编写等业务与基础设施周围环境的准备步调一致是非常重要的。具体的措施可能包括以下几点:
在合同中明确服务器尺寸责任的归属
不仅限于这类案例,关于系统开发项目的许多争议,往往源于系统开发专家(供应商)和了解公司内部情况的用户之间的角色分配不明确。双方的紧密合作对于项目的顺利进行是必不可少的,但在此过程中,通过合同等手段尽可能明确角色分配和责任范围是非常重要的。
具体化开发需求,完全进行变更管理
此外,如果要实现的功能需求模糊,这种争议的风险也会增加。这包括在项目初期的需求定义阶段明确规格,以及在项目中途进行变更管理两个方面。关于项目中途如何应对规格变更的问题,我们在以下文章中进行了详细解释。
https://monolith-law.jp/corporate/howto-manage-change-in-system-development[ja]
选择符合项目性质的开发模型
此外,与上述两点的对策深度相关的是,根据系统开发项目的性质和规模等选择适当的开发模型是非常重要的。一般来说,对于服务器尺寸可能变得重要的一定规模以上的系统开发,采用适合明确规格和责任范围的瀑布模型的优点会增加。关于根据项目性质选择适当的开发模型的问题,我们在以下文章中进行了详细解释。
https://monolith-law.jp/corporate/legal-merits-and-demerits-of-development-model[ja]
总结
为了系统开发项目的顺利进行,以基础设施周围的环境整备为起点的问题,往往容易被忽视。对于非技术专家来说,关注到基础设施周围的问题并不是一件轻松的事情。然而,这些问题的预防措施可以说是“明确规格/彻底的变更管理”、“明确角色/责任范围”、“根据项目规模和预算选择开发模型”等基本措施的延伸。企业法务人员首先需要理解的是,对基础设施问题的预防法务基础是完全可以推广的。另外,如果是IT领域的技术人员,理解基础设施问题可能成为项目严重的风险,并顺利地进行实务管理是非常重要的。
Category: IT
Tag: ITSystem Development