37过程规模与协作规模化的过程方法.pdfVIP

  • 2
  • 0
  • 约5.66千字
  • 约 6页
  • 2021-01-24 发布于北京
  • 举报
2018/10/26 极客时间 | 程序员进阶攻略 讲堂 程序员进阶攻略 文章详情 37 | 过程:规模与协作——规模化的过程方法 2018-10-26 胡峰 37 | 过程:规模与协作——规模化的过程方法 朗读人:刘飞 12′31′′ | 5.73M 在学校时,你学习编程,写写课程作业的代码,但你想过真正的行业里,公司中的规模化开发方 式是怎样的吗?在上一篇 《核心:安全与效率》的文中,你应该还记得我讲的那个电站的例子, 那么编写课程作业的代码就像搭建的 “酒精灯电站”,而工业级的规模化开发才是建设 “真实 电站” 的方式。 工业级规模化的程序系统开发包括了一系列的过程,而这一系列过程的起点是:需求。 需求与调度 需求,有时会有很多不同的表达形式,包括:客户的诉求、用户的请求、老板的要求,但这些不 同的表达形式,不一定是真正的需求。 客户的诉求,更多来自传统甲、乙方关系的场景,在软件工程过程中有一个子过程——需求工 程——去对客户的诉求进行分析和提炼,并转化为需求文档。用户的请求,更多来自互联网 toC 的场景,通过洞察大量用户请求中的共性去提炼并转化为真正的产品需求。老板的要求,更 /column/article/42683 1/6 2018/10/26 极客时间 | 程序员进阶攻略 多是因为老板也可能是你的产品用户之一,但这个用户的特殊之处在于,他为这个产品 。所 以,他的要求无论合理与否都能很容易地变成需要开发的需求。 正因为需求的来源多,表达形式也多,因而真实情况是 “需求” 似乎总是源源不绝,但是真正 的需求往往隐藏在这些诉求、请求与要求的表象之下。这是关于 “需求” 的第一个困难点。如 果我们总是能找出真正的需求,那么也许需求也就没那么多了。但现实往往是我们不能,那么需 求过载的场景就会常常发生。 这时,你就会面临第二个困难,如何对过多的需求进行排序? 为什么需要排序?我们进行需求排序的原因是,在有限的资源下我们想要达到如下目标: 最大化用户、客户和老板的整体满意度; 最大化价值与产出,让最多的资源投入到最有价值的需求上。 只有当用户需求被快速地满足时,他们才会感到满意。但在有限资源限制的条件下,我们不可能 让所有用户的需求都能被快速满足。面对这样的矛盾,我们也许可以学习、借鉴下操作系统的资 源调度策略。 我用了好多年的 Mac 和 iPhone,发现它们相对同等资源配置的 Windows 和 Android 机,在 满足用户使用的响应性方面要好得多,特别是在使用了几年之后,这种差距会更明显。 在同等硬件资源配置的情况下,Mac 和 iPhone 表现得更好,只可能是其操作系统的资源调度 策略实现更优秀。通常,操作系统需要同时执行多个应用程序时,它的执行调度策略就会在多个 应用程序间不停切换,有如下几种常见的调度策略: 1. 先来先执行 2. 执行起来最快的先执行 3. 占用资源最少的先执行 4. 释放资源最多的先执行 5. 高优先级的先执行 当资源充足,只用策略 1 就足够了,但更多情形下需要综合后 4 种策略。比如:老板的要求天 生自带高优先级,需要先执行;而一些小需求,优先级不高,但执行快,占用资源少,随着它们 排队的等待时间延长,优先级可以逐步提升,以免消耗完用户的等待耐心,形成 评价。 当用户同时运行的应用程序确实太多时,操作系统发现资源无论如何调度都不够了,它有一个选 项是提供了资源消耗的监视器,来提示用户主动停掉一些同时运行的应用,而最后的底线是操作 系统主动杀掉一些应用程序以释放资源,以保障系统还能正常地运转下去。那么我们在调度需求 时,是否也能以透明的资源消耗监视提示用户主动控制需求或选择 “杀” 掉需求,然后还不降 低用户的满意度呢? /column/article/42683 2/6 2018/10/26

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档