在缺乏专业知识的技术中设计架构

ano*_*joe 6 architecture wpf

在我的公司,我们正在为我们的产品创建一个新的软件架构.我们当前的架构已经用于许多产品迭代,并且使用寿命很长,现在是它退休的时候了.UI体系结构目前在WTL/ATL 3.0和COM中实现.

我们刚刚完成了后端架构的设计,这个架构将像其前身一样经得起时间的考验.然而,UI技术发展得如此之快,以至于我们团队中的任何人都没有我认为需要的专业知识才能建立一个应该持续多年的基础.我们目前针对此架构瞄准WPF,并考虑各种替代策略,以帮助我们缺乏此技术的专业知识.我们正在考虑的一些方法:

  1. 让我们经验丰富的员工加入WPF并完成体系结构 - 对这种方法的关注是,在使用这种架构实现了许多产品之后,我们需要UI层持续的区域以及所需的所有学习内容才会获得.

  2. 从咨询公司获得临时专业知识,以协助建筑和开发 - 这种方法看起来很有前景; 有专业知识的公司的建议?Microsoft不提供应用程序和体系结构顾问,因此找到具有必要专业知识的人可能会遇到挑战.

  3. 引入一家咨询公司进行建筑学研究和指导会议 - 看起来很有吸引力,因为它可以提供我们的经验人员指导,同时仍然允许我们的领域知识指导建筑的方向.可能很难找到有资格获得此类服务的公司.

那么我的问题是你是如何解决类似情况的,你必须利用你的团队目前没有架构师级别知识的新技术来创建一个强大,丰富,长期的架构?您是否已经获得了前面提到的任何策略的成功,还是有其他我完全错过的方法?

总的来说,我不是以这种方式使用您不熟悉的技术的倡导者.考虑到这一点,我们认为WPF可能提供的用户体验将为我们提供多年来我们想要使用的功能.无论如何,你必须从某个地方开始.;-)

S.L*_*ott 6

您最终必须学习所选的GUI.

作为进入这类项目的外部顾问之一,我建议对选项#2进行修改.

  • 聘请一两名外部顾问.

  • 让他们引导您完成类似您的选项2.您实际上学习WPF,然后(在他们的帮助下)开发架构并实现它.

您的后续问题("对具有专业知识的公司的建议")令人不安.如果您没有值得信赖的技术合作伙伴,现在是时候开始培养它们了.找到值得信赖的人需要一段时间.

找到他们的唯一方法是付钱给他们做一些工作,看看你是否喜欢他们和工作.这个过程可能需要很长时间.

自己做#1的问题是显而易见的.如果你试图在没有专家的截止日期前这样做,你就会犯错误.你会把这些错误变成具体的.你会试着永远和他们住在一起.在学习新东西时,日历是最容易想到的东西.

选项#1在没有时间压力时起作用.你在学习的同时建造一次性的东西.然后建立一些你知道你将不得不扔掉的东西.然后建立真实的东西.

做#3的问题在于你可能会要求顾问做太多.如果他们计划您的架构,您可能不会完全理解它.你会偷工减料,可能会发生坏事.如果 - 另一方面 - 你自己做,你会明白为什么不应该削减这些角落.

此外,#3是您在认为可能很酷的每个功能中打桩的机会.在你了解这项技术之前,你并不真正理解什么是必不可少的,什么是简单的,什么是困难的.你很可能会要求一些昂贵且有风险的东西,因为它很难准确理解它的价格和风险.