укту, тим раніше замовник починає отримувати за рахунок неї додатковий прибуток. Слід пам'ятати, що гроші, зароблені сьогодні, коштують дорожче, ніж гроші, зароблені завтра. Чим раніше замовник приступить до експлуатації продукту, тим раніше розробники отримають від нього інформацію про те, що відповідає вимогам замовника. Ця інформація може виявитися надзвичайно корисною при плануванні наступного випуску.
Простота проектірованія.ісходіт з того, що в процесі роботи умови задачі можуть неодноразово змінитися, а значить, розробляється продукт не слід проектувати завчасно цілком і повністю. Спроба детально спроектувати систему на самому початку роботи є марною тратою часу. XP припускає, що проектування - це настільки важливий процес, що його необхідно виконувати постійно протягом всього часу роботи над проектом. Проектування повинно виконуватися невеликими етапами, з урахуванням постійно змінюються вимог. У кожний момент часу слід намагатися використовувати найбільш простий дизайн, який пасує для вирішення поточної задачі, і міняти його в міру того, як умови задачі змінюються.
Метафора системи.
Архітектура - це уявлення про компонентах системи та їх взаємозв'язках між собою. Розробникам необхідно проводити аналіз архітектури програмного забезпечення для того, щоб зрозуміти, в якому місці системи необхідно додати нову функціональність, і з чим буде взаємодіяти новий компонент.
Метафора системи (system metaphor) - це аналог того, що в більшості методик називається архітектурою. Метафора системи дає команді уявлення про те, яким чином система працює в даний час, в яких місцях додаються нові компоненти, і яку форму вони повинні прийняти.
Підбір хорошою метафори полегшує для групи розробників розуміння того, яким чином влаштована система. Іноді зробити це не просто.
Стандарти кодування.
Всі члени команди в ході роботи повинні дотримуватися вимог загальних стандартів кодування. Завдяки цьому:
члени команди не витрачають час на?? лупие суперечки про речі, які фактично ніяк не впливають на швидкість роботи над проектом;
забезпечується ефективне виконання інших практик.
Якщо в команді не використовуються єдині стандарти кодування, розробникам стає складніше виконувати рефакторинг; при зміні партнерів в парах виникає більше утруднень; загалом і в цілому, просування проекту ускладнюється. В рамках XP необхідно добитися того, щоб було складно зрозуміти, хто є автором тієї чи іншої ділянки коду, - вся команда працює уніфіковано, як одна людина. Команда повинна сформувати набір правил, а потім кожен член команди повинен слідувати цим правилам в процесі кодування. Перелік правил не повинен бути вичерпним або занадто об'ємним. Завдання полягає в тому, щоб сформулювати загальні вказівки, завдяки яким код стане зрозумілішим для кожного з членів команди. Стандарт кодування спочатку повинен бути простим, потім він може поступово ускладнюватися в міру напрацювання досвіду групою розробників. Не потрібно витрачати надто багато часу на попередню розробку стандарту.
Колективне володіння.
Колективне володіння означає, що кожен член команди несе відповідальність за весь вихідний код. Таким чином, кожен вправі вносити зміни в будь-яку ділянку програми. Парне програмування підтримує цю практику: працюючи в різних парах, всі програмісти знайомляться з усіма частинами коду системи. Важлива перевага колективного володіння кодом - в тому, що воно прискорює процес розробки, оскільки при появі помилки її може усунути будь-який програміст.
Право кожного програміста змінювати код веде до ризику появи помилок, внесених програмістами, які вважають, що знають, що роблять, але не розглядають деякі залежності. Добре певні юніт-тести вирішують цю проблему: якщо нерозглянуті залежності породжують помилки, то наступний запуск юніт-тестів буде невдалим.
1.3 Технологія MSF - Microsoft Solution Frame
Microsoft Solutions Framework (MSF) - методологія розробки програмного забезпечення, запропонована корпорацією Microsoft. MSF спирається на практичний досвід Microsoft і описує управління людьми і робочими процесами в процесі розробки решенія.представляет собою узгоджений набір концепцій, моделей і правил.
Модель проектної групи MSF (MSF Team Model) описує підхід Майкрософт до організації працюючого над проектом персоналу та його діяльності з метою максимізації успішності проекту. Дана модель визначає рольові кластери, їх області компетенції та зони відповідальності, а також рекомендації членам проектної групи, що дозволяють їм успішно здійснити свою місію по втіленню проекту в життя.
М...