译者|这是一种快乐。然而,在创业世界中,这种心态有时是有害的,尤其是在与新的商业伙伴或客户合作时。我将培养产品开发技能的最佳方法归结为一个简单的规则:混合。这种组合涵盖了产品开发的所有方面,包括个人和公司层面,从最初的想法和员工组建到开发能力和业务增长。这个概念已经被提出并使用了很多年,事实证明,混合方法对于现代企业来说是必不可少的。根据我的个人经验,我将讨论混合产品开发技术如何提高可持续性和提高效率。1.什么是混合软件产品开发?混合软件产品开发是一种开发软件产品的新方法,它结合了两种不同模型(传统瀑布模型和敏捷模型)的优点。典型的瀑布模型具有连续的阶段,例如需求收集、分析、设计、实施、测试和部署。当需求明确且项目范围不变时,此模型将运行良好。在敏捷模型中,有多个执行周期(称为迭代)以适应需求或范围的变化。在混合开发模型中,您可以在单个项目中结合瀑布和敏捷方法以获得最佳结果。例如,您可以在项目的开发阶段使用敏捷方法,在其他阶段使用瀑布方法。或者,您可以对产品的某些部分使用基于迭代的敏捷方法,对其他部分使用瀑布式方法。2.混合产品开发的好处混合方法结合了瀑布方法的规划阶段和敏捷方法的迭代方法。当你采用这种方法时,你有一个清晰的工作计划,但与此同时,你有足够的灵活性来适应客户需求的变化。具体好处如下:使您能够在多个维度上工作创建更高效??的流程缩短开发周期降低成本和风险产品可以更快地推向市场更多颠覆性方法3.采用混合方法进行产品开发的4个理由(1))混合模型加速软件开发的进程混合模型是在软件开发的各个阶段加入更快速高效的方法。它旨在解决传统软件开发模式中可能出现的问题,因此,它是开发创新产品的更好选择。在敏捷环境中,用户需求被分解成许多小模块,然后进行开发。这些模块分为2或3个阶段。所有这些阶段均由内部团队开发并由QA测试。产品负责人必须在每个模块完成和发布之前对其进行确认和批准,从而确保一切按计划进行,并确保客户最终得到他想要的产品。(2)新功能带来的产品差异化可以更快更容易地推向市场。软件开发是一个迭代过程,不同的团队可以同时开发同一个产品。最终用户可以实时更新、添加新功能并及时修复错误,而无需等待主要版本发布。这意味着新功能带来的产品差异化可以比以往更快、更容易地推向市场,这对小型企业来说非常重要。这也意味着在产品准备就绪之前没有理由阻止发布产品。过去,软件价格昂贵,发布难度大,企业只能等到产品“完美”后再发布。但现在,我们没有理由不提早发布版本,根据用户反馈迭代版本。(3)降低总体拥有成本对于大多数IT组织而言,云服务提供商的运营成本远低于在传统数据中心运行工作负载的成本。此外,云服务可以减少或消除资本支出。无论您选择哪种云模型(公共、私有或混合),如果您订阅软件即服务(SaaS)或基础设施即服务(IaaS),TCO将会降低。即使您将应用程序托管在私有云中的服务器上,您也可以通过高效的操作实现显着的成本节约。(4)更灵活:对自定义代码的依赖更少我们都有过这样的经历:项目进行到一半,客户想增加一个功能,需要自定义插件。除了插件相关的主题,其余几乎没有变化。但是当他们因为对设计不满意而想要更改主题时,您不想更改主题,因为自定义插件仅与您为他们构建的主题兼容。在这种情况下,最好的解决方案几乎总是重构代码,以便自定义功能存在于其插件中。这样,您就可以继续完善您的主题,而不必担心破坏其他任何东西。如果您想要更大的灵活性并依赖更少的自定义代码,则此方法很有用。您可以为特定功能构建插件,然后在多个项目中重复使用它们,而不必每次都重写它们。4.如何应对混合产品开发的挑战(1)创造一种支持凝聚力和头脑风暴的文化如果你害怕失去控制或者你的想法不被认可,那么你就不会成功。您需要营造一种鼓励开放和相互尊重的文化,让人们乐于分享自己的想法。以下是确保混合创新方法取得成功的一些方法:承担风险。即使您第一次感到担心或失败,也要相信您的团队会从失败中吸取教训。让你的过程充满乐趣。没有人喜欢头脑风暴会议(即使他们保持理智),如果他们变得比创造性思维更强迫。努力在工作中休息是在员工之间建立信任并鼓励他们愉快地分享观点和想法的一种方式,而不是在他们感到来自绩效评估或其他管理形式的压力时。(2)注重过程,尤其是大型项目。构建新产品、新功能或新流程是一个艰巨的过程。风险如此之大,最重要的是要有一个指导标准来帮助我们确保具体工作的完成。同样重要的是要记住,这个指导标准(或过程)不是一成不变的,而是可以根据项目进行适当调整。会有很多不同的指引,但它们的本质是一样的:如果我们使用扎实的流程,它可以有效地帮助我们避免潜在的陷阱,比如扩大伤害范围,也更容易得到队友的支持。(3)混合产品开发有利于凝聚团队。混合产品开发的关键是有效地结合内部和远程团队。正如我们在本文中所讨论的,拥有内部团队有一些明显的好处。但是,如果您知道自己需要什么以及如何正确管理远程团队,那么招聘远程工作人员将比以往任何时候都容易。在这两种方法之间找到平衡,您可以为每个角色聘请专家,让他们参与您公司的项目,无论他们身在何处。创新是寻找新的做事方式。(4)敏捷开发团队确保快速上市混合方法应包括与敏捷团队合作。以下是使用敏捷开发团队的好处的一些示例:因为敏捷团队在传统的公司层次结构之外运作,所以他们不受会阻止内部项目快速移动的约束的约束。敏捷团队习惯于一起工作,并且有一个快速开发软件的过程。以下是您在使用敏捷团队时可能会遇到的一些挑战:股东或投资者很难理解如何将需求与团队的工作流程和迭代周期相结合。对于外部组织而言,让他们放弃对项目的部分控制并相信敏捷团队能够有效地处理事情本身就是一个挑战。(5)混合团队可能需要与之前所有的内部团队不同地管理。我们吸取的一些重要教训是:不要试图控制过程。这样做只会降低效率,也会降低同事的积极性。提供一个框架,但允许您的团队按照他们认为合适的方式来解释它。建议大家多多指导,但不要太死板,以免限制自己的创造力。一定要解释你想要达到的目标——即使有人不了解你的领域,他们仍然可以通过分享其他领域或行业的经验来激发新的想法。(6)用户是了解哪个项目值得追求的最佳信息来源。你应该听取用户的意见。他们可以就他们喜欢什么和不喜欢什么给你快速反馈,帮助你决定哪些项目值得继续,哪些应该废弃或重做。与用户进行远程协作是快速有效地分析用户反馈(尤其是通过视频会议)的好方法。用户是了解哪些项目值得追求的最佳信息来源。如果您的客户没有使用某个项目,它就不太可能提供任何有用的信息-因此在为任何给定项目投入过多资源之前了解如何改善用户体验非常重要。让员工可以轻松地为您提供他们每天使用的工具。除了实施正式的反馈计划外,您还可以这样说:“您对改进我们的产品有何看法?”或“您想添加或删除哪些功能?”,这可以建立一个匿名的Slack频道或电子邮件地址,从而营造一种文化,让任何人都可以在没有判断力的情况下发表意见。(7)寻找将开放式创新与众包等其他方法相结合的方法。寻找机会与具有互补技能、资源和能力的其他公司合作。这通常比在内部完成整个项目更有效率。设置项目,以便您可以与另一家公司合作,甚至只与客户或供应商合作。您将从他们的见解中获益,如果他们积极参与并做出建设性贡献,他们将更加努力地实现项目。不要假设你的公司最适合在内部解决所有问题——想办法在流程的早期让外部合作伙伴参与进来,以帮助你开发除你的团队可能自己想出的解决方案之外的解决方案。不要害怕寻求帮助!(8)新产品、创新和想法需要从大脑中的想法尽快实施并交付给用户。当您推出新产品、创新或想法时,尽快进入市场对您的成功至关重要。混合产品开发可以帮助我们。混合产品开发是一种结合内部和外部开发的方法。它近年来越来越受欢迎,因为它使组织能够以雇佣新全职员工的一小部分成本来利用他们需要的特定专业知识。虽然混合产品开发可用于范围广泛的项目和计划,但它最大的好处或许是它为公司配备了正确的工具,以比以往更快的速度推出新产品和创新。5.结论决定哪种策略最适合您的需求取决于您和您的公司文化。如果一家公司采用以工程为中心的产品开发方法,那么混合方法可能会更好。初创公司可以从这些创新技术中获益良多。此外,物联网趋势仍处于起步阶段,可能需要企业采用敏捷方法,因为它们依赖于软件更新以及该领域的技术变革。原文链接:https://dzone.com/articles/right-way-to-hybridize-your-product-development-technique译者介绍赵庆尧,51CTO社区编辑,从事驱动开发多年.他的研究兴趣包括安全操作系统和网络安全,并发表了与网络相关的专利。
