请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

   思科 CCO 登录 推荐
 找回密码
 立即注册

搜索
热搜: 邮件服务器
查看: 378|回复: 0

【小目标,一个“译”】+ 六步加速产品的开发进程(2)

[复制链接]
发表于 2019-3-4 17:34:58 | 显示全部楼层 |阅读模式


2.使用敏捷方法
项目管理团队要仔细研究开发的方式,以选择最适合于手头项目的方法。基于敏捷宣言(Agile Manifesto)的12个基本原则是最受欢迎的敏捷方法论之一。它将项目分成几个持续时间相同的迭代,分布在2-8周的时间段内完成。
利益干系人和客户对敏捷方法最感兴趣之处在于:他们能够看到产品的每个开发阶段,从而在整个项目中做出决定。如果“面市时间”更受关注的话,那么敏捷方法能让您快速地生成软件产品的基本版本,随后再经历多次成功的迭代和测试。
通过敏捷方法,您可以创建一个最小的可行性产品(Minimum Viable Product,MVP)。它具有各种用户友好的功能,并适于发布到市场之上。我们对于产品的每个阶段,都能够进行测试,添加更多功能,然后在得到客户反馈的基础上再次进行测试。
每个团队(设计师与开发者团队)将籍此实现并行工作,并相互检查工作质量。与瀑布法则相比,敏捷方法能更节省时间。因为在该方法中,任务不会出现重叠,每个任务只有在前一个任务完成之后才会开始。
3.定期自动化测试
我们必须定期进行软件测试,以确保开发周期能够按计划顺利地进行。每次在添加或修改新的源代码时,我们都必须进行测试,以使产品在所有支持平台上都能够正常地运行。我们既可以采用自动化的测试,又可以采用手动测试程序。不过,手动测试的问题在于它会花费大量的时间、人力和财力。
另一方面,自动化测试套件能够大幅缩短测试的时间。过去需要几天甚至几周完成测试,现在我们能够在几个小时内完成。当然,时间并非唯一的优势。自动化测试还可以让您更为深入地进行测试,以改善和提高软件的质量。而手动测试则在冗长的测试中并不占优,它必须有人不断地观察测试结果。
同时,自动化测试套件可以让您更为深入地了解每个产品,分析代码存储器中的内容、数据表、文件内容和内部程序,从而检查产品是否能够按照预期的方式运行。
为了提高软件的准确性,您可以选择不同的自动化软件测试类型,包括:单元测试、功能测试、递归测试、集成测试、数据驱动测试和烟雾测试等。
只要添加了新的功能,您都应该执行递归测试,以检查代码和它的功能效果。由于测试是自动化的,您可以在不增加时间的情况下进行多次反复测试,以深入了解代码功能,提高产品的运行速度,并最终发布出完美的产品。
并行测试是自动化测试套件的另一个主要优势。它允许您同时在多个操作系统和浏览器上运行多个测试用例,并最终减少了整体的测试时间。
4.正确的软件开发技术
市场上有着大量的软件开发技术可供选择。如果您没能为所需构建的产品选择正确的技术栈,那么您势必会遇到各种产品发布的障碍。
在测试软件的框架中,应用开发环境(Application Development Environment,ADE)在测试系统中扮演着至关重要的角色。系统开发人员会花费大量时间在ADE上,因此选择支持多个平台的ADE,并将它与测量/控制服务相集成是非常必要的。ADE还有助于应用的展示和报告,并为您提供全球范围内培训和支持。
在为产品开发进行技术选择时,我们需要考虑的其他要点包括:
·        密切关注最新的行业趋势。
·        该技术是否适合于新产品的开发?
·        了解技术适用的整个生命周期。
·        软件开发技术是否开源?
·        了解您为技术选择将支付的长期费用。
·        产品可以被移植到其他平台吗?
·        可运行性与多功能性的重要程度。
·        您能从第三方代码中获利吗?
5.文档化
文档可以描述正在开发的产品架构与功能。它会涉及到参与软件开发项目的每一个人,包括:设计人员、开发人员、测试人员、营销人员、最终用户和利益干系人等。
文档化有助于提高软件的质量。由于软件团队在编写代码文档和代码审查的流程时,可能用到自己并不常用的最佳实践方式,因此文档化是非常重要的。通过规范各种实践和产生各种正式的文档,您就能够跟踪项目的进度和方向。
清晰简明的文档编写方式能够加快开发的进程。同时,它有助于各个开发人员就如何在产品中实现特定功能而达成共识。
好的文档能够使得新进的开发人员更容易上手。这对于公司来说既具有时间效益,又有成本效益。籍此,他们完全可以跳过培训,而直接投入到产品开发之中。正确地记录错误的代码和常见问题的解答,都能够指导开发人员解决产品中出现的问题。常见的文档类型主要包括:
a. 设计文档
通过提供最终产品的外观细节,设计文档能使开发人员受益。它会描述软件的外观和行为等方面,并进行截图展示。这使得团队中的每个人都能够了解如何去构建产品,同时也有助于用户快速上手。
b. 技术文档
良好的技术文档对于任何产品的成功都至关重要的。它能详细地描述软件的体系结构和功能,并提供给开发人员、设计人员和质量分析人员来使用。
对于大型的项目来说,技术文档为可能出现的灾难提供了保障。它一般包含软件不同功能部分的预期结果、API的调用和响应、产品在最终用户手中的最终外观、以及对于代码各个部分的详细描述。
c. 用户文档
同样,良好的用户文档可以帮助用户去了解代码是如何运行的。开发人员经常会想当然地认为软件使用人应当知道代码的运作机制,因此他们会无意识地在创建文档时跳过基本性的要点。所以,在质量上,只要使用的是用户能够理解的语言,就是好的文档,反之则对用户毫无用处。
因此,在为普通用户创建文档时,我们要确保其清晰易懂。同时,文档在布局上也应该有所注意,以便开发人员能够轻松地查看到所需的内容。Wordpress和Bootstrap都是优秀的文档范例。
d.营销文档
市场营销文档应当包含软件能给公司所带来的一个基本理念:投资回报率(ROI)。可见,文档是一种很好的营销工具,既可以有利于维护良好的流程,又有助于提高软件的质量。
6.删除无用的代码
由于无用的代码可能引发各种问题,因此我们需要删除掉。在大型项目中(特别是在一些复杂的项目中),由于文档会在多种人员角色手中流转,甚至是一些对该项目并不熟悉的开发人员,因此他们可能会对代码进行各种更改,甚至会“污染”代码,进而在无意中引入了各种bug。
任何维护代码的工作都是既耗时又耗力的。您必须遍历所有的代码,而代码库中的各种无用代码也会经常相互混淆。由于无用的代码多半不可能再被使用到,因此与其您花费时间和精力维护它们,不如直接将它们删除掉。
同时,从事代码工作的团队成员必须明确知晓哪些代码是有用,而哪些是无用的。同样,代码的清理可以加速开发的进程,并提高软件的质量。
结论
各个公司都专注于缩短其产品的面市时间。为了扫除产品延迟发布所带来的风险,我们要重点关注:并行测试、敏捷方法、适当的文档和正确的技术。只要开发团队有足够的资源,项目就能成功启动。
另外,依靠TTM策略来获得营销和竞争优势也是产品和项目本身非常重要的。在注重速度的同时,请您确保整个开发过程中的产品质量。
【原标题】6 Effective Steps to Accelerate the ProductDevelopment Process  (作者: Pratiksha R )
原文链接:https://dzone.com/articles/6-effective-steps-to-accelerate-product-developmen


  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2019-5-25 21:50 , Processed in 0.090756 second(s), 28 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表