USDS数字服务手册

2021-01-01 08:05:39

美国人希望通过网站,电子邮件和移动应用程序等数字渠道与政府互动。通过构建满足其需求的数字服务,我们可以使我们的政策和计划的交付更加有效。

如今,我们太多的数字服务项目无法正常运行,交付延迟或超出预算。为了提高这些项目的成功率,美国政府需要一种新的方法。我们根据私营部门和政府的成功做法创建了一个包含13个关键“剧本”的剧本,这些剧本如能得到遵循,将有助于政府构建有效的数字服务。

我们必须通过探索并指出使用该服务的人们的需求以及该服务适合他们生活的方式来开始数字项目。无论用户是公共成员还是政府雇员,决策者都必须从一开始就将真实的人纳入其设计过程。人员需求(而不是政府机构或孤岛的约束)应为技术和设计决策提供依据。我们需要与真实的人不断地测试我们制造的产品,以使我们对重要事物保持诚实。

使用一系列定性和定量研究方法来确定人们的目标,需求和行为;考虑花费的时间

创建用户要完成的任务的优先列表,也称为“用户案例”

在构建数字服务时,请定期与潜在用户进行测试,以确保其满足人们的需求

我们需要了解人们与我们的服务交互的不同方式,包括他们通过移动应用程序,电话或亲自进行的在线操作。每次遇到-无论是在线还是离线-都应使用户更接近他们的目标。

了解人们与在线服务互动的不同点 识别当前用户与服务交互方式的痛点,并根据用户需求对其进行优先级排序 设计服务的数字部分,使其与人们用来与服务交互的脱机接触点集成 制定度量标准,以衡量服务在服务的每个步骤中满足用户需求的程度 人们当前完成数字服务旨在帮助其完成的任务的方式(在线和离线)有哪些? 该特定项目在哪些方面适合人们当前获得所提供服务的更大方式? 使用政府服务不应造成压力,混乱或令人生畏。 我们的工作是建立足够简单直观的服务,以使用户能够在没有帮助的情况下首次获得成功。

为服务使用简单灵活的设计风格指南。使用美国网页设计系统作为默认设置

如果用户在使用服务时需要帮助,他们如何获得服务?

我们应该使用渐进的,快节奏的软件开发方式来减少失败的风险。我们希望尽早将工作软件移交给用户,以使设计和开发团队有机会根据用户对服务的反馈进行调整。一项关键功能是能够自动测试和部署服务,以便可以经常添加新功能并轻松将其投入生产。

交付功能正常的“最低可行产品”(MVP),以从项目开始之日起不超过三个月内尽快解决核心用户的需求,并根据需要使用“测试”或“测试”期间

经常运行可用性测试,以查看服务的运行情况并确定应进行的改进

使用启动会议,战略室,日常站立和团队聊天工具等技术,确保构建服务的个人紧密沟通。

保持交付团队的规模和重点;限制将这些团队与业务所有者区分开的组织层

创建功能和错误的优先列表,也称为“功能待办事项列表”和“错误待办事项列表”

运送MVP需要多长时间?如果尚未发货,什么时候发货?

在开发过程中如何收集用户反馈?该反馈如何用于改善服务?

为了在外包开发工作时增加成功的机会,我们需要与经验丰富的预算和外包人员合作。如果我们使用第三方来帮助构建服务,则定义明确的合同可以促进良好的开发实践,例如进行研究和原型设计阶段,在构建服务时细化产品要求,评估开源替代方案,确保频繁的交付里程碑,并允许灵活地购买云计算资源。

《 TechFAR手册》详细解释了《联邦采购法规》(FAR)中的灵活性,这些灵活性可以帮助机构实施此工作。

合同为政府交付团队提供了足够的灵活性,以随着项目的发展调整功能的优先级和交付进度

合同规定,第三方生成的软件和数据仍在我们的控制之下,并且可以在适当的情况下并依法重新使用并发布给公众

合同使我们能够使用具有各种定价模型的供应商提供的工具,服务和托管服务,包括固定费用和可变模型,例如“按使用量付费”服务

合同规定了保修期,由卖方解决公众发现的缺陷,而无需政府额外付费

合同中定义了哪些绩效指标(例如,响应时间,系统正常运行时间,解决优先级问题的时间段)?

必须只有一个产品所有者,他有权和有责任分配任务和工作要素;制定业务,产品和技术决策;并对整体服务的成功或失败负责。该产品所有者最终负责该服务满足其用户需求的程度,这是评估服务的方式。产品负责人负责确保构建了功能,并管理功能和错误积压。

所有利益相关者都同意产品所有者有权分配任务并就功能和技术实施细节做出决策

产品负责人具有产品管理背景,具有技术经验,可以评估替代方案并权衡取舍

产品负责人的工作计划包括预算估算并确定资金来源

已经进行了哪些组织更改以确保产品所有者对项目有足够的权限和支持?

产品负责人需要什么才能在服务中添加或删除功能?

我们需要在政府部门工作的具有创造现代数字服务经验的人才。这包括引进经验丰富的产品经理,工程师和设计师。当需要外部帮助时,我们的团队应与了解如何评估第三方技术能力的承包商官员合作,以便我们的团队可以与擅长构建和提供有效数字服务的承包商配对。团队的组成和经验要求将根据项目范围而有所不同。

团队成员具有现代开发和运营(DevOps)技术的经验,例如持续集成和持续部署

如果将第三方用于开发工作,则由内部的联邦承包商官员负责

部门或机构的适当隐私权,公民自由和/或法律顾问是合作伙伴

我们做出的技术决策需要使开发团队能够高效地工作,并使服务能够轻松,经济高效地进行扩展。我们在选择托管基础结构,数据库,软件框架,编程语言和其他技术堆栈时应选择避免供应商锁定,并与当今成功的现代消费者和企业软件公司选择的产品相匹配。特别是,数字服务团队应考虑在整个技术体系中使用开源,基于云和商品的解决方案,因为私有服务领域成功的消费者和企业技术公司已广泛采用和支持这些解决方案。

尽可能确保软件可以部署在各种商用硬件类型上

确保每个项目都有清晰易懂的说明来设置本地开发环境,并确保团队成员可以快速添加或删除项目

我们的服务应部署在灵活的基础架构上,可以在其中实时配置资源,以满足流量和用户需求的高峰。当我们将数字服务托管在自称为“云托管”的数据中心中托管但要求我们直接管理和维护硬件时,我们的数字服务就会严重受损。这种过时的做法浪费了时间,削弱了我们的灾难恢复计划,并导致成本大大提高。

供应新资源(例如应用程序服务器)需要多长时间?

您如何为托管基础架构付费(例如按分钟,每小时,每天,每月,固定)?

如果数据中心遭受灾难性灾难,服务需要多长时间才能运行?

您在系统中内置了哪些数据冗余?灾难性数据丢失会带来什么影响?

您需要多久与托管服务提供商联系一次以获得资源或解决问题?

如今,开发人员可以编写自动脚本,这些脚本可以在几分钟内验证数千种方案,然后每天多次将更新的代码部署到生产环境中。他们使用自动性能测试来模拟流量激增,以识别性能瓶颈。尽管仍然需要手动测试和质量保证,但自动化测试可提供一致且可靠的保护,以防止意外退缩,并使开发人员可以放心地发布服务的频繁更新。

构建,测试新功能并将其部署到生产中需要多长时间?

想要使用该系统的并发用户的最大估计数量是多少?

根据最新的容量测试,系统可以同时处理多少个用户?

当您超出预期的目标使用量时,该服务的性能如何?它会优雅地降级还是灾难性地降级?

我们的数字服务必须保护敏感信息并确保系统安全。通常,这是一个持续审查和改进的过程,应建立在服务的开发和维护中。在开始设计新服务或功能时,团队负责人应聘请适当的隐私,安全和法律官员讨论所收集信息的类型,应如何保护,保存多长时间以及如何使用。它可以被使用和共享。隐私专家的持续参与有助于确保正确管理个人数据。此外,构建安全服务的关键过程是全面测试和认证技术堆栈每一层中的组件是否存在安全漏洞,然后将这些相同的预先认证的组件重新用于多个服务。

以下清单提供了一个起点,但团队应与他们的隐私权专家和安全工程师紧密合作,以满足特定服务的需求。

请与部门或机构的相应隐私或法律官员联系,以确定是否应该进行记录系统通知(SORN),隐私影响评估或其他审查

与记录员协商,确定收集什么数据,为什么,如何使用或共享数据,如何存储和保护数据以及保留多长时间。

与隐私专家协商,确定是否以及如何通知用户有关如何收集和使用个人信息,包括是否需要隐私策略以及隐私策略应出现在何处,以及在发生安全漏洞时如何通知用户

考虑用户是否应该能够访问,删除或从服务中删除其信息

该服务是否从用户那里收集个人信息?如何通知用户此收藏集?

它收集的信息是否超出了必要?可以以普通用户无法预期的方式使用数据吗?

系统中存储的任何个人信息是否会与其他服务,人员或合作伙伴共享?

在项目的每个阶段,我们都应该衡量我们的服务为用户服务的良好程度。这包括测量系统的性能以及人们如何与之实时交互。我们的团队和机构领导应仔细观察这些指标,以发现问题并确定应优先解决哪些错误和改进。除监控工具外,还应建立反馈机制,使人们可以直接报告问题。

实时跟踪并发用户,并监视总体中的用户行为,以确定服务满足用户需求的程度

您的服务的目标平均响应时间是多少?超过1秒,2秒,4秒和8秒的请求百分比是多少?

前10个交易的平均响应时间和百分位数细分(请求花费超过1s,2s,4s和8s的百分比)是多少?

您的服务的前10大交易中的每笔交易量是多少?已开始交易与已完成交易的百分比是多少?

您的服务的每月正常运行时间百分比是多少(包括定期维护)?不包括定期维护?

当我们公开协作并公开发布数据时,我们可以共同改善政府。通过更开放地构建服务并发布开放数据,我们简化了公众对政府服务和信息的访问,使公众可以轻松地做出贡献,并使企业家,非营利组织,其他机构和公众能够重复使用。

为用户提供一种报告错误和问题并响应这些报告的机制

通过批量下载和API(应用程序编程接口)完整地向公众提供数据集

确保来自服务的数据明确地属于公共领域,并通过国际公共领域的奉献在全球范围内放弃权利,例如“知识共享零”豁免

在代理商的企业数据清单中对数据进行分类,并将所有公共数据集添加到代理商的公共数据列表中

确保我们以可释放和可重复使用的方式维护第三方对所有第三方开发的所有数据的权利,而无需向公众收费

确保我们以可免费发布和重新使用的方式,维护对第三方开发的所有定制软件的合同权利

在适当的时候,为第三方和内部用户创建版本化的API,以直接与服务进行交互 如果有API,它提供什么功能? 版本化了吗? 谁使用它? 如何记录?