在进行软件类产品分析、设计、实现的过程中,常常面临这样的问题,用户、需求提出者认为一个功能“很简单”也就一句话的事,为什么到了分析设计或开发实现手里,会认为这个功能并“不简单”。为此不少出现沟通问题。
在近两年AI软件开发渐渐展露的过程中,将软件产品失败率如此之高的一个因素埋的更深---沟通管理的重要性。因为不少人以为在接下来的时代,似乎不需要研发、AI就可以更深刻的理解用户、更高效的产出成果物。当然这就和美颜相机的效果一样,究竟磨掉了多少细节,不得而知。
一个复杂系统究竟如何从构思变成一个实际作品,在数字化时代,“知-行”之间的鸿沟更加明显,不同的人对一件事的抽象粒度不同,就造成实现路径抽象不同,对实现路径的认知不同,就会造成对产品实现难度理解的不同。
举个例子:创建一个API接口(API能将大量的复杂细节隐藏在接口之下)curl
执行命令: curl -IL http://www.baidu.com
执行结果:这条命令执行后会访问www.baidu.com网站,并在执行命令参数中使用-I以显示HTTP响应的头部信息,-L自动重定向命令执行过程中的所有HTTP请求。与服务器建立远程连接涉及多个不同单元的操作:从DNS访问(域名解析为IP地址)——> 同各服务器进行通信(TCP协议创建持久连接等)——>根据第一个请求的结果进行重定向——>将网站访问请求重定向到一个HTTPS的URL该操作需要在之前访问地址的基础上添加一层验证加密(SSL)。
另外, 对比史诗级建筑圣家族大教堂的故事(略),高迪常说:“我的客户(上帝)不着急。”,但是软件领域的所有客户几乎都很着急,各种敏捷方法提出就足见一斑。在快和好之间、方法论的科学性并不能被当成万灵药。当然慢也不一定好,就像当下手工产品并不都比工业制造好,还得看用心程度。核心问题还是在理解上出现了偏差。很多时候,常常听见“我就想要这个结果,我不关心也不在乎过程。”,这句话隐喻“康威定律”所说内容。往往很多事在还没有开始做,就基本可以遇见其结果。只有一种例外,那就是在实践执行中有坚守目标的韧性、还保有一定的灵活性。
用户与开发者对功能实现难度认知差异
5343

被折叠的 条评论
为什么被折叠?



