Jan 18 2021 |
Logged in as : candidate
Introduction
考试说明
本试卷是EXIN DevOps Master™ (DEVOPSM.CH)模拟考试。 EXIN考试准则适用于该考试。
本试卷由50 道单项选择题组成。每道选择题有多个选项,但这些选项中只有一个是正确答案。
本试卷的总分是50分。每道题的分数是1分。您需要获得33分或以上通过考试。
考试时间为120分钟。
祝您好运!
Copyright © EXIN Holding B.V. 2020. All rights reserved.
EXIN® is a registered trademark.
DevOps Master™ is a registered trademark.
Question
1 of 50
在一个组织内实施DevOps有什么好理由?
What is a good reason to implement DevOps in an organization?
对于新的服务,DevOps的反馈周期更为频繁,因为开发速度更快。
DevOps has more frequent feedback cycles for new services, because the development speed is higher.
DevOps会提高业务连续性和敏捷性,因为各过程得到优化,只完成有增值的活动。
DevOps improves business continuity and agility, because the processes are optimized and only value added activities are done.
DevOps提供即时生产的新服务,因为发布软件更加频繁。
DevOps provides the new services Just-in-Time, because it releases software more frequently.
DevOps减少了开发团队和运维团队之间协作的浪费,因为它们得到了统一。
DevOps reduces waste in the collaboration between Development and Operations, because they are unified.
Question
2 of 50
首席技术官认为,在实施DevOps时,最有效的方法是将精益的相关概念应用在DevOps过程中
请问,在引入DevOps时,精益管理的哪些原则或实践方法最有效?
The CTO thinks that it would be most effective to apply certain Lean concepts when implementing DevOps.
Which Lean principles or practices will be
most
effective when introducing DevOps?
Kaizen(专有词,意为小的、不花钱的持续改善)与5S。
由于Agile和DevOps是以精益的核心思想为基础、而持续改善与5S是精益的基础,因此在引入DevOps时,使用这些概念最为有效。
Kaizen and 5S.
Because Agile and DevOps are based on core Lean concepts and Kaizen and 5S are the basis of Lean, they will be most effective when introducing DevOps.
先实施Kaizen。
DevOps要求运维团队对开发团队进行持续反馈。先实施Kaizen能够形成上溯反馈环路,有助于这一原则在DevOps实施中的应用。
Kaizen in advance.
DevOps requires feedback from Operations to Development. Kaizen in advance creates an up-stream feedback loop, helping to apply this principle in DevOps.
Obeya系统。
DevOps整合了不同的管理流程。Obeya系统提供了整个流程的可视化,为成功引入DevOps创造条件。
Obeya system.
DevOps integrates different management style processes. The Obeya system helps visualize the entire process, allowing for a successful DevOps introduction.
单件流与质量检查。
DevOps从上溯流程和单一价值流的构建中获益。单件流实现了这一点,而质量检查有助于改善/简化和实施该流程。
One piece flow and JKK.
DevOps benefits from building up-stream processes and a single value stream flow. One piece flow enables this and JKK helps streamline and implement the flow.
Question
3 of 50
与采取传统方式的项目相比,若一个项目要成功实施DevOps,需要改变哪些内容?
Compared to a project in a conventional manner, what must be changed for a project to be successful in DevOps?
应该建立一个IT服务供应链,采用拉式系统和单件流。
An IT-services supply chain, using a pull system and one-piece-flow, should be built.
为快速维护这些服务,开发人员应当加入运维团队。
Developers should join the Operations team for quick maintenance of the services.
运维部门应当为开发团队服务。正因如此,才称之为。
DevOps。Operations must work for the Development team. That is why it is called DevOps.
来自运维团队的团队成员应当加入开发团队。
Team members from the Operations team should join the Development team.
Question
4 of 50
任何采用DevOps的团队都可以表述为契约(Compact)。
为发挥契约作用,什么原则
最
实用?
Any team that adopts DevOps, could be described as a Compact.
What principle applies
best
to make a Compact work?
动态协作
Dynamic collaboration
持续沟通
Ongoing communication
减少周期
Reducing cycles
共同责任制
Shared accountability
Question
5 of 50
为了实施DevOps,有很多可用的知识来源、标准和实践。
其中哪一项被认为是成功实施DevOps的
关键
?
To implement DevOps, there are many sources of knowledge, standards and practices available.
Which one is considered
key
for a successful DevOps implementation?
CMMI 3级
CMMI Level 3
纪律性敏捷
Disciplined Agile
ISO 20001
ISO 20001
PMI PMBok
PMI PMBok
Question
6 of 50
协作是有效DevOps的四个支柱之一。
为何合作如此重要?
Collaboration is one of the four pillars of Effective DevOps.
Why is it so important?
协作是实现DevOps单件流的唯一途径。
Collaboration is the only way to achieve one-piece-flow in DevOps.
DevOps商业价值通过团队之间的协作得以实现。
DevOps business value is achieved through cooperation between teams.
DevOps组织较小,团队必须密切协作。
DevOps organizations are small, the teams must collaborate well.
它推动变革,这是一场容易取得的胜利。它还降低了开发成本。
It drives change and is an easy win. It also reduces development costs.
Question
7 of 50
你是一家小型DevOps公司的所有者,公司共有5名同事,主营业务是为残障儿童构建移动端应用。你团队最引以为豪的应用之一是一个为自闭症儿童打造的应用,功能是让他们能够安排自己的日常生活。
因为这个应用大获成功,你的团队受到请求,有人希望应用的性能能够得到扩展,让其他人也可以从安排生活行程之中获益。这项请求肯定会使代码更加复杂,团队还会必须应对一些技术上的挑战。
按照你的预期,完成这项任务可以获得很高的报酬,所以你接受了任务。但是几个星期过后,你的团队陷入了争吵。你也生气了,并且开始更加注意所有团队成员所做的事情。你经常随团队一同工作,这样就可以快速修正所发现的任何代码错误。
虽然做了足够的工作,但是你的团队还是很愤怒,而且你意识到DevOps思维方式的部分缺失了。
解决这一问题
最好的
策略是什么?
You are the owner of a small DevOps company of 5 co-workers, that builds mobile apps for children with disabilities. One of the apps your team is most proud of is an app for children with autism, that allows them to schedule their own day.
Because this app was so successful, your team is asked to extend the capabilities of the app for other people that would benefit from scheduling their day. This request will certainly generate more complexity in the code and some technical challenges that will have to be tackled by the team.
You expect to be paid very well for this assignment, so you accept the assignment. However, after a few weeks, your team is fighting. You get angry as well and start paying more attention to what all the team members do. You regularly work along with them, so you can quickly correct any code error you spot.
Although enough work gets done, your team stays angry and you recognize that part of the DevOps mindset is missing.
What is the
best
strategy to solve your problem?
通过雇佣互补性非技术人员,增加团队成员以寻求进一步多样性
Add members to the team seeking more diversity, through hiring complementary non-technical personnel
请公司外的DevOps领域专家资助和指导你的团队成员
Ask experts in DevOps outside your company to sponsor and mentor your team members
找到一个共同目标,并开始朝着目标努力,以增加协作
Find a common goal and start working towards that goal together to increase collaboration
预留几个月的时间,先开始团队建设,互相了解
Reserve a few months time to start working on team-building first and learn about each other
Question
8 of 50
您认为自己的开发团队是一支真正的团队。
您觉得有什么确切的特征表明这是一支团队而不只是一个小组呢?
You feel that your Development team is really a team.
What is a sure sign that they are a team and not a group?
该团队遵守在团队会议中共同制定的规则。
The team follows the rules they have agreed upon in their team meetings.
团队召开自己主持的高效会议。
The team has effective meetings which they lead themselves.
团队以稳定的工作节奏,朝着共同的目标推进。
The team keeps a steady working pace towards their common goal.
该团队通过质询负责某项工作的团队成员的方式来解决问题。
The team solves problems by questioning the responsible team member.
Question
9 of 50
AppAtoZ公司正以惊人的速度发展壮大,致力于为苹果手机和安卓平台开发和部署移动应用程序。
为使其当前的移动应用程序尽可能快速地提升功能,这家创业企业的开发团队经受了巨大的压力。过去六个月里,他们平均每周工作六十个小时。领导层不愿雇佣更多员工,他们更关心的是如何在提高收益的同时降低运维与开发成本。
最近几月,旷工、打电话请病假的员工均有所增加,有些员工甚至辞去了AppAtoZ的工作,从而导致现有员工的工作量剧增。二次雇佣新员工、缩短新员工的上手时间并不能快速缓解开发团队的工作压力。
要解决员工倦怠与压力的问题,应当考虑哪些长远的战略?
AppAtoZ has been growing at phenomenal rates in developing and deploying mobile applications to the iPhone and Android platforms.
The Development teams for this startup have experienced tremendous pressures in deploying rapid enhancements to their current mobile applications on an aggressive timeline. They have been working on average 60 hours per week over the last six months. Leadership has been reluctant to hire more assistance, and is more concerned about increasing revenue while reducing operational and development costs.
In the recent months there has been an increased rate of employee absenteeism, employees calling in sick, and some employees even resigned from AppAtoZ, resulting in increased workloads on current employees. Rehiring and ramp up time of a new employee does not alleviate the work pressures quickly for the Development team.
Which
long term
strategies must be considered to address employee burnout and stress?
- 应在团队中同时采用永久雇员和合同工,以更好地控制工作量。
- 管理层与开发部门应当找出工作环境中导致员工倦怠的因素。
- 并制定解决员工倦怠和压力的计划。
- Add a mix of permanent and contract employees to the team to better manage the workload.
- Have leadership and Development identify factors in the work environment that contribute to burnout.
- Develop a plan to address burnout and stress.
- 解雇领导团队,原因是他们无法胜任工作。
- 聘用一支更具能力的领导团队,他们知道如何促使工作与生活达成平衡,并创造可持续的、切合实际的企业文化。
- 为开发团队提供时机,使其逐渐获取工作与生活之间的平衡。
- Fire the leadership team, because they are incapable.
- Hire a more competent leadership team that knows how to create a work-life balance and culture that is sustainable and realistic.
- Provide the opportunity for the Development team to take time to find their balance.
- 让开发团队成员暂时停止工作。
- 招聘合同开发人员,以应对每年高峰时期增加的开发工作量。
- 鼓励开发人员在必要时寻求专业的心理援助。
- Have the Development team members take a time out.
- Contract developers for managing the increased development workload at peak periods of the year.
- Have developers reach out for professional mental help as needed.
- 让开发团队成员暂时停止工作。
- 让领导层与开发部门找出工作环境中可能导致倦怠的所有因素。
- 制定解决员工倦怠和压力的计划。
- Have the Development team members take a time out.
- Have leadership and development identify all factors in the work environment that might be contributing to burnout.
- Develop a plan to address employee burnout and stress.
Question
10 of 50
你作为开发者在一个DevOps团队中工作。你试图促进所有团队成员之间的协作。你的团队有两名资深的男性开发者和一名资历较浅的女性系统管理员。
你的团队成员起步并不顺利,并且相处不融洽。此时你介入其中,试图帮助他们改善关系。这起到了效果,因为他们停止了争吵,并完成了更多的工作。
现在你开始注意到存在一种模式,其中资浅的管理员一直赞成资深开发者。
你对于这种模式应当作何反应?
You work in a DevOps team as a developer. You try to facilitate collaboration between all of your team members. Your team has two male senior developers and one junior female systems administrator.
Your team members had a rocky start and could not get along. You intervened at the time, to try to help them get along better. That worked, because they stopped fighting and got a lot more work done.
Now you start noticing a pattern where the junior administrator keeps agreeing with the senior developers.
How should you react to this pattern?
只要团队成员未发生争端,你就应该置身事外。他们只是在相互磨合,你不应该干扰。
As long as the team members are not fighting, you should leave the situation alone. They are just getting along and you should not disrupt this.
让运维说出对任何建构版本的担忧是很重要的,这样才能指导管理员停止通融,更加坚定自信。
It is important that Operations voices any concerns with builds, so you should coach the administrator to stop accommodating and be more assertive.
资深开发者责任更大,所以你应当让他们态度友好点,在资浅管理员考虑不周时应关注运维问题。
The senior developers have more responsibility, so you should ask them to be nicer and to think of Operations concerns if the junior does not.
您应该暂时开始在运维团队中工作,即使您自己是一个开发人,这样您才可以为初级管理员领路。
You should start working in the Operations team for now, even though you are a developer yourself, so you can show the junior administrator the way.
Question
11 of 50
敏捷和Scrum为什么可以承诺使软件开发速度加快、更加可预测?
Why do Agile and Scrum promise faster and more predictable software development?
通过在设计之前允许更好、更完整地收集和处理需求
By allowing better and complete requirements gathering and handling prior to design
通过允许组成自治、自我组织和自我规划的小团队
By allowing small autonomous, self-organizing and self-planning teams
通过允许产品负责人参与每日立会
By allowing the Product Owner to participate in daily standup meetings
允许项目经理根据需要快速改变优先级别
By allowing the Project Manager to quickly change priorities as needed
Question
12 of 50
什么是轻量型IT服务管理?
What is light-weight ITSM?
以业务连续性为中心的IT服务管理
A business-continuity focused ITSM
新一版标准化的ITIL
A new ITIL version proposed as standard
ITIL流程实施不力
A poor implementation of ITIL processes
以发布管理为导向的IT服务管理
A release-management oriented ITSM
Question
13 of 50
你为一家实施了精益与敏捷实践的公司工作。你的首席执行官对实施一件新事物的价值还存有疑虑:那就是DevOps。
你是一名DevOps专家。你感觉DevOps对任何开发软件的工作都有好处。
DevOps可以为你工作的公司增加什么?
You work for a company that has implemented Lean and Agile practices. Your CEO is not convinced of the value of implementing yet another new thing: DevOps.
You are a DevOps expert. You feel that DevOps is beneficial to any company that develops software.
What does DevOps add to the company you work for?
创建更好的用户故事和功能需求
Creating better User Stories and functional requirements
减少发布的频次,使客户免受经常更新的困扰
Releasing less often, so customers do not have to suffer regular updates
培训专业人员从事开发和运营工作
Training professionals to do both Development and Operations
编写发布更快以支持业务结果的代码
Writing code that is released faster supporting business outcomes
Question
14 of 50
高级业务管理要求IT部门提供更好的业务支持,并与业务目标对齐。作为一名首席信息官,在其他的方法中,你还要决定减少运维中的管理工作量。
DevOps将如何
最好地
帮助你提高现有的服务级别管理?
Senior business management is requesting better business support and alignment to business objectives from the IT department. As a CIO, among other measures, you decide to reduce management workload in Operations.
How will DevOps
best
help you to improve your existing Service Level Management?
通过摈弃ITSM最佳实践,因为它们只是重量级方法
By abandoning ITSM best practices as they are just a heavyweight approach
通过设计更好的开发与运维间运营级别协议(OLA)
By designing better Operating Level Agreements (OLA) between Dev and Ops
通过实施一套新的IT服务管理过程(以信息技术基础架构库ITIL第3版为基础)
By implementing a new set of ITSM processes based on ITIL version 3
重组ITSM来使用一套最低要求信息(MRI)
By realigning ITSM to use a set of minimum required information (MRI)
Question
15 of 50
哪种DevOps内容的实施
最
适合采用记录型系统(SoR)的企业?
Which DevOps implementation is
most
suitable for an enterprise that uses the System of Record (SoR) approach?
协作
Collaboration
持续交付
Continuous Delivery
丰田方式(Toyota Way)
Toyota Way
Question
16 of 50
使用Obeya系统的
主要
益处是什么?
What is the
main
benefit of using the Obeya system?
协助客户投诉,确保团队得到充分的反馈,以便持续改进
Facilitates customer complaints, to ensure that the team gets enough feedback to continuously improve
处理团队内部的压力,使团队成员可以保持可持续的节奏
Handles stress within teams, so that team members can keep up a sustainable pace
每日改善错误报告,确保减少返工,减少将错误传递到其他工作站的几率
Improves daily bug reporting, which ensures less rework and reduces passing bugs to other workstations
基于当前状态,通过快速的信息收集和共享,快速决策
Quick decision making, based upon current status, by speedy information gathering and sharing
Question
17 of 50
你在一家刚刚开始使用DevOps的软件公司工作。你意识到应当改变的不仅是这个组织的文化,而且还有其实践和工具。公司已经在监控软件项目中的任何问题。
你提出添加以下方式:
使变更管理过程自动化
实施访问控制,以避免任何人在未经批准的情况下进行变更
为什么这是必须的?
You work in a software company that is just starting to work with DevOps. You realize that not only the culture of the organization should change, but also its practices and tools. The company does already monitor the software projects for any issues.
You propose to add the following measures:
automate the Change Management process
implement access controls to prevent anyone for making changes without approval
Why is this necessary?
自动化可以在维持信心的同时,促进变更得以更快地实施。访问控制对于防止启发式问题解决和计划外服务中断来说是必要的。
Automation enables faster change implementations while maintaining confidence. Access control is necessary to prevent problem-solving heuristics and unplanned service disruptions.
要放慢变更的数量,自动化是必要的。访问控制应能防止客户在你不知道和未加控制的情况下自行更改软件。
Automation is necessary to slow down the number of changes. Access control should prevent customers from changing the software by themselves, without your knowledge and control.
自动化将有助于使得运维变得没有必要。必须实施访问控制,因为DevOps项目是在云环境中工作,具有更高的风险。
Automation will help to make Operations unnecessary. Access control must be implemented, because DevOps projects work in a Cloud environment, which has higher risks involved.
Question
18 of 50
虚拟化与云计算是可以帮助和推动DevOps实践的技术。
这些技术如何起到帮助DevOps的作用?
Virtualization and Cloud computing are techniques that could help and facilitate DevOps practices.
How do they help DevOps?
云计算使远程访问成为可能,这给了客户更多的控制权。
Cloud computing makes remote access possible, which gives customers more control.
虚拟环境更易用于标准化,并使软件的使用更加有效。
Virtual environments are easier to standardize and use hardware more efficiently.
虚拟基础设施更容易理解,且无需任何维护。
Virtualized infrastructure is easier to understand and needs zero maintenance.
Question
19 of 50
服务级别协议(SLA)对于每个项目都很重要,因为其中详细规定了你与客户协商一致的事项。但是在DevOps中,服务级别协议还有另一个重要目的。
这个目的是什么?
Service Level Agreements (SLAs) are important for every project, because they specify what you agree on with the customer. However, in DevOps, the SLAs serve another important purpose.
What is this purpose?
客户负责为DevOps团队创建SLA。因此,它将正式任务替换为运维责任。
Customers are responsible to create the SLA for the DevOps team. Therefore, it replaces a formal task as an Operations responsibility.
在服务级别协议中,客户可以指定所有非功能性的需求,使开发团队专注于这些方面。
In the SLA, the customer can specify all the non-functional requirements they have, so Development can focus on those.
服务水平协议(SLA)规定了可接受的服务水平。开发团队应理解服务水平协议并支持运营团队来维护服务水平协议。
The SLA specifies the acceptable Service Level. Development should understand the SLA and support Operations to maintain it.
Question
20 of 50
您的团队需要为新产品开发一个部署流水线。作为持续集成的一部分,您需要明确定义流水线的提交阶段。
您与团队成员讨论这一阶段时,流程主管说道:“完成”一词的定义应在提交阶段开始之前或进行时确定。若编码在提交时未能达到定义的“完成”,该工作就应停止“。
是这样吗?
For a new product, your team needs to develop a Deployment Pipeline. As part of Continuous Integration, you need to define the Commit stage of the pipeline. You discuss this stage with your team members.
The Process Master says: "The Definition of Done should be defined during or before the Commit stage. When code is not Done when it is committed, the work should be stopped".
Is this true?
是的。若这项工作未能完成,就意味着流程主管未能履行职责。应当立即予以解决。
Yes. If the work is not Done, the Process Master is not doing a good job. This should be solved immediately.
是的。尚未完成的工作不得提交,因为这样的工作不会给客户带来增值。
Yes. Work that is not Done should not be committed, because it does not add customer value.
不是,“完成”的定义只能在客户会议上确定。等待会大幅减缓工作进度。
No. The Definition of Done is only defined during customer meetings. Waiting for it would slow work too much.
不是,应持续进行部署流水线上的工作。如果编码没有完成,只需使之处于非激活状态。
No. Work in a Deployment Pipeline should always continue. If code is not Done, it just needs to be inactive.
Question
21 of 50
通过吸纳具有更广泛的个人背景和文化的人才来提高团队的多元性,这种做法有哪些显著的益处?
What is the
main
benefit of increasing the diversity of the team to include a wider range of personal backgrounds and cultures?
能够带来更多的经验与观点。
It brings a greater number of experiences and points of view.
使得团队内部的摩擦减少。
It leads to decreased friction amongst the team.
限制了创造力的发挥,也限制了人们提出新见解的能力。
It limits originality and ability to come up with new insights.
使得达到某一决策点需要更长时间。
It takes longer to come to a specific decision point.
Question
22 of 50
你在一家小公司工作,这家公司只有一个DevOps团队。你的DevOps团队正在处理一个由多个组件构成的应用。一些组件是新的,另一些则只需要更新。
此时此刻,每一个组件都有其自己的部署流水线。团队对于自己在大部分部署流水线中所做的持续交付感到自豪,他们的产量很高,质量也很好。
你应该怎么做?
You work for a small company, that has a single DevOps team. Your DevOps team works on an application that consists of multiple components. Some are new and some just need updates.
At the moment, each component has its own Deployment Pipeline. The team is proud of the Continuous Delivery they do within most of the Deployment Pipelines and their production is high and of good quality.
What should you do?
保持不同的流水线,鼓励团队扩大持续交付
Keep the different pipelines and encourage the team to expand Continuous Delivery
仅留下有持续交付的流水线,并将其他无持续交付的流水线融合
Only keep pipelines that have Continuous Delivery and merge the other pipelines without Continuous Delivery
只需保留两条不同的流水线:一条用于开发,一条用于维护
Only keep two different pipelines, one for development and one for maintenance
解释多条流水线的风险,与您的团队一起努力建立单流水线
Work towards a single pipeline with your team, by explaining the risks of multiple pipelines
Question
23 of 50
您目前正为一家数年前采用了DevOps的实践方法的大中型企业评估“公司建设者”。
他们聘请您为他们当前的成熟状态做一个评判。完成此项工作后,您应提出改进建议。他们希望了解应当重点关注哪一领域才能达到下一个成熟阶段:
即第二阶段——量化管理。
您发现多数领域都达到
第一阶段——一致
,但其中有两个例外:
一是环境与部署。
该领域负责精心策划部署,并检测了发布与回退流程。
二是构建管理与持续集成。
在该领域,您发现定期的自动化构建与测试,任何构建都可以通过源代码管理,采用自动化流程重建。
依据上述信息评定这两个领域的成熟程度。 接着您应针对改进需求提出建议。
在这两个领域中,“公司建设者”应选择哪一个来进行持续改进才能提升至第二阶段?
You are assessing Company Builders, which is a medium to large organization that has adopted DevOps practices a couple of years ago.
They have hired you to determine their current maturity state. When you are done, you should give suggestions for improvement. They want to know on which area they should focus to reach the next maturity level:
Level 2 - Quantitatively Managed
.
You find that most areas are within
Level 1 - Consistent
, with two exceptions:
1. Environments and Deployment.
This area manages orchestrated deployments and has tested release and rollback processes.
2. Build Management and Continuous Integration.
In this area, you find regular automated builds and testing, and any build can be re-created from source control using an automated process.
First, determine the level of maturity in these two areas, based on the information given. Then give your recommendation for the focus of improvement.
Which of these two areas should Company Builders work on, before progressing to Level 2?
环境与部署、构建管理及持续集成都处于零水平。这项工作应在两个环境中同时进行。
Environments and Deployment, and Build Management and Continuous Integration are both at level 0. The work should be done on both environments at the same time.
环境与部署及构建管理和持续集成处于一级或一级以上水平。其他领域也应开展工作以获得进步。
Environments and Deployment, and Build Management and Continuous Integration are either at level 1 or above. The work should be done in the other areas to progress.
环境与部署处于零级水平。构建管理和持续集成处于一级水平。重点应当首先放在环境和部署上。
Environments and Deployment is at level 0. Build Management and Continuous Integration is at level 1. The focus should be on Environments and Deployment first.
环境与部署处于二级水平。构建管理与持续集成处于零级水平。重点只需放在构建管理与持续集成上。
Environments and Deployment is at level 2. Build Management and Continuous Integration is at level 0. The focus should be on Build Management and Continuous Integration only.
Question
24 of 50
你的公司向客户出售在线备份服务。现在,其中一个客户要求在服务中实现新的功能。他们希望新功能在一周内实施,否则就会去找别家。
你相信新功能很重要,而且你知道开发团队可以很快构建这些功能。但是你遇到了下列问题:
- 测试人员关闭程序错误需要花费很长时间。
- 测试人员一直在找到开发者很久以前就修复了的程序错误。
- 应用很少出现可以正常运行的情况。
- 结果展示很少发生。
你的问题是什么,你又应当如何解决?
Your company sells an online back-up service to its customers. Now, one of the customers has asked to implement new features in your service. They want the new features within a week, or they will seek business elsewhere.
You believe that the new features are important and you know the Development team can build it quickly. However, you encounter the following problems:
- It takes a long time for bugs to be closed by testers.
- Testers are finding bugs that developers fixed a long time ago.
- The application can rarely be demonstrated to be working.
- Showcases rarely happen.
What is your problem and how should you solve it?
你部署错误代码。你应该通过增加对部署过程的了解、增加协作和以更规范的方式工作来解决这个问题。
You deploy buggy codes. You should solve this by increasing the understanding of the deployment process, increasing the collaboration and by working in a more disciplined manner.
你的配置管理很糟糕。你应当通过增加开发和运维之间的合作、增加监控与记录以及虚拟化解决这一问题。
You have poor Configuration Management. You should solve this by increasing the collaboration between Development and Operations, by increasing monitoring and logging as well as virtualization.
你的持续集成流程管理不当。您应该通过加快自动化测试和提交阶段、增加并理解持续集成过程,来解决这个问题。
Your Continuous Integration process is not managed properly. You should solve this by speeding up automated tests and the Commit stage, and increase the understanding of the Continuous Integration process.
你的测试策略没有效果。您应该通过自动化测试、加强测试人员和团队其他成员之间的协作来解决这个问题。
Your testing strategy is not effective. You should solve this by automating tests and increasing the collaboration between testers and the rest of the team.
Question
25 of 50
在有效的DevOps中,持续集成的一个好处是什么?
Which is a benefit of Continuous Integration within Effective DevOps?
主版本发布之前,具有较长的测试周期
Extensive testing cycles before feature releases
功能发布间隔时间较长
Long periods of time between feature releases
更加频繁和及时的功能发布
More frequent and timely feature releases
Question
26 of 50
一个跨国企业,要将分布各地的任务合并提交到总部位于德克萨斯州达拉斯的中央代码库,面临着诸多挑战。这些地方包括墨西哥城、巴黎、圣地亚哥和英格兰地区。 这些地区何时运行提交并无规律可循,有时人们并不清楚是否有测试失败。
可行的做法有以下四种:
1. 失败的构建不提交;
2. 在提交之前务必在本地运行所有提交包含的测试,或利用持续集成服务器替你完成这一工作;
3. 待提交测试通过后再进行下一步;
4. 不要注释掉失败的测试。
这四种实践中哪一个最适用于分布式地点解决当前主要痛点?
A multinational organization is having many challenges in merging commits from their distributed locations into a central repository based in Dallas, TX. The distributed locations include Mexico City, Paris, San Diego and England. There have been inconsistent manners on when the regions are running their commits and at times it is not clear if some tests failed or not.
There are four possible practices:
1. Do not check in on a broken build
2. Always run all commit tests locally before committing, or get your Continuous Integration server to do it for you
3. Wait for commit tests to pass before moving on
4. Do not comment out failing tests
Which of these are most applicable to make sure that the distributed locations address their current pain points?
1和2
1 and 2
1、2和3
1, 2 and 3
2和3
2 and 3
2、3和4
2, 3 and 4
Question
27 of 50
考虑对基本部署流水线进行具体解析。
哪个阶段表明该系统在功能性与非功能性层面均发挥作用?
Consider the anatomy of a basic Deployment Pipeline.
Which stage asserts that the system works at the functional and non-functional level?
自动化验收测试
Automated acceptance test
构建与单元测试
Build and unit test
手动验收测试
Manual acceptance test
版本控制
Version Control
Question
28 of 50
DevOps的最佳实践是利用同一流程针对应用的不同运行环境进行部署。这将确保构建得到有效测试。您使用脚本去构建和部署流程自动化。
完成这一任务的最好方法是什么?
It is a DevOps best practice to use the same process to deploy to every environment in which your application runs. This ensures that the build is tested effectively. You are using scripts to automate your build and deployment process.
What is the
best
way to do this?
每种环境采用一个脚本,并将其作为版本控制系统的一部分加以维护
Use one script for each environment and maintain them as part of the Version Control system
不同环境使用不同的特定脚本,以解决环境之间的差异问题
Use one specific script for each environment to address the differences between environments
不同环境采用同样的脚本,对特定的配置采用手动参数
Use the same scripts for each environment, taking manual parameters for specific configurations
采用同一脚本在不同环境中进行部署,并单独管理配置信息
Use the same scripts to deploy to each environment and manage configuration information separately
Question
29 of 50
在发布一项新的IT服务后,一项进行中的工作意外结束了。
这件事合理的原因
不可能
是什么?
Upon release of a new IT service, a job in operation ends unexpectedly.
What could
not
be a valid cause for this?
把关人没有考虑到工作项目和SAC之间的相互关系。
The Gatekeeper did not take the interrelation between work items and SAC into account.
由于不完善的用户故事,非功能性需求不清楚。
The non-functional requirements were not clear, due to an imperfect User Story.
服务负责人不同意用户结束待发布的服务。
The Service Master did not agree with the user on the End of Life of the service to be released.
在开发过程中缺少由服务验收标准(SAC)支持的工作。
There was a lack of work in the development processes, as is supported by the Service Acceptance Criteria (SAC).
Question
30 of 50
AppBC 公司正在使用DevOps。该公司实施了持续部署,并具备高度自动化验收测试和每日向生产部交付新软件的稳定部署流水线。
AppBC公司有一个巨大的数据库及众多用户。该公司具备全面可靠的容量测试策略。由于该公司环境广大而复杂,随着每个新版本的发布,生产部就会出现一些小故障。
什么策略能够最有效地帮助AppBC预防这些故障?
Company AppBC is using DevOps. They have implemented Continuous Deployment and a solid Deployment Pipeline, with highly automated acceptance tests and are delivering daily new software to production.
AppBC has a large database and many users. They have a comprehensive and solid capacity testing strategy in place. As their environment is quite large and complex, with each new version some bugs appear in production.
What strategy could
best
help AppBC prevent these bugs?
采用金丝雀发布
Adopt canary releasing
自动化容量测试
Automate capacity testing
降低交付率
Decrease the delivery rate
采用蓝绿部署
Use Blue-Green deployment
Question
31 of 50
DevOps从源自丰田生产系统的“敏捷”中获得了十分重要的概念。
为什么单件流对于DevOps的应用是很重要的?
DevOps takes very important concepts from Agile, derived from the Toyota Production System.
Why is one-piece-flow important for a DevOps adoption?
它允许您的团队以可预测的、以可持续的速度工作。
It allows your team to work in a sustainable pace with predictable velocity.
这可以帮助团队专注于添加商业价值最大的功能。
It helps the team to focus on adding features with the most business value possible.
会增加不同团队成员之间的共同工作责任。
It increases the shared responsibility of work between the different team members.
它通过限制同时执行的任务数量来减少瓶颈。
It reduces bottlenecks by limiting the number of tasks you are doing simultaneously.
Question
32 of 50
S公司是一家中型汽车零部件供应商,为一家大型企业T汽车公司提供产品。该公司向T汽车公司供应汽车零部件,这部分销售量占其总销售额的60%。
董事会召开会议,商讨新的合作方式。T汽车公司要求S公司将其交付方式转变为即时交付,否则将中断与S公司的业务往来。失去这个客户意味着S公司将无力为继,因此该公司必须尽快转变为即时交付。这一转变必须在六个月内完成,因此最多只有五个月的时间准备。
其中需要实施的一项工作是通过射频识别(RFID)技术追踪各个零部件。这将有助于保持生产流程的透明化。快速回顾当前的流程能够帮助尽快向RFID支持流程转变。
首席信息官应控制转变流程。她认为如果采用DevOps方法来实现最低限度发布,这是可以做到的。原则上应当首先确立RFID的生产概念。最后一步是:使用RFID数据的生产控制系统应当得以执行。但是,已经没有足够的按先后顺序来完成这些步骤。因此,这三项工作必须同时执行。
首席信息官指派Scrum Master Em先生来负责这一项目。开发团队准备构建部署流水线。Em认为开发团队满怀热情,工作努力,但应更加自律。此外,发布频率应当提高。
Em应当首先关注什么内容?
The S Corporation, a medium sized automobile parts supplier, supplies a large company, T Motors Corporation. They supply automobile parts to T Motors Corporation, which amounts to almost 60% of their total sales.
The board meets to discuss the new partnership. T Motors Corporation demands that S Corporation change their way of delivery to Just-in-Time delivery, or they will stop their business with S Corporation. S Corporation would not survive this loss of business, so there is a sense of urgency to change to Just-in-Time. This change must happen within 6 months, so there are 5 months at most to prepare.
One of the things to be implemented is tracking of parts through Radio Frequency ID's (RFID). This should help keep the production process transparent. A quick review of the current process is in order to facilitate the change to an RFID enabled process.
The CIO is asked to manage the change process. She believes this will be possible, if a DevOps approach is used to create a minimal release. Ideally, the concept for production with RFID should be developed first. As a last step, a production control system using the RFID data should be implemented. However, there is not enough time to do these steps sequentially. Therefore, these three things should be done concurrently.
The CIO assigns Em, who is a Scrum Master, to the project. Development prepares to build a Deployment Pipeline.
Em can see that Development is enthusiastic and works hard, but they could use more discipline. In addition, the release frequency needs to be higher.
What should Em focus on
first
?
Em应当把注意力集中在沟通方面,这是DevOps实践中最重要的元素。Em首先应当做的是打破团队中的僵局,并明确沟通规则。
Em should focus on communication, since it is the most important thing in DevOps. Em should start with breaking the ice with the team and setting some rules for communication.
Em应当首先与团队商议如何编制价值流图,并构建单件流程,因为流程和精简进程都很重要。
Em should start with discussing a value stream map and building one-piece-flow with the team, since flow and a streamlined processes are very important.
Em应当首先与团队成员讨论基础设施与工作环境问题,因为在所有工具和实践方法都良好运作时,DevOps效率最高。
Em should start with discussing the infrastructure and the working environment with the team members, since DevOps is most effective when all tools and practices work.
Em应当首先召集所有利益相关者,对他们进行有关DevOps的培训,并请他们协助传播企业文化方面的调整,因为文化调整是DevOps必不可少的部分。
Em should start with gathering all stakeholders, educate them on DevOps and ask for their support in spreading the cultural change, since cultural change is required for DevOps.
Question
33 of 50
你的DevOps团队合作得很好,并且有一种可持续的开发节奏。通过在过程中预留充分缓冲时间,团队就有时间和精力来认真检查和测试构建了。目前,你的团队采用人工进行测试和部署。他们的节奏足够快,可以定期向业务交付很高的价值。
你的首席执行官就团队内部的自动化向你征求意见。
你会给出哪种意见?
Your DevOps team works well together at a sustainable pace. By building enough slack into the process, the team has the time and concentration to carefully check and test the builds. Currently, your team tests and deploys manually. Their pace is high enough to deliver high value to the business on a regular basis.
Your CEO has requested your advice on automation within this team.
Which advice should you give?
尽可能地实现自动化,这样团队就可以增加更多的特性,并更快地展示业务价值
Automate as much as you can, so that the team can add more features and sooner demonstrate business value
使验收测试自动化,但不要自动化部署,因为人工过程更加可靠
Automate the acceptance tests, but not the deployments, because the manual process is more secure
自动化部署以改进周期时间,而不是测试,以允许从错误中学习
Automate the deployments to improve cycle time, but not the tests, to allow learning from bugs
不要将自动化添加到这个团队的方法中,因为团队当前执行的方法具有很不错的结果
Do not add automation to the methods of this team, because the methods currently executed by the team are providing amazing results
Question
34 of 50
一位首席信息官将她最信赖的员工、担任Scrum主管的迈克尔指派往某个项目。开发团队打算构建一条部署流水线。
迈克尔相信开发团队的好意与主动性,但希望他们更为自律。此外,发布频率也应有所提高。迈克尔希望开发团队可以实现更加频繁的发布。
有一名团队成员说道:“这条部署流水线最需要的是自动化。我们首先要做的是让它自动化起来。”
这种说法对吗?
A CIO assigns her most reliable employee, Michael, who is a Scrum Master, to a project. The Development team prepares to build a Deployment Pipeline.
Michael has confidence in the good intentions and spontaneity of the Development team, but would like them to become more disciplined. In addition, there should be a higher release frequency. Michael wants the Development team to implement more frequent releases.
One of the team members says: "The most important thing about this new Deployment Pipeline is automating it. We should first automate the Deployment Pipeline".
Is this statement correct?
是的,这是正确的。部署流水线自动化是提升效率的最重要因素。
Yes, this is correct. Automating the Deployment Pipeline is the most important factor for increasing the efficiency.
是的,这是正确的。关注自动化部署流水线的创建,克服之后可能遇到的潜在问题。
Yes, this is correct. By focusing on creating a Deployment Pipeline that is automated, you overcome potential problems that you may encounter later.
不,这是错误的。完成单件流及一个可靠的部署流程是优先级最高的任务。该流程的自动化可以暂缓实施。
No, this is not correct. Achieving single-piece-flow and a solid deployment process should be the first priority. Automation of the process can come later.
不,这是错误的。首先应当自动化的是测试流程而非部署流水线。
No, this is not correct. Instead of automating the Deployment Pipeline, the testing process should be automated first.
Question
35 of 50
贵公司正在尝试转变,并开始使用DevOps的方式开展工作。您的团队也在经历这一转变。您正在参与讨论代码提交阶段的最佳实践。
您的同事孙说道:“当某一构建遭到破坏且无人担责时,我们应当找出造成破坏的人并要求他们展开工作,以保证他们能修复这一构建。”
这样做合适吗?
Your company is changing its ways and starting to work with DevOps. Your team is on board with this change. You are discussing best practices for the Commit stage of the code.
Your co-worker Sun says: "When a build breaks, and nobody takes responsibility, we should find out who did it and call them out on it, so that they can fix the build."
Is this a good idea?
是的。只有破坏构建的人才能够修复它,因此您应当找到负责人,即使这样可能会让人感觉不舒服。
Yes. Only the person to break a build can fix it, so you should identify them, even if this makes them uncomfortable.
是的。您应当始终找到破坏构建的负责人。如果您不负责,您的同事将可能强制执行这项规定。
Yes. You should always find the person responsible for breaking a build. If you do not, your co-workers may enforce this rule.
不,DevOps环境中不存在追责。若同事不承担责任,不要强迫他们。
No. DevOps is a blame free environment. If a co-worker does not take responsibility, do not force them to.
不,你应当首先修复构建。然后抽出时间,确定相关负责人并进行处罚。
No. You should fix the build first. Then make time to identify the person responsible and punish them for it.
Question
36 of 50
X-AppGo开发团队当前在测试中遇到诸多挑战。目前他们使用人工验收测试流程。开发者认为他们所创建的单元测试是十分周密的,可以避免回退。
在每次发布时,开发团队都需要花费100万在人工验收测试环节。高级领导层要求开发团队实施自动化验收测试,以降低测试的总成本并尽可能减少引入生产环境中的代码缺陷数量和回退次数。
在依照自动化需求确定应用程序的验收标准时,应当遵循什么原则?
The Development team at X-AppGo has been running into numerous challenges with their current testing practices. Currently, they use a manual acceptance testing process. The developers believe that the unit test suite that they have created is thorough enough to protect against regressions.
The Development team has to spend 1 million dollars on manual acceptance testing for every release. Senior leadership has mandated that the Development team should implement automated acceptance testing to reduce overall costs of testing and also minimize the number of code defects and regressions introduced into the production environment.
What principles must be followed when defining acceptance criteria for your application with automation in mind?
Agile(敏捷)原则
Agile principles
ATAM(架构权衡分析法)原则
ATAM principles
INVEST原则
INVEST principles
Question
37 of 50
以自动化形式迁移数据
最
有效的机制是什么?
What is the
most
effective mechanism for migrating data in an automated way?
创建数据库版本控制模式,并将其置于版本控制之下
Create a database versioning schema and keep it under Version Control
创建与管理较小型的数据组,以使得迁移更加简单
Create and manage smaller datasets, so that the migration becomes easier
在迁移数据之前,确保所有脚本都经过了适当的测试
Ensure all your scripts have been properly tested prior to migrating the data
确保您具有回滚程序,以防迁移失败
Ensure you have a rollback procedure in place in case the migration fails
Question
38 of 50
X-AppGo公司在回滚过程中遇到了挑战。这常常是由于在执行回滚脚本的时候,生产应用数据库内部关键数据缺失而导致的。
在什么时候
不
可能在不损失关键数据的情况下运行回滚脚本?
Company X-AppGo has been having challenges with their roll-back processes. This often results in critical data losses within their production application databases, when executing roll-back scripts.
When is it
not
possible to run roll-back scripts without losing critical data?
回滚脚本删除只有新版本使用的数据。
The roll-back script deletes data that only the new version uses.
回滚脚本涉及到在表格之间移动一列。
The roll-back script involves moving a column between tables.
回滚脚本将从暂存资料表中添加数据。
The roll-back script will add data back from temporary tables.
Question
39 of 50
在路由器和交换机部署应用软件升级和硬件刷新后,ACMECONST遇到了很多应用和硬件故障。
在维护窗口有了这些故障,他们很难恢复回到原本的状态。这导致了恢复时间的延长,超出正常的维护窗口,以及关键应用的停工时间延长。
自动化配置和自动基础架构在这种情况下会有所帮助,但是还有一些注意事项。
哪些事项需要认真管理,以减少部署到生产环境时的中断风险?
ACMECONST has encountered many application and hardware failures after deploying application software upgrades and hardware refreshes to their routers and switches.
It has been very difficult for them to recover back to their original state, after having these failures during their maintenance windows. This has resulted in extended hours of recovery, beyond the normal maintenance windows, and extended downtime for their critical applications.
Automated provisioning and autonomic infrastructure can help within this situation, but some considerations apply.
Which items need to be managed carefully to reduce the risk of disruption when deploying to the production environment?
详细记录监控日志,以排除应用程序升级失败的故障
Detailed monitoring logs to troubleshoot application upgrade failures
外部集成点,例如外部系统和服务
External integration points, such as external systems and services
服务器配置和基础用户帐户信息
Server configurations and underlying user account information
全套自动化配置工具和自主架构
The set of automation provisioning tools and autonomic architecture
Question
40 of 50
X-AppGo公司在核心应用中遇到了挑战。应用与其他外部应用没有正确对接。这些外部应用需要有效获取特定的数据变量,以此执行特定调用。核心应用正由一个团队进行开发,公司处于良好业务原因希望保持这一点。
其中一名开发者建议分出X-AppGo代码库中的一个组件,以处理对接问题。
在这种情况下,分出组件有什么好的理由?
Company X-AppGo has been having challenges in their core application. The application is not properly interfacing with other external applications. These external applications need to effectively obtain specific data variables, so that specific calls can be executed. The core application is being developed by one team, and the company wants to maintain that for very good business reasons.
One of the developers suggests to separate out a component from the X-AppGo codebase to tackle the interfacing issues.
What are good reasons to separate out a component in this case?
将代码库中的一组插件转换为一个整体代码库
Convert a set of plugins in the codebase into a monolithic codebase
限制变更的影响,并使改变代码库更简单
Limit the impact of changes and make changing the codebase easier
X-AppGo代码库将必须由不同的团队进行拆分和管理
The X-AppGo codebase will have to be split and managed by different teams
没有好的理由,这将需要更多的时间来编译
There are no good reasons and this will require more time to compile
Question
41 of 50
即使是最小的应用,也需要某种程度上依赖于其他的组件或程序库。因此,理解和管理依赖性是持续部署中的一项保持部署流水线正常运行的关键活动。
你构建了一个应用,使用了两个程序库。这两个程序库每个都依赖于第三个隐含的数据库,虽然涉及的是不同的版本。这就创造了一种特定的依赖关系。
解决或防止这种依赖性
最好的
方案是什么?
Even the smallest applications will have a dependency on other components or libraries. Therefore, understanding and managing dependencies is a key activity within Continuous Deployment in order to keep flow within the Deployment Pipeline.
You have built an application, that uses two libraries. Each of these libraries rely on a third, underlying library, although they refer to different versions. This creates a specific dependency.
What is the
best
solution to solve or prevent this dependency?
将所有的库综合到一个库中,以便您可以直接引用库并防止问题的发生
Assemble all libraries into a single library, so that you can refer to the library directly and prevent the problem
采用版本控制管理程序库,以此直接知悉是否创造了这类依赖关系
Manage the libraries by using Version Control, so that you see it directly if you create this type of dependency
用便利贴记录您所有依赖的可视化资料并粘贴在一个大的板子上,以便跟踪流程
Keep a visual overview of all your dependencies on sticky notes on a big board, so you can track the flow
只签入您工具链的一小部分,以便您可以轻松地调试签入时可能发生的问题
Only check in small parts of your toolchain, so that you can easily debug problems that may occur upon check-in
Question
42 of 50
在一个持续部署环境中,一切都受版本控制是很重要的,这样才能快速找到错误,或在必要时回滚。
但是,
不
推荐在版本控制中保持二进制输出。
为什么这会是一个例外?
Within a Continuous Deployment environment, it is important that everything is version controlled, so that you can find errors quickly, or roll back whenever necessary.
However, it is
not
recommended to keep binary output within Version Control.
Why is this exception made?
二进制输出通常在大文件中,这些文件随每次构建而更改,并自动更新。
Binary output tends to be in large files that change with every build and are updated automatically.
多名团队成员做二进制文件方面的工作,所以在其中保持版本控制是不切实际的。
Multiple team members work on the binary files, so it is not practical to keep this in version control.
二进制输出信息是您编译程序的输入信息,这些信息已经保存在版本控制中。
The binary output is the input for your compilers, which are already kept in version control.
不需要这样做,因为重新编译是作为正常构建过程的常规部分进行的。
There is no need to do this, since recompilation is done as a regular part of the normal build process.
Question
43 of 50
您希望采用整体方法管理所有IT基础设施。
哪两条原则能在这方面帮助到你?
You want to take a holistic approach to managing all of your IT infrastructure.
On which two principles can this approach be based
best
?
- 您的基础设施应具备的状态需要通过变更控制配置来确定。
- 您应当通过监控与事件管理,及时了解基础设施的准确状态。
- The desired state of your infrastructure should be specified through change-controlled configuration.
- You should always know the actual state of your infrastructure through monitoring and Event Management.
- 需要通过变更控制配置来确定您的基础设施应具备的状态。
- 您应当通过仪器仪表及事件管理,始终了解基础设施的确切状态。
'- The desired state of your infrastructure should be specified through change-controlled configuration.
- You should always know the actual state of your infrastructure through instrumentation and Incident Management.
- 您的基础设施应具备的状态需要通过版本控制配置来确定。
- 您应当通过当前事件与事件管理,始终了解基础设施的确切状态。
'- The desired state of your infrastructure should be specified through version-controlled configuration.
- You should always know the actual state through current Incident and Event Management.
- 您的基础设施应具备的状态需要通过版本控制配置来确定。
- 您应当通过仪表盘与监控始终了解基础设施的确切状态。
- The desired state of your infrastructure should be specified through version-controlled configuration.
- You should always know the actual state of your infrastructure through instrumentation and monitoring.
Question
44 of 50
有着良好合作实践的团队具有同步的工作单。一名首席信息官使用了‘Go and See’的方式调查运维团队如何工作。在发布后,运维团队总是会重新定义运维基础设施。
对于在这一实践中进行改善提升,
最好的
建议是什么?
Teams with good collaboration practices have synchronized work tickets. A CTO used ‘Go and See’, to investigate how the Operations team functions. After releasing, the Operations team always redefines the Operational infrastructure.
What is the
best
advice to improve upon this practice?
他们什么也不应该做。没有改进的可能,因为总是会完成重新定义这一步骤。
They should do nothing. There is no improvement possible, because the redefinition step should always be done.
他们应当检查一种构建运维基础设施模型,以及运维环境访问控制的方式。
They should examine a way to model the operational infrastructure and access control of the operational environment.
他们应当审核运维基础设施,以使其成为自动化过程。
They should review the operational infrastructure, so that that becomes an automated process.
他们应该开始与开发团队分享他们对部署过程的了解。
They should start to share their knowledge of the deployment process with the Development team.
Question
45 of 50
当有运维侧变更时,运维部门告知开发部门的最佳时间是何时?
When is a good time for Operations to inform Development of an operational change?
无需告知开发团队。运维侧的变更仅运维团队知晓即可。
Development does not have to be informed. Operational changes are for the Operations team only.
立刻执行。应当尽快通知开发部门。
Immediately. Development must be informed as soon as possible.
次日早晨的Scrum会议中。
In the Scrum of the Scrum’s meeting the next morning.
当运维团队已经完成验收测试时。
When the Operations team has done the acceptance testing.
Question
46 of 50
您希望您的DevOps组织更趋成熟。有很多方法都能做到这一点。
下列哪种方法不会使您的DevOps组织更趋成熟?
You want your DevOps organization to mature. There are many ways to do this.
What is
not
a way to help your DevOps organization mature?
明确定义目标定和里程碑,帮助团队成员判断其日常活动是否有价值。
Clearly define targets as milestones to help your team members judge if their daily activities are valuable
明确定义流程,支持并促使团队成员逐日改进流程。
Define processes clearly and support and enable the team members to improve the process daily
对会议的所有内容进行记录,使您的团队成员可以很方便的了解到每次沟通的内容信息。
Keep recordings of all meetings so that your team members have easy access to all communication
监控并记录每天的活动,以找出小范围内每天取得的进步并予以赞扬。
Monitor and record daily activities to help identify small areas of day-to-day progress and celebrate them
Question
47 of 50
您为IT服务提供商效力。作为您“业务连续性计划”的一部分,您希望确保自己总能达到最低要求的服务水平。
您希望确保IT服务的连续性。
在IT服务连续性管理方面,DevOps能为您提供哪些帮助?
You work for an IT service provider. As a part of your business continuity plan, you want to guarantee that you can always meet the minimum agreed service levels.
You want to ensure IT service continuity.
How can DevOps help you with IT Service Continuity Management?
DevOps的文化价值观“亲和”与“协作”保证“服务”得到DevOps团队成员的高度重视。
DevOps cultural values, affinity and collaboration, make sure that service is highly valued by the DevOps team members.
通过在体系中有意的制造一些混乱,DevOps实践帮助团队进行日常灾难演练和作战室(Obeya)实践。
DevOps prepares the team’s disaster routines and Obeya practices by deliberately introducing chaos in the system.
因为运维部门与开发部门要协同工作,可能需要将降低风险的措施和应急预案进行编码。
Risk reduction measures and recovery options are likely coded in, because Operations is working together with Development.
服务水平管理在DevOps中变得更为重要,因为流程主管的任务是监控这一项目。
Service Level Management becomes more important in DevOps, because the Process Master’s task is to monitor this.
Question
48 of 50
ACMECONST通过在世界范围内增加雇员和工程队数量积极参与国际市场竞争。该公司也一直在快速扩大客户基础,每年增长速度为30%。
过去一个房间就可以容纳整个工程队的时候,决策相对容易;而现在需要投入大量的时间来做决策,导致整个组织的工作受阻。现在需要多层管理者的审批,这一流程变得更加宽泛,导致许多工程师对于整个决策流程大失所望。
目前出现的众多问题的归属也愈发令人困惑,导致决策中常常踌躇不决。工程师还感觉到,额外的流程和官僚主义扼杀了他们的创造力并开始影响他们的士气。
应对这一局面的最好方法是什么?
ACMECONST has aggressively expanded its global presence by increasing the number of hires and engineering teams distributed throughout the world. It also has been increasing its customer base at a dramatic pace of 30% per year.
Decisions that were once easily made when the engineering team was in one room are now taking much longer, causing frustration across the organization. There are more layers of management approvals to go through and the process is more extensive, which is causing many of the engineers to get disenchanted with the entire decision-making process.
There is also increased confusion around the ownership of the various problems that are presented, causing a hesitation on making decisions. The engineers also feel their creativity has been stifled by the additional processes and bureaucracy, which has started to impact their morale.
What is the
best
way to address this scenario?
责任和归属权,明确权衡生产率与风险的有效方法,促进渐进式变化,并营造一个安全的环境尝试和实验
Keep current processes, but establish clear roles, accountability and ownership for each process, establish an effective method for weighing productivity versus risk, make incremental changes and create safe places for experiments
重新检查流程,明确哪些事项能够简化,确立每个流程的角色、责任与归属权,明确权衡生产率与风险的有效方法,促进渐进式变化,并营造一个安全的环境尝试和实验
Re-examine processes to identify where things can be streamlined and establish clear roles, accountability and ownership for each process, establish an effective method for weighing productivity versus risk, make incremental changes and create safe places for experiments
重新检查各个流程,明确哪些事项可以简化,确立每个流程的作用、责任与归属权,明确权衡生产率与风险的有效方法,促进渐进式变化,尽可能减少实验的次数以避免出现不必要的应用程序故障
Re-examine processes to identify where things can be streamlined and establish clear roles, accountability and ownership for each process, establish an effective method for weighing productivity versus risk, make incremental changes and minimize the amount of experimentation to prevent unnecessary application failures
Question
49 of 50
在X-AppGo公司里,哥伦比亚的运维团队和爱尔兰的开发团队之间存在冲突,这是由于他们有不同的优先级和目标。 由于这一冲突的存在,该公司就需要更多的时间和精力解决影响其业务的问题。
为了减少冲突并促进开发与运维团队之间的协作,X-AppGo应当考虑采取哪些主要实践措施?
Within company X-AppGo there is a conflict between the Operations team in Colombia and the Development team in Ireland, caused by the fact that they have different priorities and goals. Due to this conflict, the amount of time and effort it takes to resolve issues that impact the business is increasing.
Which key practices should X-AppGo consider in order to reduce conflict and improve collaboration between the Development and Operations teams?
- 如果开发与运维团队愿意,允许它们分别单独开展工作以避免相互冲突。
- 获取董事会对开发与运维团队的全力支持。
- Allow Development and Operations teams to work separately from each other, if they prefer, to avoid conflicts.
- Obtain complete executive board buy-in on supporting the Development and Operations teams.
- 从公司董事会邀请一名支持者与DevOps团队商讨团结协作的重要性。
- 为开发团队与运维团队组织DevOps实践培训,以便他们学会通力协作。
- Get a sponsor from the executive board of the company to talk to the DevOps team about the importance of working together.
- Train the Development and Operations teams in DevOps practices, so they learn to do each other’s work.
- 支持开发团队与运维团队拜访那些DevOps实践良好的企业。
- 增加经费以便更好地帮助运维团队与开发团队应对日益增长的需求。
- Make sure that the Development and Operations teams visit other companies where DevOps works well.
- Increase funding to better support the increased demands that both the Operations and Development teams are facing.
- 建议开发团队和运维团队之间展开实地考察,以建立融洽关系、促进互信与谅解。
- 在开发团队和运维团队之间传播知识,以使他们更有效地合作。
- Recommend site visits between the Development and Operations teams to build rapport, develop trust and understanding.
- Spread knowledge between Development and Operations teams so they work together more effectively.
Question
50 of 50
有一个开发团队对DevOps感兴趣。他们的兴趣主要在于持续集成(CI)。目前,他们开发和维护着3个主要的解决方案和4个较小的解决方案。他们采用Scrum实践。每个冲刺均需4周时间,平均每10天或15天完成1次发布提交至测试环境,平均每1个月完成1次发布提交至生产。他们希望为管理层创造定性的商业案例,以支持投资,并努力创造持续集成实践。
持续集成的哪一种有形效益可以
最大程度上
帮助这家公司?
A Development team is interested in DevOps. They are mainly interested in Continuous Integration (CI). They currently develop and maintain 3 major solutions and 4 smaller ones. They use Scrum practices. Each Sprint takes 4 weeks, creating an average of 1 committed release to the test environment each 10 or 15 days and 1 release to production per month. They want to create a qualitative business case for their management to support their investment and effort to create a CI practice.
Which tangible benefits of CI help that business case
most
?
每天一次部署到测试环境可以增加业务收益,并大大降低开发成本。
Deploying to test environment once per day could increase business benefits and greatly decrease development costs.
有助于培养团队精神。已经在使用Scrum的情况下,持续集成将
不会
为业务产生可衡量的利益。
It helps the team spirit. As they are already using Scrum, CI will
not
generate measurable benefits for the business.
这能增加发布的稳定性和质量,有更好的自动测试,并且促进和增加整体发布速度。
It increases release stability and quality with better and automated testing, facilitating and increasing the overall release speed.
每天发布生产一次,可以增加业务效益,并大大降低开发成本。
Releasing to production once per day could increase business benefits and greatly decrease development costs.
Navigator
Perception license for EXIN Holding