主要观点:
- 公司
ORG
依赖集成服务SaaS
,后决定用内部构建的系统SVC
替代SaaS
,工程师X10
按时完成SVC
建设并离开,TEAM
接手后难以对SVC
进行修改,系统多次变更后成为“遗留软件”,成员对其理解不足。 - 软件开发不应仅注重生产代码,而应重视软件设计中的理论构建,即程序员需构建对系统的认知模型,否则软件易老化、维护困难。
TEAM
难以接手SVC
是因为X10
带走了开发上下文(认知模型),系统虽仍运行但已“死亡”,TEAM
需重建理论使其复活,虽艰难但有可能,且我们应重视这对未来工作的影响。
关键信息:
ORG
从无限预算模式转为需明年盈利,发现SaaS
花费高,决定用SVC
替代,X10
按时完成后离开,TEAM
接手后表现不佳。- David Parnas 指出软件维护者不理解原设计会导致软件结构退化,Peter Naur 认为大型程序的持续修改依赖于程序员的理论构建,Zach Tellman 认为软件开发就是不断解释软件意义。
- 软件设计活动应减少复杂性以促进理解和解释,
TEAM
需重建SVC
的理论模型,虽艰难但可能,我们应重视这对未来工作的影响。
重要细节:
ORG
依赖SaaS
decouple 业务逻辑与其他软件。- 分析师发现
SaaS
花费高,高管决定用SVC
替代,X10
独自在紧张时间内完成。 - Parnas 强调理解原设计对软件维护的重要性,Naur 指出程序员需构建对程序的理论,Zach Tellman 认为软件开发是不断解释。
TEAM
接手后难以对SVC
进行修改,系统成为“遗留软件”,TEAM
需重建理论使其复活,作者认为虽艰难但可能,且应重视这对未来工作的影响。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。