课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,软件开发架构师成为了大多数程序员在谋求职业发展上的一个重要选择目标。下面我们就通过分析来了解一下,软件架构师都有哪些问题需要解决。
如果展开讲解产品定义过程,先需要进行需求梳理,关心用户反馈。但是,很多用户反馈并不代表其根本性需求。有很多用户反馈需求的时候,往往已经带着他自己给出的解决方案。这种需求反馈已经属于二次加工的需求,而非原始需求。这个时候我们要多问多推敲,把它还原到不带任何技术实现假设的根源需求。
产品都是通过提供相应的技术方案在满足用户的根源诉求,但技术一直在迭代进步,从而导致原有的解决方案过时落后,这种情况下需要新的解决方案出现。如果对用户反馈的需求全部满足,产品就会变得十分庞大,编程一个四不像的东西。
其次,在这个过程中,有些用户需求是稳定的,有些是变化的。举例来说,计算机系统结构从计算机诞生之后到现在没变过,但电子设备的形态发生了很大变化,从早的大型机,到个人电脑,到笔记本,到手机,再到手表,形态变化剧烈。但为什么计算机系统结构能够适应需求而不用改变架构,这其实是非常值得思考的事情,其根源就是对变化点的抽象,找到系统需求的变化点,预见变化并做对应的开放式设计。本质上讲,架构师关心产品的核心根源就是预测变化。
理清产品边界。同样以计算机为例,经过多轮迭代,多样化外设(键盘等)变化较大,但CPU、内存演进较小,所以在变化点上做相应的开放式设计是必要的。同样的,需要与合作伙伴做边界设定,把变化开放出去让合作伙伴做,只有这样的产品才能达到较好效果。
从产品和解决方案角度来看,产品往往需要适应很多行业,但这个过程会让产品变得非常庞大。在我看来,产品应该为行业解决方案提供能力,行业解决方案优先选择合作伙伴做,以更加开放的心态看待这件事情,避免把行业方案视作产品的一部分。
梳理需求中比较关键的点是市场策略,需要解决的需求有非常多现成的方案,但哪些方案是主流的,哪些是关键的都需要思考。虽然不能放大产品需求覆盖面,但也需要为某些关心既有市场的玩家做桥梁,这些桥梁也是产品的功能点。我倾向于认为关键市场可能会把既有玩家的能力适配到产品上作为很重要的功能,但是大部分市场主流方案我们还是提供“桥”,而不是自己解决掉。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。