配对编程和ISO 27001


16

我一直在eXtreme编程团队工作,并且在Windows环境中进行结对编程已有7年以上。当我们第一次开始执行此操作时,某人将使用其Windows凭据登录,因此,对该域用户的所有对域资源(尤其是版本控制)的访问都应负责。最终,我们发展为特定配对站(例如,pairA,pairB,PairC等)的窗口配对帐户。所有开发人员都知道这些帐户的密码。通过在提交过程中将程序员的姓名缩写写在注释中,可以实现提交(签入)的责任。

到目前为止,这对我们来说还算不错,但是我公司目前正在通过ISO 27001审核,审核员将其标记为风险。我有许多可能的解决方案,例如为每个配对组合创建一个配对帐户,但我真的很想知道是否有人遇到过这个问题以及他们如何解决?

审核员可以接受哪种解决方案?


11
我认为大多数采用结对编程实践的人都认为ISO所做的只是日期格式和字符编码。
Lars Viklund

6
为什么需要配对帐户?保留可在任何计算机上登录的个人帐户是否可行?
加勒特·霍尔

您无法使用个人帐户,因为如果某人早点上班/去了洗手间等并且机器以其他用户身份登录会发生什么情况?
约翰·西伯里

@JohnSfully是指要继续对该帐户进行中的工作吗?否则,您应该能够以自己的用户身份在计算机上打开另一个会话。
Sinjo 2012年

2
@JohnSably,然后驱动程序注销,并允许对等方登录。如果他们去洗手间,如果您不信任同行,请锁定机器。但是,没有信任是应该解决的更大问题。
CaffGeek

Answers:


13

我假设审核员希望开发人员以自己的身份登录,而不是以具有共享密码的“一对”身份登录。风险应该很明显-开发人员添加了一些恶意代码作为“ PairA”,并在注释中添加了其他人的姓名缩写(或完全不对其进行注释)。您如何追溯到恶意开发人员?

我建议谁先开车(在会话中)使用自己的ID登录,然后两人继续在注释中加上两个姓名的首字母,那样,代码就可以追溯到实际的开发人员了。


+1,这是我公司所做的。我们可以选择对等代码审查或配对编程。结对编程案例只是同行评审的一种特殊情况,在编写代码的过程中,同行一直在不断进行评审。
丹尼尔·普里登

@Daniel感谢您分享您的经验。当我们第一次开始配对时,将是驾驶员登录。但是,我们的配对会话现在比较混乱,很多时候一对配对会在任务完全完成之前交换。尽管这不是理想的选择,但有时还是需要编排交换,因为每个人都必须配对生产代码。这意味着原始的“驾驶员”必须走开然后注销。我们可以在没有它们的情况下检入该代码,但是对这对可能在调试应用程序中间的中断的影响不容小too。
马丁·休斯

7

我会按原样保留帐户,通常只有一个人在开车,即使另一个人(非正式地)使用机器,登录的人也应该知道他们的机器上正在发生什么。

Checkins仍然需要注释以显示这对是谁。


您是说保留配对帐户(“保持原样”)还是使用个人帐户(“登录的人”)?
Caleb

@Caleb,正在执行驾驶的登录用户为个人
CaffGeek

6

与其创建单独的帐户,以免将工作锁定在可能不存在的用户上,不如使用版本控制系统。当一对开始工作时,创建一个任务分支。测试通过后,将代码提交到任务分支。任务完成后,请合并并关闭任务分支。


5

到目前为止,这对我们来说还算不错,但是我公司目前正在通过ISO 27001审核

不论是否符合ISO 27001标准,您当前的系统只能运行,因为您是一家小型公司,那里的沟通和相互信任度很高。这种事情无法很好地扩展,因此无论如何将来您可能不得不考虑其他选择。

为每个可能的货币对创建一个单独的帐户似乎不那么实际:您需要一个90个帐户才能组成一个由10个开发人员组成的小组,而这10个开发人员中的每个开发人员都必须知道9种不同的登录名/密码组合。

唯一可行的解​​决方案是使用其他帐户建议的个人帐户,并以其他方式(版本控制提交中的注释,问题跟踪系统中的字段等)跟踪配对中第二个人的身份。


2

看在皮特的份上,让这对夫妇的推动成员为推动/承诺承担信用/责任。下次其他成员将开车。“驾驶员”不会做他未同意副驾驶的任何事情。

编程是一项共同的努力。没有任何编程契约是100%个人的。不必费力地想反映给定的推送/提交是由Tom和Harry进行的,而不仅仅是Tom。结对编程的好处值得忽略。

审核员是正确的,应避免“合并”帐户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.