ペアプログラミングとISO 27001


16

私はeXtremeプログラミングチームで働いており、Windows環境で7年以上ペアプログラミングを行っています。私たちが最初にそれを始めたとき、誰かがWindowsの資格情報でログインするため、ドメインリソースへのすべてのアクセス、より具体的にはバージョン管理はそのWindowsユーザーに説明責任があります。最終的に、特定のペアリングステーション(ペアA、ペアB、ペアCなど)のWindowsペアリングアカウントを持つように進化しました。すべての開発者は、これらのアカウントのパスワードを知っています。コミット(チェックイン)の説明責任は、コミット中にプログラマーのイニシャルをコメントに入れることで実現されます。

これまではこれでうまくいきましたが、私の会社は現在ISO 27001監査を受けており、監査人によってリスクとしてフラグが立てられています。ペアの組み合わせごとにペアリングアカウントを作成するなど、可能な解決策がいくつかありますが、この問題に他の誰かが遭遇したかどうか、どのように解決したかを知りたいのですが。

審査員はどのような解決策を受け入れましたか?


11
ペアプログラミングのプラクティスを採用しているほとんどの人は、ISOが行うことは日付形式と文字エンコードだけだと考えていると思います。
ラースヴィクルンド

6
ペアリングアカウントが必要なのはなぜですか?任意のマシンにログインできる個々のアカウントを保持することはうまくいかないでしょうか?
ギャレットホール

誰かが仕事に早く入ったり、トイレなどに行ったり、マシンが他のユーザーとしてログインした場合はどうなるのか、個々のアカウントを使用することはできませんか?
ジョンシブリー

@JohnSiblyそのアカウントで進行中の作業を続行したい場合のことですか?それ以外の場合は、自分のユーザーとしてコンピューターで別のセッションを開くことができるはずです。
jo

2
@JohnSibly、ドライバーはログオフし、ピアにログオンさせます。彼らが洗面所に行く場合、あなたがあなたの仲間を信用しないならば、機械をロックしてください。ただし、是正する必要がある大きな問題は信頼ではありません。
CaffGeek

回答:


13

監査人は、開発者が共有パスワードを持つ「ペア」としてではなく、自分でログインすることを好むと思います。リスクは明らかなはずです。開発者は、悪意のあるコードを「PairA」として追加し、他の誰かのイニシャルをコメントに追加します(またはまったくコメントしません)。悪意のある開発者にどのようにたどりますか?

最初に(セッションで)運転している人は自分のIDでログインし、ペアは両方のイニシャルをコメントに入れ続けることをお勧めします-そのようにして、コードは実際の開発者までさかのぼることができます。


+1、これは私の会社で行われていることです。ピアコードレビューまたはペアプログラミングを選択できます。ペアプログラミングケースは、ピアレビューの特別なケースであり、コードの作成中にピアが継続的にレビューを行っています。
ダニエルプライデン

@Danielはあなたの経験を共有してくれてありがとう。最初にペアリングを開始したとき、ログインするのはドライバーでした。しかし、ペアリングセッションは現在、より乱雑であり、タスクが完全に完了する前にペアがスワップすることが非常に多くなっています。これは理想的ではありませんが、誰もが本番コードでペアリングする必要があるため、スワップを調整する必要がある場合があります。これは、元の「ドライバー」が立ち去ってログアウトする必要があることを意味します。それらのコードなしでコードをチェックインすることはできますが、アプリのデバッグの途中にいる可能性のあるペアの混乱は軽視されません。
マーティンヒューズ

7

私はアカウントをそのままにしておきます。通常、運転しているのは1人だけです。他の人が(非公式に)マシンを使用していても、ログインしている人はマシンで何が起こっているかを認識しているはずです。

ただし、チェックインには、ペアが誰であるかを示すコメントが必要です。


ペアアカウントを保持する(「アカウントをそのまま保持する」)か、個々のアカウント(「ログインした人」)を使用するのですか?
カレブ

@Caleb、ログインしている個人として運転している人
CaffGeek

6

作業が不在のユーザーにロックされないように個別のアカウントを作成する代わりに、バージョン管理システムを使用します。ペアが機能し始めたら、タスクブランチを作成します。テストに合格するたびにタスクブランチにコードをコミットします。タスクが完了したら、マージして戻ってタスクブランチを閉じます。


5

これまではこれでうまくいきましたが、現在、私の会社はISO 27001監査を受けています

ISO 27001であろうとなかろうと、あなたの現在のシステムは、高度なコミュニケーションと相互信頼のある小さな会社だからこそ機能します。そのようなことはあまりうまくスケールアップしないので、とにかく将来のある時点で他のオプションを考慮する必要があるでしょう。

可能なペアごとに個別のアカウントを作成することはさらに実用的ではないようです。10人の開発者のグループに90個のアカウントが必要であり、10人の開発者はそれぞれ9種類のログイン/パスワードの組み合わせを知っている必要があります。

唯一の実用的な解決策は、他の人が示唆しているように個々のアカウントを使用し、ペアの2人目のアイデンティティを別の方法で追跡することです(バージョン管理コミットのコメント、問題追跡システムのフィールドなど)。


2

ピートのために、ペアの運転メンバーにプッシュ/コミットのクレジット/責任を負わせてください。次に他のメンバーが運転します。「運転手」は副操縦士に同意しないことは何もしません。

プログラミングは共同作業です。100%個別のプログラミング行為はありません。指定されたプッシュ/コミットが、トムだけでなく、トムとハリーによって行われたことを反映したいという気難しいことをする必要はありません。ペアプログラミングの利点は、そのニュアンスを見逃す価値があります。

監査人は正しい、「プール」アカウントは避けるべきです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.