登录
首页大数据时代为成功建立有效的数据分析团队和项目生态系统
为成功建立有效的数据分析团队和项目生态系统
2022-02-28
收藏

介绍


在软件开发、信息安全和数据分析的长期职业生涯中,我观察到,除非得到非常好的管理,否则大型、复杂和压倒性的项目可能无法满足风险承担者的需求。相比之下,我参与的大多数成功的数据分析项目在范围、规模、团队规模和时间表上都很小。它们通常需要几天、几周或几个月的时间来完成,而不是需要几年的时间,并且通常满足最终用户的需求。

健全的管理、敏捷实践、熟练的实践者、强大的工具、标准和指导方针可以结合起来创建一个数据分析生态系统,从而导致短的项目生命周期和有用的解决方案。以下各节描述了我的团队开发并成功利用的一些组织、项目和数据分析属性和技术。当我们在大型企业的风险管理和内部审计功能中构建数据分析程序时,您也可以将这些技术应用到您的工作环境中。

良好的管理和领导能力


在我从事软件开发和数据分析的34年中,我观察到了许多管理和领导风格,有好的也有坏的。我最近在与一位经理一起工作时茁壮成长,这位经理创建了一个框架,并指导我们的团队在一家大型企业中建立了一个成功的部门数据分析程序。根据经验和观察,以下是他和其他模范领导者为帮助个人、团队和项目取得成功而发挥的一些属性和行动:

  • 为项目设定目标,并管理它和团队来实现这些目标。
  • 确定所需的能力,并雇用和培训员工以实现这些能力。
  • 与内部和外部组织合作,分享和学习最佳实践。
  • 提供适合需要的强大软件工具。
  • 充当与上层管理层之间的沟通管道。
  • 与团队合作,关心团队及其成员,不霸道。
  • 确保基本但适当的商定标准、指导方针和程序得到执行和遵守。
  • 建立成长和成就的节奏。
  • 尊重每个团队成员的时间,需要集中精力。

雇用和发展技能和知识


几年前,我参加了一个数据分析会议,会上一位演讲者描述了她作为数据科学家所需的一些技能。她说,要有效地完成工作,需要200多项技能。事实上,创建成功的数据分析解决方案需要分析师具备许多才能。要雇用和培养具备所需技能和知识的分析师,您和您的管理层可以考虑以下步骤:

  1. 撰写引人注目的职位描述和职位说明-制定描述成功候选人必须具备的技能和知识的职位描述和职位说明。此外,列出员工在受雇期间必须发展的技能和知识。
  2. 雇用具有专业知识和良好潜力的数据分析师-应用职务说明和职位公告雇用具有所需技能和知识以及开发额外所需技能的能力和潜力的分析师。
  3. 确定学习资源-创建一个课程和教程列表,以帮助数据分析师开发在其职位上取得成功所需的技能和知识。
  4. 评估技能-为了衡量团队及其成员的优势和劣势,并确定发展和增长需求,根据每个数据分析师的工作描述和深入的能力列表,评估他们的技能和知识。
  5. 培训分析师-确保工作单位的预算和时间表允许数据分析师有足够的资金和时间完成培训,以发展所需的技能和知识。根据技能评估结果,确保分析师按照学习资源列表中的定义进行培训。

保持项目团队规模小


大型团队的复杂项目可能会陷入困境,除非经过专业的管理。试图保持每个项目的规模和范围较小,并将团队的规模限制在一到三个最终用户和一个首席数据分析师,这可能有助于项目的成功。团队可以将数据分析师添加到复杂的项目中,这将从分工或互补技能中受益。对于大型或复杂的项目,您可能希望指派一名项目经理与团队一起工作,以确定和管理任务、时间表、风险和问题。最后,在需要的时候,在项目的业务领域中寻找主题专家。

采用敏捷实践


项目团队,尤其是在软件开发中,经常将敏捷开发方法,如Scrum或看板,应用到他们的项目中,以组织任务并快速移动。我的团队有效地使用了在Microsoft OneNote中开发的看板板,以便在频繁的即席会议上在团队和经理之间跟踪和交流任务。它由一页上的三栏组成。每个任务在开始时从准备工作转移到工作中,在完成时从工作中转移到完成。

定义简明的范围、目标和时间表


在整个项目生命周期中与最终用户、队友和经理的对话对于建立和坚持其商定的和简明的范围、目标和时间表至关重要。通过保持项目紧凑,我成功地完成了一周到三个月的项目。

如果一个项目很大很复杂,可以考虑把它分成一些较小的子项目,每个子项目都有有限的范围、目标和时间表。

将一组合理的竞争项目和任务分配给数据分析师


一些研究人员发现,当多任务处理时,人类的表现会受到影响。给个人分配大量的项目或任务可能会适得其反。此外,虽然技能和任务多样性是可以提高个人满意度和绩效的工作组成部分(见工作特征理论),但分配给员工的项目或任务的数量应该合理,以允许员工成功并完成所有这些项目或任务。

平衡团队合作与自主性


在一个运作良好的团队中工作可以提供许多好处,例如:

  • 队友可以互相补充技能。
  • 队友们可以互相鼓励,互相推动前进。
  • 一个团队的成员可以分享想法和集思广益来确定解决方案。
  • 团队的生产力可能超过其各部分的总和。

有效的团队合作的好处是毫无疑问的。另一方面,某些类型的工作,如数据分析、编程和写作,通常最好由半自主工作的个人完成,通常由团队成员提供输入。他们的工作需要专注和有限的干扰。

采用并掌握功能强大、通用性强的工具和语言


数据分析员应该为自己配备强大的、多功能的数据分析工具,以满足他们的需求。通过这种方法,分析人员可以利用每个工具的特性并开发能力和最佳实践。以下各节描述了我的当前团队在其数据分析项目中使用的每个软件包。

AlteryX Designer-根据AlteryX的网站,设计器可以用来“自动化分析的每一步,包括数据准备、混合、报告、预测分析和数据科学。”虽然单用户许可成本数千美元,但它是一个强大的数据分析和数据科学工具。我的团队使用它来创建和运行输入数据、转换和准备数据以及以多种格式输出数据的工作流。分析人员使用它快速、轻松地创建功能强大、运行迅速的工作流。

Tableau-Tableau软件创建了一个强大的,也许是最流行的商业智能数据可视化平台。我的团队使用Tableau Desktop连接到数据源并开发可视化工作表和仪表板。然后,我们将可视化发布到Tableau服务器,终端用户在那里查看并与它们交互。

Python-Python是一种用户友好且功能强大的编程语言,深受数据分析师和数据科学家的欢迎。与数据科学家中流行的以统计数据为中心的R语言不同,Python是一种通用语言。它是自由和容易学习。分析人员可以使用免费的库来扩展Python的功能,比如NumPyandTensorFlow。


SQL-结构化查询语言(SQL)是用于实现、操作和查询存储在关系数据库管理系统(RDBMS)中的结构化数据的标准语言。它包括多个子语言。通过其数据查询语言(DQL),分析人员可以从数据库表中查询和检索数据。RDMS数据库存储了世界各地企业的大量数据集。


Microsoft SQL Server Management Studio(SSMS)-SSMS是Microsoft的集成开发环境(IDE),用于管理和查询在其SQL Server RDBMS中实现的数据库。我使用SSMS创建和运行SQL代码来查询包含所需数据的数据库。


Rapid SQL-Rapid SQL是一种类似SSMS的IDE,用于开发SQL查询以访问存储在Oracle、SQL Server、DB2和SAP Sybase数据库中的数据。我使用快速SQL从DB2或Oracle数据库中获取数据。

Microsoft Visual Studio-Visual Studio是Microsoft的旗舰集成开发环境(IDE)。我使用Visual Studio Professional创建用Python和其他编程语言编写的应用程序。它的编辑器功能强大,带有颜色编码的语法。Visual Studio Community 2019是IDE的免费版本,可以满足您的需求。来自Microsoft的Visual Studio代码(VS Code)是另一种受程序员和数据分析师欢迎的免费IDE。


Microsoft Excel-Excel当然是一个无处不在、有用、功能强大、有时是不可或缺的工具。我使用Excel工作簿作为项目数据源和输出来创建小型数据集,执行必要的数据清理和计算,等等。像Excel这样的电子表格应用程序是任何数据分析或数据科学商店中的重要工具。


制定基本标准、指导方针和程序


在数据分析项目中应用简明的标准和指导方针可以提高工作产品的生产率、维护和共享。以下是指导我工作的标准和指导方针。

命名标准-如何将文件夹、文件、数据库表、列和字段等项标准化,以便于一致地命名它们,并在许多产品的集合中查找工作产品。

文件夹结构标准和模板-对所有项目使用标准文件夹结构可以轻松设置新项目和查找文件夹和文件。我的团队使用以下文件夹结构模板来组织和存储所有数据分析项目的工作产品:

  • Project_name(将此值更改为项目的名称)
  • ALTERYX_WORKFLOWS
  • 数据
  • 文件编制
  • python_programs
  • SQL_scripts
  • tableau_workbooks

文件夹结构根据每个项目的需要展开和收缩。

编码标准-编码标准适用于编程,就像语法适用于英语散文一样。它们帮助我们清晰一致地组织和传达思想。我工作过的数据分析和软件开发团队从文档化的编码约定中受益。在项目中应用这些标准可以使每个代码模块的原始编码器更容易编写,任何团队成员也更容易阅读、理解、增强和维护。下面是我的团队用来指导其工作的一些编码标准的描述。

  • 类、变量和函数命名约定-为了可读性,我们决定用小写形式创建所有类、函数和变量名称,每个单词或缩写用下划线(“_”)分隔。每个类和变量名描述它存储的值的类型,而每个函数名描述函数用什么值或对象做什么。例如,存储人名的变量可以称为person_name或person_nm。从数据库中检索人名列表的函数可以称为get_person_names()。
  • 代码模块前序-我们用文本来说明每个模块的用途。为了帮助维护该模块的其他程序员,我们添加了额外的信息,如作者的姓名、数据库连接字符串、文件位置信息和更改日志。
  • 注释-虽然有些人说代码本身就是文档,但我相信放置良好的注释可以帮助编码器组织他们的思想,并帮助需要维护或增强代码的其他人更快地理解它。例如,在它的开头,我描述了一个函数用什么数据做什么。我还在执行任务的代码的每个逻辑分组之前添加一个简短的注释。
  • 空白-为了使代码更容易阅读,我在每个函数、每个变量定义集和执行特定任务的每个代码块之间插入一个空行。
  • 简洁的函数范围和可见的大小-与空白一样,我限制了每个函数的内容,以便更容易编码、理解、维护和增强。我努力使每个函数保持简单,并试图使其内容在编辑器中保持可见(例如横过80个字符,向下40行)。

可视化样式指南-虽然编码标准可以帮助程序员理解、编写和维护代码,但可视化样式指南可以帮助数据分析师开发一致、有用和有意义的可视化。它们还可以通过提供一致的、设计良好的、易于理解的和用户友好的可视化,使数据分析项目的最终用户受益。以下是我的团队采用的一些视觉风格指南。

  • 品牌标准-我们公司的品牌管理部门已经确定了一套一致的字体、颜色和视觉设计风格和组件。我们已经将这些引入到我们的可视化指导方针中,以增加专业性和一致性,并帮助为最终用户提供熟悉的用户界面风格。
  • 字体-我们公司设计了一种字体,我们将在可用时使用。否则,我们的数据分析产品将默认使用Ariel字体。
  • 颜色-我们公司的品牌标准包括一个小型调色板。我们在可能的情况下将这些颜色应用于图表、图形和仪表板。我们还试图将任何图表、图形或仪表板上使用的颜色数量限制在视觉上令人愉快的一组。
  • 标题、标题和标签-我们的指南描述了应用于文本元素(如仪表板标题、图形和图表标题、列、筛选器和图例)的标准位置、字体、大小和颜色。
  • 可视组件的放置-与文本一样,我们的指南描述了仪表板上元素的标准位置,如图表和图形、过滤器和图例。

摘要


建立一个有效的数据分析团队并不容易,它定期构建和交付数据分析解决方案,为最终用户提供洞察力并帮助他们做出决策。但是,应用我在软件开发和数据分析的长期职业生涯中所学到、采用和开发的一些经验教训和有效实践可能会帮助您取得成功。



数据分析咨询请扫描二维码

客服在线
立即咨询