Парне програмування та ISO 27001


16

Я працюю в команді програмування eXtreme і займаюся парним програмуванням більше 7 років в середовищі Windows. Коли ми вперше почали це робити, хтось увійде в систему за допомогою своїх облікових даних Windows, і тому весь доступ до ресурсів домену, а точніше контроль версій, буде підзвітним цьому користувачеві Windows. Врешті-решт у нас виникла облікові записи для спарювання Windows для певних станцій сполучення (наприклад, параA, pairB, PairC тощо). Усі розробники знають паролі для цих облікових записів. Підзвітність комітетів (реєстрація) досягається шляхом додавання ініціалів програмістів у коментар під час фіксації.

До сих пір це добре працювало для нас, але моя компанія зараз проходить аудит ISO 27001, і аудитор визнав це ризиком. У мене є ряд можливих рішень, таких як створення облікового запису пари для кожної парної комбінації, але мені дуже хочеться знати, чи стикався хтось із цією проблемою і як вони її вирішили?

Яке рішення було прийнятне аудиторами?


11
Я вважаю, що більшість людей, які використовують методи програмування пар, вважають, що все, що робить ISO, - це формат дати та кодування символів.
Ларс Віклунд

6
Чому потрібно мати облікові записи? Чи не вдасться зберегти окремі облікові записи, на яких можна ввійти на будь-якій машині?
Гарретт Холл

Ви не можете використовувати індивідуальні акаунти, оскільки що відбувається, якщо хтось приходить на роботу рано / йде в туалет і т. Д., А машина входить як інший користувач?
Джон Сіблі

@JohnSbly Ви маєте на увазі, якщо хочете продовжувати роботу над цим рахунком? В іншому випадку ви повинні мати можливість відкрити ще один сеанс на комп’ютері як власний користувач.
Сіньо

2
@JohnSbly, тоді драйвер виходить із системи та дозволяє одночасно входити в систему. Якщо вони йдуть до умивальної кімнати, заблокуйте машину, якщо ви не довіряєте своїм ровесникам. Однак довіра не є більшою проблемою, яку слід виправити.
CaffGeek

Відповіді:


13

Я припускаю, що аудитори вважають за краще, щоб розробники входили як самі, а не як якась «пара», яка має загальний пароль. Ризик повинен бути очевидним - розробник додає зловмисний код як "PairA" і додає в коментарі чужі ініціали (або взагалі не коментує). Як ви відстежуєте шкідливого розробника?

Я рекомендую, щоб той, хто веде спочатку (на сеансі), увійшов зі своїм ідентифікатором, і пара продовжить ставити обидва своїх ініціали у коментарях - таким чином код залишається відстежуваним до фактичного розробника.


+1, це робиться в моїй компанії. У нас є вибір експертного огляду коду чи програмування пар. Випадок програмування пар - це лише особливий випадок експертної оцінки, коли одноранговий перевіряє постійно, поки пишеться код.
Даніель Приден

@Daniel дякую, що поділився своїм досвідом. Коли ми вперше розпочали створення пари, водій повинен був увійти. Однак наші сеанси сполучення зараз більш розбірливі і часто пара обміняється до того, як завдання буде повністю виконане. Хоча це не ідеально, іноді доводиться організовувати свої заміни, оскільки всі зобов’язані парувати на виробничому коді. Це означає, що оригінальний "водій" повинен піти і, таким чином, вийти. Ми можемо перевірити цей код без них, але перешкоди для пари, яка, можливо, знаходиться в середині налагодження програми, не надто сприймаються легко.
Мартін Х'юз

7

Я б зберігав облікові записи такими, якими вони є, як правило, лише одна людина за кермом, і навіть якщо інша людина користується машиною (неофіційно), людина, яка ввійшла, повинна все-таки знати, що відбувається на їх машині.

Контрольним запитам все ще потрібні коментарі, щоб показати, хто з них є.


Ви хочете мати на увазі збереження парних акаунтів ("зберігати облікові записи такими, якими вони є") або використовувати окремі акаунти ("людина, яка ввійшла")?
Калеб

@Caleb, фізична особа як особа, яка зареєструвалась, хто займається керуванням,
CaffGeek

6

Замість створення окремих облікових записів, щоб робота не була заблокована можливим відсутнім користувачем, використовуйте свою систему контролю версій. Коли пара почне працювати, створіть гілку завдань. Здійснюйте код до гілки завдань, коли тести проходять. По завершенні завдання з’єднайте назад і закрийте гілку завдання.


5

До сих пір це добре працювало для нас, але моя компанія зараз проходить аудит ISO 27001

ISO 27001 чи ні, ваша нинішня система працює лише тому, що ви невелика компанія, де високий рівень спілкування та взаємної довіри. Така річ не дуже розширюється, тому вам, мабуть, доведеться розглянути інші варіанти в будь-який момент у майбутньому.

Створення окремого облікового запису для кожної можливої ​​пари видається ще менш практичним: вам потрібно 90 облікових записів для групи з 10 розробників, і кожен з цих 10 розробників повинен знати 9 різних комбінацій входу / пароля.

Єдине практичне рішення - використовувати індивідуальні облікові записи, як це запропонували інші, та відстежувати особу другої людини в парі іншим способом (коментар у вашій комісії з контролю версій, поле в системі відстеження випусків тощо).


2

Заради Піта, дозвольте ведучому члену пари взяти на себе відповідальність за поштовх / зобов'язання. Наступного разу їде інший учасник. "Водій" не зробить нічого, з чим не погодиться з пілотом.

Програмування - це спільна робота. Жоден акт програмування не є 100% індивідуальним. Не потрібно бути вибагливим, бажаючи відобразити, що певний поштовх / вчинок було здійснено Томом та Гаррі, а не лише Томом. Переваги парного програмування варті уваги на цей нюанс.

Аудитор має рацію, слід уникати "пулових" рахунків.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.