2020年12月13日,星期日

Project Cortex-训练SharePoint Syntex像人类一样阅读文档

很久以前,当人类开始使用墨水在羊皮纸或纸莎草纸上书写信息时,这是从雕刻成石头或黏土的巨大飞跃。信息变得更易于创建和传输,知识立即以前所未有的方式开始流动。如今,我们所有人*都与创建,共享和使用文档的过程紧密联系在一起-世界实际上围绕着它们而旋转。

但是文档当然有其约束。关键数据和知识被埋藏在其中,引发了一系列挑战,这意味着很少有组织能够真正从其创建的内容中获得价值。您可能熟悉以下统计信息: 麦肯锡研究 that 一般的知识双色球推荐一注者只花20%的时间(每周一天!) 搜寻 以获得公司内部的信息或专业知识。不过那可能很保守- IDC的知识双色球推荐一注者调查 (位于付费专栏后面)表明该数字可能接近30%。

One of the reasons for this 是 那 做cuments generally need to be 开了 来访问他们的信息-打开20个文档来确定哪个包含您要查找的信息在本质上是耗时的。 您可能知道,Project Cortex将Microsoft支持的功能引入Microsoft 365,以解决知识挑战的多个方面。在本文中,我们将研究SharePoint Syntex,以及如何教它:

  • 自动识别不同类型的文档- 通常来自文档中某些一致的内容(例如,短语“双色球推荐一注陈述”) 
    • 这意味着文档可以自动继承保留策略或以某种方式(例如)显示在搜索结果中,而无需人工标记每个文档。 在Syntex中, this 是 a 分类器
  • 从文档中提取特定信息 -意味着无论您拥有100亿还是1亿,高价值数据都不再锁定在文档内部。
    • 使用此功能,特定信息将从每个文档中拉出,并作为元数据存储在SharePoint列中。 在Syntex中,这是一个 提取器

我公司的一个例子

内容+云,我们最常用的两种文档类型是“提案”和“双色球推荐一注陈述”文档-鉴于我们提供的项目和服务不足为奇。我已经编辑了这些数字,但是这是我们真实的双色球推荐一注清单之一中的成本/投资表的样子:

我已经在上图中突出显示了几件事。当我打开文档以查找项目的总价值时,作为一个人,我的大脑本能地遵循以下过程:

  1. 找出"Fees and Payment" section
  2. 查找“总计”行
  3. 找出£ value 那 是 in 那 row

在本文中,我们将教SharePoint Syntex做同样的事情(除了首先识别双色球推荐一注声明文档)。然后,Syntex可以比任何人更快地从100或1000的SOW中提取项目价值。鉴于我们创建 许多 每周都会发布,知道该技术可以保持领先地位,从而释放出更多的好处。 

在Syntex中创建文档理解模型

我将跳过在Microsoft 365租户中作为Project Cortex的一部分创建资源中心的初始前提步骤- 很简单,这是在SharePoint管理中心中为您的租户完成的,“资源中心”显示为新的网站类型。一旦有了这些,就可以开始创建模型。我们将在这里做两件事:

  • Create a 分类器 so 那 SOWs can be identified
  • Create an 提取器 so 那 the value can be extracted
在这两种情况下,我们都遵循以下过程:

首先,导航到您的资源中心,然后单击“创建模型”按钮:

给它起个名字(在我的情况下是 内容+云 双色球推荐一注声明),然后选择是要创建新的内容类型还是要使用现有的内容类型:

Notice 那 you can also specify a retention label for this model. 这是帮助组织满足合规性要求的巨大一步!一旦训练,n只有SharePoint Syntex可以自动识别我的租户内的双色球推荐一注声明(无论存储在哪个站点或团队中),它都可以确保这些文档已应用适当的信息治理。 对于我们公司而言,双色球推荐一注说明书是一份合同客户文件-因此,我们默认应将其保留数年。 Syntex使这一切成为可能,而无需人工标记每个SoW-我们将看到的模式识别提供了可靠识别的能力和灵活性。

在此步骤中,我会在租户中看到所有已发布的保留标签: 

Now 那 we've created our model, the first major configuration step 是 to 添加一些文件进行培训 - we can use these to train both the 分类器 and the 提取器. 的 training files should be a set of 测试 files which are 州ments of Work, but also 在 least one which 是n't. I supply some files as shown:

“培训文件”库是资源中心内这些文件所在的特殊文档库。堆叠来自此处构建的不同模型的文件是很常见的(如下所示),但实际上,您要添加的是每次构建模型时都会收集的一组文件:

我需要多少个训练文件?

Syntex要求您添加至少5个与您正在使用的文档类型匹配的文件,以及至少1个与您正在使用的文档类型匹配的文件。但是,最好的办法是收集并添加6个以上的文件,因为您将分两步使用它们:
  • 初始训练期间至少标记6个文件
  • 使用其余未标记的文件来 测试 您的模型

创建分类器


现在我们有了一些训练文件,单击“训练分类器”按钮:

创建分类器-标签步骤


在这一步中,我们在第一个选项卡(“标签”)上,实际上是在告诉Syntex那些培训文件中哪些是与内容类型匹配的文件(在我的情况下是C + C双色球推荐一注声明),哪些是不是。在标签工具内,该界面提供了一个工具栏,该工具栏上有“是”和“否”按钮(以下突出显示):

我逐步浏览每个训练文件,然后分别单击“是”和“否”按钮-这是对分类器进行标注的方式。完成后,模型会自动进行自我训练,并且“标签”列会确认状态:

创建分类器-解释步骤

现在移至“培训”标签。现在,我们需要添加一个或多个“解释”-这些进一步帮助模型,因为仅拥有一些带标签的样本文档是不够的。将此视为需要更多了解 模式 那 identify this 做cument type.

首先,请在“说明”区域中单击“新建”按钮-请注意,您可以从空白示例或模板开始:

模板(如果您想知道)是用于常见内容片段的,可帮助您对文档进行分类(或您可能要从中提取文档)-日期,电话号码,邮政编码,货币金额,电子邮件地址等) :




在这种情况下,我们可以 从空白创建。我要做的是创建一个 短语列表 解释,使用仅在双色球推荐一注说明书中找到的短语-执行此操作时要注意的一件事是,通常您不能单独使用简单的案例。例如,短语“双色球推荐一注陈述”出现在我们的许多其他文档中, 不是 实际上是双色球推荐一注陈述!因此,我使用的是小字样的内容 只要 在SOW中-在下图中,您可以看到它用作我的短语,并且在简化文档视图的右侧:




单击“保存”以完成说明的创建。
 

创建分类器-训练/测试步骤

现在是时候测试分类器了。为此,移至“测试”选项卡,然后单击按钮以添加示例文件:





我现在可以选择一些以前添加的示例文件- 这些必须是我在标签过程中尚未使用的文件。为了进行正确的测试,我选择了一些是SOW的文档,而有些则不是:


单击“添加”按钮,这些文件将用于测试。您应该看到的是该模型已正确识别出正匹配的文档,而其他文档则显示为负:


优秀的!

至此,我们的AI模型的“分类器”部分已经完成-Syntex现在将能够在Microsoft 365租户中的任何位置识别这种类型的文档。该模型现在可以应用于文档库,并且将应用我们创建或使用的内容类型:


正如任何经验丰富的SharePoint或Microsoft 365从业人员所知道的那样,现在知道内容类型的可能性非常之多。从自动化的双色球推荐一注流程,信息保护策略,过滤和搜索结果中的特殊外观到文档生命周期方面(例如保留和处置),列表一直存在。 

但是,我们不要止步于此-在完成实现这一目标的最后步骤之前,我们将做的不仅仅是确定文档类型。在下一篇文章中,我们将回到开始的地方,在SharePoint Syntex中实现一个“提取器”以提取“双色球推荐一注陈述”值-从而确保它不会被埋在每个文档中。

下一篇文章(即将发布!)-在SharePoint Syntex中实现提取器以提取文档内容

2020年11月16日,星期一

使用Power Automate自动执行位置签到

地理围栏是每当设备(即用户的移动设备)移入或移出区域时位置服务都会触发动作的想法,并且有很多很好的用例。在个人/家庭自动化方面,您可能想在离开家时自动关闭房灯并启动警报(如果熟悉的话,请考虑使用IFTTT或Zapier),而在双色球推荐一注方面,您的雇主可能会提供该应用程序会根据您所在的位置自动将您签入(签出)办公地点(或签出)-仅举两个示例。我正在研究内部办公桌预订应用程序的后一种情况,这是“在Covid期间对办公室进行有控制的使用”计划的一部分。 

您可以想象很多情况下了解用户的位置以及位置是否已更改可能会很有用。

的 Power Platform has a couple of ways to tap into this. I'd been researching the Location trigger in Power Automate, and this provides a Flow action named "When I enter 要么 exit an area":

As 是 normal with geofencing, you specify a location anywhere in the world and create a radius 周围 it. 的 location 是 approximate since GPS on the user's mobile device 是 used, but it works great for most purposes: 



事情运转了好一阵子,但是后来我遇到了这个问题:

的 Location trigger has been removed from Power Automate!

触发器仅处于预览状态,可悲的是,自从我撰写本文(并截取了上面的屏幕截图)以来的几周内,触发器已被删除。目前尚不清楚它是否会返回,尽管在Internet上有痕迹,但Microsoft文档中没有提及它。

太可惜了!坦白说,在Power Platform中,无论如何触发器都存在挑战-它只能用于个人流程, 意味着应该使用该功能的每个用户都需要创建自己的Flow。 显然,这不适用于组织提供的任何类型的业务解决方案,但对于个人自动化仍然有用。

我们还可以如何根据用户位置进行自动化?

的 good news 是 那 Power Automate 是 still able to understand the user's device location. A fully automated solution which 是 triggered simply by moving in 要么 out of a defined region 是 no longer possible, 但是如果您希望用户手动单击其设备上的按钮,类似的自动化仍然是可能的。确实,在某些情况下,这种方法可能是 首选 从而实现一定程度的人工控制和选择参与-允许用户避免在情况不允许的情况下触发流程(例如,暂时离开区域半径以享用午餐)。 

因此,让我们看一下如何构建考虑用户位置的Power Platform应用程序。

使用“流程”按钮记录位置访问

流量按钮提供了一种使用超级简单的用户界面构建移动应用程序的好方法-无需深入研究任何类型的编码或 本机 iOS或Android开发。在下面的示例中,我使用了一个简单的按钮和一个非常简单的表单。但是首先,先决条件。

的 first requirement for a solution like this 是 for users to have the Power Automate app installed on their mobile device. Your 要么 ganization could push it out using a MDM 要么 MAM solution, 要么 it's available in both the Apple and Google app stores:

的 user will need to sign-in to the app with her Microsoft 365 identity. 的 other important thing 是 那 location services are enabled on the device for the Power Automate app - an obvious necessity if we are collecting and logging the location. 

进入应用程序后,用户将 转到应用中的“按钮”区域 使用底部的导航栏。

使用“手动触发流”触发器创建的任何流都将显示在此处: 



在我的解决方案中,我有一个流来记录一次位置访问的详细信息-在上图中这是“报告位置状态”,您还可以看到其他一些也使用按钮触发器的流。正如您可能已经了解到的那样,这些被称为“流程按钮”,它们提供了一种非常快速简便的手动触发过程的方式。无需创建和部署自定义应用程序-相反,我们可以背负Power Platform提供的功能。  

单击该按钮时,可以选择一些信息以输入该过程。在记录位置访问的示例中,流程请求收集“状态”:


就我的解决方案而言,当用户提交此“位置报告”时,我会将详细信息存储在SharePoint列表中。 Power Automate完成了在按下按钮时自动得出用户位置的艰苦双色球推荐一注,并使用一点列格式设置魔术,我可以显示该位置的小地图,而不仅仅是地址文本:

 
 
就是这样了!只需在Power Platform中花费很少的精力,我们就可以提供一个移动应用程序,该应用程序可以收集用户的位置,收集其他信息并将其记录到中央存储中,例如Microsoft 365中的SharePoint列表。
 

How 做 we build 那?

我们已经介绍了用户会看到的内容,但是Power Automate创建它需要什么?我们首先使用“手动触发流程”触发器创建流程。请注意,在我的情况下,我添加了一个名为“状态”的输入,并提供了一些帮助文本:


实际上,您可以堆叠这些输入中的几个,并本质上创建一个微型表单,当用户按下按钮时呈现给用户-当您认为不需要编码并且我们甚至不需要Power App时,该表单将变得非常强大。 

的 next step in the Flow 是 simply to log the item to SharePoint. I have a list ready to go with appropriate columns, and I just need to configure the Flow action to store the data in each:

 
的 important thing 是 那 several tokens are available from the trigger, including:
  • 用户名
  • 用户电子邮件
  • 时间戳记
  • 日期
  • fullAddress-这是用户自动获取的位置的完整地址
  • 许多地址子组件:
    • 邮政编码
    • 国家
    • 纬度
    • 经度
  • 就我而言,您添加的所有输入(例如“状态”) 
的 final step in my Flow 是 to send a confirmation to the user 那 the report was logged successfully:


结果在设备上出现:


因此,我们设法捕获了用户的位置以及该位置的状态报告,并向他们确认数据已保存。 

概要


Power Platform具有许多用于构建应用程序的惊人功能,对于简单的移动应用程序尤其如此。利用设备功能(例如位置和摄像头)的能力意味着您可以快速构建功能强大的应用程序,而无需编写代码-当然也不必担心本机应用程序开发和发行的所有麻烦。在这篇文章中,我们研究了如何使用“流量”按钮快速从移动应用程序触发流程,以及如何捕获当时的用户位置。 

不幸的是,预览中的“当我进入或退出区域时” Power Automate触发器尚未发布-但我们希望它回来,因为这将解锁围绕自动化和用户位置的一些绝佳方案。来吧微软!

2020年9月21日,星期一

使用AI增强Microsoft 365中内容的5种方法

We’大家都熟悉不断增长的数据增长速度,并且 几乎每个使用Microsoft 365的组织都有不断增长的租户 which 是 accumulating Teams, sites, 做cuments and other files by the day. 的 大多数组织’尽管充分利用了这些数据– in the 最坏的情况可能只是另一个数字垃圾填埋场,即使在最好的情况下 内容增加但没有’在智能方面没有很多 处理或内容服务。结果,大量内容 未被发现,搜索会带来糟糕的体验,并且员工很难找到什么 they’重新寻找。考虑到麦肯锡认为知识型员工的平均支出是非常重要的 他们将近20%的时间在寻找内部信息或寻找可以帮助完成特定任务的同事s。在宏观层面上,这可能会严重拖累组织 productivity –错过了宝贵的见解,浪费了搜索时间,而机会却未被开发。

在本文中,我提出了AI可以帮助您获得更多收益的五种方法 从您的数据中获取价值。

1. Use AI to add tags and descriptions to your images so 他们 can be searched

大多数组织都有很多图像-可能与产品,事件,营销资产,内联网新闻文章的内容有关,或者可能由移动应用程序或Power Apps解决方案捕获。当然,图像的问题在于它们不容易被搜索-如果您要在Intranet或数字双色球推荐一注场所中查找特定的图像,则很可能会打开很多图像以查看其是否是您想要的。图像很少被标记,大多数情况下存储在Microsoft 365的标准文档库中,该库不提供画廊视图。

向前迈出的重要一步是使用图像识别在Microsoft 365中自动为您的图片添加标签和描述。现在,搜索引擎可以更好地返回图像-用户可以输入搜索词并执行文本搜索,而不必依赖您的眼球和大量点击。当然,AI可能无法完美地自动标记图像-但是,有些标记总比没有标记好。以下是我在以前的文章中使用的一些示例,以说明您可以从Azure认知服务中的Vision API中获得什么:

 

图片

结果

图片

结果



图片

结果



2.使用AI从文档中提取实体,关键短语和情感

我们生活在一个文档世界中,而在Microsoft 365世界中,这通常意味着许多团队和SharePoint网站中充满了文档,通常只带有最少的标记或元数据。没有人愿意手动标记保存的每个文档,因此即使管理良好的DMS也只能在目标区域提供此功能。自动标记产品已经存在了一段时间,但是由于昂贵的价格标签和无效的算法,历史上提供的投资回报率很低。结果,搜索信息的动作通常涉及在查找所需细节之前打开多个文档并进行浏览。

如果我们可以从文档和已知实体(组织,产品,人员,概念等)中提取关键短语,并将其突出显示在标题旁边,以便在打开之前更清楚内容,该怎么办?技术日新月异,Azure的Text Analytics API远远优于过去的产品。在下面的简单实现中,我只是将SharePoint库中的每个文档发送到API,然后将生成的关键短语和实体存储为元数据。我还获得了这份文件的感悟分数作为奖励:  

更高级的实现可能会提供指向文档中已识别实体的更多信息的链接。 Text Analytics API在此处具有非常好的功能-如果识别出在Wikipedia上具有页面的实体(例如,组织,位置,概念,知名人士等),则该服务将检测到该信息以及响应数据该项目将包含指向Wikipedia页面的链接:

的re are lots of possibilities there of course!


3.使用语音到文本AI为旧电话,会议和网络研讨会创建可搜索的笔录

如果您的公司使用Microsoft 365,则Stream已经可以进行高级语音转文本处理-特别是可以自动在视频中生成语音音频记录的功能。对于录制重要的演示或团队要求其他人稍后查看的功能,此功能非常强大。但是,并非每个组织都在使用Stream-也许还有其他原因导致某些现有的音频或视频文件不应该在那里发布。 

无论如何,许多组织 周围可能有很多这类内容,可能来自网络研讨会,会议或旧的Skype通话。不用说,所有这些语音内容都无法以任何方式进行搜索-因此,当其他人通过搜索引擎寻找答案时,任何有价值的讨论都不会浮出水面。这是一个巨大的耻辱,因为口头表达的见解可能与文档中记录的见解一样有价值。 

有关Microsoft Stream成绩单的注释

尽管Stream为组织视频带来了令人难以置信的功能,但值得注意的是,成绩单是 通过Microsoft 365搜索进行搜索-仅通过Stream中的“深度搜索”进行搜索。因此,如果您已经在某个特定的视频中进行了磨合并希望在其中进行搜索,则深度搜索是有效的-但是,如果您正处于尝试查找特定主题的内容的第一步,则当前不会在全局级别搜索视频通过这种方式。

仅语音内容也带有其他负担。仅作为一个例子,对于母语与说话者不同的任何人来说,可能难以消化和理解。 

的 Azure Speech Service 所有ows us to perform 许多 operations such as:

  • 语音转文字
  • 文字转语音
  • 语音翻译
  • 意图识别

更高级的方案还包括呼叫记录,完整的对话转录,实时翻译等。在呼叫中心世界中,诸如Audiocodes和Genesys之类的产品非常受欢迎,并且越来越与Azure的高级语音功能集成在一起-实际上, 如今,Azure具有专用的实时呼叫中心功能

不过,从简单的角度来看,如果您的公司确实有很多语音内容可以从转录中受益,那么您无需花费太多精力就可以做到这一点。我针对API编写了一些示例代码,并测试了用PC麦克风录制的简短录音-我不需要告诉你我说了什么,因为API几乎是逐字记录的: 

如果我们要分开头发,实际上我是说这句话的,所以第一个句号(句号)应该说是逗号。当然,这是一段简短的录音,但是正如您所看到的那样,识别级别非常高-令人惊讶的是,API甚至成功地正确拼写了O'Brien! 

这是调用API所需的代码,大致与文档中所述相同:


支持技术- Azure认知服务-语音API  (在这种情况下为语音转文字) 

4.使用AI翻译文件 

这种情况的原因很容易理解-一个组织可能有多种原因来翻译文档,并且基于AI的机器翻译已经足够先进,以至于对于许多用例而言都足够精确。与国际供应商或客户合作可能是一个例子,或者可能是因为在全球组织中搜索还不够有效-用户使用其语言进行搜索,但是关键内容只能以另一种语言提供。 

Azure允许您以非常经济高效的方式单独或通过API或脚本大规模转换文档。我不需要建立任何东西来利用它,因为现成的前端以 文档翻译器应用 在Github中-一旦挂接到我的Azure订阅,就可以开始了。 在此工具中,如果您提供文档,则可以获取完整的文档-换句话说,传入PowerPoint平台并获得一个文件,其中每张幻灯片都被转换为文档-无需将任何内容粘贴回去。 的 Translator capability in Azure Cognitive Services 所有ows you to tap into same translation engine behind Teams, Word, PowerPoint, Bing and 许多 other Microsoft products, 而且还可以建立自己的自定义模型来理解特定于您案例的语言和术语。 

我的法语有点生锈,但是这些对我来说看起来不错: 


您已经拥有的文档翻译提供了许多可能性,改进的搜索仅是一个示例。但是,还有许多其他高价值的翻译方案,例如实时语音翻译- something 那's 现在 possible in Teams Live Events。借助Azure认知服务,还可以在无需使用团队的情况下将功能内置到自己的应用程序中,并且您可以在下面使用同一个后端。


5.从发票,合同等文件中提取信息

在较早的示例中,我们讨论了如何提取关键短语,实体和情感。不过,在某些情况下,文档内有价值的内容会在文档的特定部分(例如表格,一组订单项或总计)中找到。世界上的每个组织都有结构松散的文档,例如发票,合同,费用收据和订单表格-但是有价值的内容通常被深深地嵌入,每个文档都需要打开才能获取。随着 表格识别器 借助Azure的强大功能,您可以针对常见场景使用预建模型,也可以自己训练自定义模型,从而使AI可以学习非常具体的文档结构。这是Project Cortex中的一种功能(本质上是与SharePoint文档库紧密集成的版本),但是自己插入Azure服务可能更具成本效益。 

一些例子是:
  • 形式 -通过培训表格来提取表数据或键/值对
  • 收据和名片 -使用Microsoft的预建模型
  • 从文档布局中提取已知位置 -从文档的特定位置(包括手写内容)提取文本或表格,方法是在训练模型时突出显示目标区域 
因此,如果您有这样的文档:


..您可以提取关键数据并更好地利用它(例如,存储为可搜索的SharePoint元数据或提取到数据库中以从非结构化数据转换为结构化数据)。  

支持技术- Azure认知服务-视觉API (在这种情况下为表格识别器) 

结论

AI触手可及 现在,而无需编码或复杂的实现双色球推荐一注就可以实现上述许多情况。当然,需要某个人或团队知道如何将Azure AI构建块与Microsoft 365结合在一起,但是复杂性和成本障碍正在消失。 

除了我在此处介绍的场景外,在用例中还可以发现很多价值 结合 以上某些功能以及其他操作。您可能会推出自己的解决方案而不用投资昂贵的平台的一些示例可能是:
  • 分析通话记录以获取情感(运行语音到文本的翻译,然后导出情感)并提供Power BI报告
  • 从安全摄像机执行图像识别,如果检测到特定内容,则发送推送通知或发布到Microsoft团队
  • 自动翻译首席执行官演讲或市政厅活动的笔录,并发布在 a regional intranet
的 AI element of 所有 of these scenarios and more 是 现在 easily achieved with Azure. What a time to be in technology!


2020年7月30日,星期四

使用Azure DevOps运行敏捷开发冲刺

在上一篇文章中,我们讨论了一些基本知识 使用Azure DevOps进行团队合作 -特别是不需要成为开发双色球推荐一注重点的想法。正如我上次提到的,在这里的内容和代码中,我们拥有各种使用Azure DevOps中的Boards功能的团队-除了我们的开发团队之外,架构师和平台/基础架构团队还管理他们的项目双色球推荐一注和每周双色球推荐一注在服务中。

It's certainly true 那 DevOps 虽然主要针对开发人员,但对于使用sprint或迭代进行敏捷开发的团队来说,还有一些很棒的功能。在本文中,我们将深入研究诸如sprint板,燃尽图和累积流程图之类的工具-所有极有价值的工具,至少在团队成员摇摆不定时,可帮助团队衡量其双色球推荐一注并不断从sprint改进。使用它们。 

首先,让我们考虑一下动机。

为什么这样我们在没有Azure DevOps的情况下生存了很长时间! 

Many 要么 ganizations have development teams who are getting by with approaches 他们've used for a long time. 的re are a series of inefficiencies and guesswork 那 are somewhat invisible, and just accepted as "这是一个s good as it gets". Symptoms of this include:
  • 项目经理不断要求更新 
  • 同事,甚至团队中其他开发人员的定期打扰
  • 难以解释为什么要进行更改
  • 进度估计数缺乏明确性
  • No understanding of whether team 生产率is improving 要么 declining
Azure DevOps不是解决这些问题的唯一方法,但是它 确实 提供应对这些挑战的平台,它无疑为您带来了很多繁重的双色球推荐一注。一旦团队以某种方式双色球推荐一注,事情就开始流动 周围 系统中的双色球推荐一注项-减少对话和中断以使人们的双色球推荐一注保持同步的需要,因为系统中有很多答案。这甚至扩展到尝试避免对团队(或Slack或其他聊天工具)中的同事执行ping操作,而是在带有@mentions的Azure DevOps双色球推荐一注项目的注释中进行更多对话-此对话稍后可能对参与者很有用或其他。站起来变得更有效率,并且剩余的对话具有很高的价值,而不是事务性的“何时使用X完成?”输入问题。 

第1步-创建一个项目并选择您的流程(例如敏捷或Scrum)

的 first thing you'll need of course, 是 an Azure DevOps project created using the methodology you prefer. DevOps gives you four main types, but you can customize these to add your own (notice the last two items):

如果您不熟悉这些类型,我建议:
  • Basic非常适合非开发或非常简单的双色球推荐一注,并且任务分类很少(在撰写本文时仍在预览中)
  • 敏捷和Scrum是最常见的 
  • CMMI仅适用于“高形式”开发 
主要区别在于双色球推荐一注流状态(例如,“新的”,“活动的”,“已解决的”,“已关闭的”,“已删除,用于敏捷”,但使用“已批准”和“已承诺用于Scrum”,开发团队必须在此sprint中“承诺”执行这些任务)以及故事用于计划中。 The 选择一个过程 DevOps文档中的“页面”是您的指南。

的 next step 是 to enter your work items into the system. Usually you'll break these 做wn into user stories 要么 features, with tasks underneath. I'm going to skip over this bit because it's relatively simple once you've created the first one, but the 添加和更新双色球推荐一注项 页面提供指导。 敏捷的主要原则之一是创建总体双色球推荐一注积压(不断发展),然后在进行时将其分配到迭代/冲刺中。 您将产品积压双色球推荐一注用于整个程序或项目,并将sprint积压双色球推荐一注用于每次迭代。 

的 whole world of backlogs and boards in Azure DevOps 是 quite deep - see 三种积压案,两种类型的董事会 as a good primer, but remember 那 you 做n't have to use every feature. 

第2步-设置团队能力并设置冲刺

Once you have an overall product backlog, we're ready to start thinking about chunking the work into individual sprints. I show some of the most important next steps in the video below. 的 first minute of the video in particular shows:
  •  定义团队能力 -告诉系统每个团队成员每天有多少小时
    • 这对于DevOps计算团队在特定时期内可能完成的双色球推荐一注量的能力至关重要。如果您没有告诉它有多少小时可用,那么如何进行预测呢?您还可以设置每种活动类型的金额,例如设计,开发,部署,文档,测试等。
  • 使用预测工具将双色球推荐一注分配给下一个冲刺- 积压视图 通过预测在可用时间内有多少双色球推荐一注可以帮助您将双色球推荐一注分解为迭代/冲刺。将项目拖到sprint中以进行确认。
    • 想象一下,您有2 x 20小时的任务,而您有10 x 4小时的任务。显然,这里要完成的任务数量有很大的不同-预测工具可以通过在冲刺将要结束的位置在任务列表中画一条线来帮助您看到这一点-从而帮助团队做出决定冲刺  
    • In the video I show how adjusting the "velocity" parameter (how fast the team are working) changes how much gets 做ne - you see the line changing position in the list of tasks. 的 velocity number 是 是 something you tweak over time using data from Azure DevOps
从那里,我展示了在DevOps中运行sprint的各种其他功能-董事会的使用,更新任务等:


的 video actually covers 许多 在sprint中双色球推荐一注的不同元素,而不仅仅是初始设置。以下是我们在视频中看到的摘要:


因此,希望视频和评论传达了使用Azure DevOps进行开发sprint的一些关键原则。那我们可以使用的一些工具呢?

的 burndown chart

燃尽图表是Azure DevOps中更正式的“燃尽趋势报告”,是帮助管理冲刺的经典工具。它为团队提供了相对于当前冲刺计划的进度视图,指示事情是提前还是落后于进度。这是我们的一个项目/冲刺的真实燃尽示例,其中对一些指标进行了注释:












的 blue area represents work still to be completed, and the grey line indicates linear progress from start to end of the sprint. Comparing the two helps show where you are against plan. You can use either 剩余时间 要么 双色球推荐一注项数 代表剩余的作品,前者通常更有意义。 

的 sprint above 确实n't have non-working days configured, so 那 would be a nice improvement to show a more accurate picture. 

有关燃尽图的更多信息,请参见 配置和监视sprint消耗.


的 Cumulative Flow Diagram

的 CFD 是 a fantastic tool once your team has been working for a period. It helps you understand how work flows the process, in particular:
  • 周期时间-项目平均处于活动状态的时间(即从某人开始处理该项目的时间到完成时间)
  • 提前期-物料的平均端到端时间(即从物料创建到完成的时间)
我将以下幻灯片用作我们其中一个项目的CFD的示例:

这是一个有助于解释某些要素的图表:

 

有关累积流程图的更多信息,请参见 累积流量,提前期和周期时间指导。

概要

Azure DevOps可以真正推动开发团队实现更多目标。值得注意的是,一些好处来自围绕系统中的双色球推荐一注项集中更新,讨论和问题-而不是单独进行讨论且有些脱离上下文(例如对团队中的同事进行ping)。这并不意味着 所有 交流是通过这种方式发生的,但是朝这个方向的微妙动作可以极大地帮助您。 

除此之外,还需要满足以下先决条件才能获得好处:
  • 确保将项目任务(双色球推荐一注项)输入到系统中,并估算每个任务的双色球推荐一注量
  • 定义一系列迭代(冲刺)以将项目分解为多个时间段
  • 定期更新任务上的“剩余双色球推荐一注量”
  • 使用预测和分析工具来不断改进
希望这是有用的。如果您没有阅读有关DevOps电路板基础知识的第一篇文章,请访问以下网址:

2020年6月30日,星期二

使用Azure DevOps管理团队合作

在过去的两年中,在内容和代码部观察Azure DevOps的兴起非常有趣,尤其是看到使用范围已扩展到开发团队之外。现在我们有几个团队  以开发人员为重点,使用平台来管理他们的双色球推荐一注-包括架构和平台/基础架构团队,他们的双色球推荐一注面向构想,设计,配置,安全性或测试。在许多情况下,团队负责人一直在寻找Microsoft堆栈中某个任务管理工具,该工具具有比Planner或To Do更强大的功能,并且没有Project Online的项目管理重点。在某些情况下,其双色球推荐一注涉及文件(例如PowerShell脚本或JSON代码段),但通常不涉及文件。常见的事情是团队的双色球推荐一注需要进行管理-引入Azure DevOps董事会后,每个人似乎都喜欢董事会提供的功能集及其为双色球推荐一注带来的清晰度。能够理解优先级,谁在忙于什么以及如何将各种任务相互关联是团队合作的基础,但在DevOps董事会中做得很好。能够在不追逐所有者的情况下保持最新的状态,就可以以显着的方式改变团队的动力-令人惊讶的是,可以避免多少次打扰和提高团队的效率。 

在接下来的几篇文章中,我想谈一谈Azure DevOps如何在许多情况下提供帮助-不仅限于高级开发团队。 

我使用下面的幻灯片总结了一些好处-这是在针对开发人员的演示中,但是有趣的是,只有两点是特定于开发双色球推荐一注的:

顺便说一下,幻灯片显示了Azure DevOps中“双色球推荐一注详细信息”窗格的屏幕截图。仅此一项功能就非常强大,可以查看分配给每个团队成员的双色球推荐一注量以及这与预先定义的限制之间的关系。通过定义 容量 每个人在特定时期都有空余时间,这意味着可以考虑休假,从事其他项目的双色球推荐一注以及可以节省时间的其他任何事情,从而使预测和时间管理保持准确:
除了我公司的体系结构和平台/基础架构团队的示例外,我认为甚至在整个ITSM流程之外还有一些小型支持团队也可以使用Azure DevOps而不是其他工具的情况-稍后会详细介绍。总体而言,我看到了不同级别的Azure DevOps使用情况,其中只有运行敏捷sprint的开发团队可能会迁移到2或3级,但是1级可以为许多不同的团队双色球推荐一注:

为了稍微说明一下,以下是这些不同使用级别的含义概述:


目前,其中一些可能并不意味着太多,但我们将在这些文章中进一步探讨不同的领域。

深入了解Azure DevOps板

如果您不熟悉Boards功能,那么前提是团队可以看到任务积压的可视化面板,在其中可以将项目简单地拖到另一列以更新状态,类似于实物板(看板)。当然,这类似于Trello,Planner或其他一些任务管理工具。就个人而言,我喜欢以下功能:
  • 能够定义自己的列-这些列通常会映射到单个项目状态,例如新建,已批准,进行中等,但您也可以映射 指出诸如“ Build and Test”之类的列
  • 能够定义泳道以全面 水平地 -帮助对项目进行分类,而不管其状态如何
  • 样式规则-我喜欢实现的一些示例包括:
    • 将卡的颜色更改为红色,以表示物品被阻塞或过期
    • 突出显示卡上显示的某些标签的标签-上图以黄色突出显示了带有“数据”标签的任何项目,以便团队可以快速识别这些任务,例如
  • 实时更新-意味着无需更改页面即可立即反映其他团队成员的更改
这是一个展示其中某些功能的电路板示例:


设置Azure DevOps项目

在下面的视频中,我演示了从零开始的过程-创建一个新的DevOps项目,然后添加一些问题和任务以分配给团队成员。我认为,使用项目和使用某些协作功能给用户带来了良好的体验:


非常多 该视频中显示了其中的基本功能-定义任务,标记,使用拖放操作来更新板上的项目状态,使用@功能等协作功能以及在更改项目时“跟随”以接收更新,等等。显示的元素可以汇总到此列表中,分为三个区域:


概要

使用Azure DevOps可以快速轻松地开始。通常,您可以从最初获得的5个用户免费中获得许可,然后再获得许可 之后,每位使用者每月$ 6。在本文中,我们探讨了一些支持现代团队合作的功能-我的经验是,它们确实可以很好地适用于各种团队。尽管Azure DevOps为开发人员带来了很多好处,但我们肯定已经在内容和代码的其他上下文中看到了它的良好效果。 

回到不同的用法级别,本文和视频着重于第一级(“简单”):   

在下一篇文章中,我将介绍一些有助于团队运行sprint的敏捷功能,包括使用诸如燃尽图,累积流图之类的工具-这些工具可帮助团队通过一系列任务和总体速度来了解其进度随着时间的推移: