使用项目示例的IT产品开发的全周期:团队角色,客户任务,阶段



IT产品开发人员的内部厨房是多方面的,并且总是充满着不同的任务。 在每个项目中,职责不同的人都可以找到他们的应用程序。

以一个项目为例,我们将更深入地研究开发过程。 在此之前,我将描述该过程的所有阶段以及其中员工的职能职责。

IT产品开发生命周期


从客户向承包商提出其想法的那一刻开始,下面就描述了周期的各个阶段。

  • 规划中

正确规划未来的产品功能和需求分析对于整个项目至关重要。 项目经理负责此阶段,因为由他负责整个开发过程的成功。

在产品设计之前,规划本质上是“粗略的”,因为在此阶段无法找到确切的发展过程。

UX / UI设计完成后,您可以制定准确的计划,以进行开发以及产品中的功能。

  • 设计方案

计划之后,轮到UX / UI设计人员-设计用户界面的专家。 设计人员研究用户行为并构建易于理解的界面。 产品的视觉外观也是设计师工作的结果。

系统架构师与他们一起确定最终产品将具有的结构以及其行为方式。

  • 发展历程

开发人员遵循其中一种方法-对于主要是敏捷公司而言。 这种方法论涉及一种灵活的迭代方法-即开发人员按顺序进行操作,将项目划分为较小的任务。

敏捷迭代称为sprint,一个sprint包括所有领域的工作:规划,设计,开发,测试。

  • 测试中

测试专家会执行不同类型的测试:单元测试,集成测试,接口测试以及其他根据目的而定的类型。 这类专家应该得出的最终结论是该产品没有错误,可以发布了。

之后,可以实施该产品并将其与第三方软件集成。 开发过程并不止于此-继续进行直到进行了改进。

  • 技术支持

最终产品可能需要其他支持,无论是客户对产品工作的其他疑问,还是需要对已经确定的功能进行更改—支持服务专家始终可以为您提供帮助。
大多数开发项目都经过上述生命周期的所有阶段。
例如,我们将仔细研究公司当前项目的产品开发过程。

阶段1:创意


客户是一家国有印刷公司。 在世界范围内,该行业并没有经历最好的时光,但是在美国,由于创新技术的影响,印刷公司仍在生存。 印刷公司要求我们开发增强现实应用程序-AR。

美国邮政总局发送打印的交易报告,为通过技术减少纸张消耗的合作公司提供折扣。 我们的客户已成为这些公司之一。

第二阶段:联系


公司代表与我们联系以提出他们的想法。 他们想要增强现实营销应用程序。 在我们之前,他们使用了Catchoom图像识别系统,他们还想将内容管理系统许可为单独的产品,但该公司拒绝了。 另外,客户希望添加独特的功能,这在Catchoom解决方案中并未暗示。 因此,我们的任务是开发一个合适的系统作为回报。

第三阶段:规划


客户在联系我们之前先介绍了产品的基本功能。 开发团队必须研究该项目的构想,并收集所有必要的需求,确定瓶颈并记录所有内容。 在每个sprint中都指定了项目详细信息和技术详细信息。

收集需求的团队评估收到的信息,建议,开发成本和价格,称为RFx。 通常,这样的团队由技术专家,项目经理和销售经理组成。 在项目开始之前有效的RFx。



客户研究项目评估以获得对项目外观和开发方式的基本了解。 它还决定了时间和成本。
客户批准开发计划和预算后,就可以开始项目了。

项目经理亚历山大的评论:
“我对项目的持续进展负责。 我选择Scrum方法来快速响应客户和市场需求。 Scrum帮助我们开发产品,在产品的每个发行版中都考虑到用户的需求,并在开发中使用最先进的技术。”

阶段4:设计


客户对我们的设计师的任何想法持开放态度,并信任专家的视野。 UX / UI设计人员基于普遍接受的UX实践,客户的同意并开始设计,描述了他对未来系统的看法。

阶段5:开发和测试


客户亲自拜访了公司办公室,与开发团队会面并结识了公司管理层。 在最初的六个月中,客户每月都要来一次建立沟通,更好地了解团队并在双方之间建立信任。

在开发的第一阶段,团队包括:

  • 一个项目经理,他还执行业务分析师的任务;
  • UX / UI设计器;
  • 开发团队。

在初始阶段,开发人员无需QA专家的参与即可自行进行测试。 面临的挑战是创建一组原型以在会议上进行演示并吸引潜在客户。 然后,不需要详细的测试。

当开发过程开始使用基本功能时,需要扩大团队。 结果,她看起来像这样:

  • 项目经理;
  • 业务分析员,其任务范围比经理以前要广泛;
  • UX / UI设计器;
  • 开发商
  • 开发团队负责人(团队负责人);
  • 开发产品结构的系统架构师;
  • 测试专家;
  • DevOps-开发和运营之间的链接,用于网络和产品部署。

开发团队负责人Igor介绍了他的创新成果:
“在这个项目中,我负责完成项目的任务,审查代码,计划sprint(开发中的迭代),引入新任务。 我建议使用GitFlow进行单元测试,并使用AWS Lambda创建代码。 我还介绍了新的团队成员,我对他们的适应负责。”

加入Team Lead是一个重要的决定,因为它有助于协调iOS和Android的应用程序版本以及网络版本的开发,从而使所有事情朝一个方向发展。



业务分析师弗洛尔说:
“由于项目的组织,我的工作非常清晰和有效。 我处理了客户需求,并以一种易于理解且技术上准确的方式将其传达给开发团队。 我与UX / UI设计师一道工作,我们的项目经理负责谈判,这使我有机会专注于主要任务,”

如您所见,团队需要其他专家来解决增加的任务。 这样的团队组成可以提供有能力的系统开发而不会出错。

阶段6:支持


支持通常分为3个级别:

  • 第一层。 在此级别上处理基本帮助,不需要太多关注的简单问题。
  • 第二级。 具有更深的产品知识的员工提供的扩展帮助。 这些不一定是技术专家,但他们一定非常了解产品。
  • 第三级。 专家级别由经验丰富的专家执行:产品经理,工程师。

手册和用户指南也提供零支持。

实际上,没有时间认为软件工作已完全完成。 从客户那里收到有关功能扩展的新希望,或者需要对产品用户的支持。 例如,客户用户希望更新应用程序并扩展其功能。

这个项目很好地代表了开发生命周期的所有阶段。 如果我们仔细考虑,在任何软件上的工作看起来大致相同,并且通常对应于上述方案。

Source: https://habr.com/ru/post/zh-CN458336/


All Articles