Проект заморожений - що мені слід залишати людям після мене?


14

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

Деякі кроки ми вже зробили:

  • технічна документація (не повна, але принаймні є така);
  • історія системи управління джерелами;
  • оцінки того, які частини проекту потребують вдосконалення та чому ми так думаємо;
  • купу одиничних тестів.
  • видати трекер з усіма квитками, які ми зробили ( EDIT )

Що ви думаєте про те, що ми вже підготували, і що ще ми можемо зробити?


2
розгляньте простий доступ до списку квитків у трекері випуску, пов’язаному з проектом
gnat

1
Якнайбільше запитань "Чому?" Відповіли в README.TXT з джерелами проекту, наскільки це можливо.

@gnat дякую за ідею. Це нагадало мені, що я забув це згадати. Ми використовуємо проблематичний трекер з усіма квитками. Я додам його до списку.
nyxz

1
Я проливаю єдину сльозу солідарності за вашу покинуту кодову базу. zdnet.com/blog/projectfailures/…
Бен ДеМотт

Відповіді:


9

Ще деякі речі, які слід врахувати

  • Чи нормальною є структура каталогів проекту? Ви переглянули коментарі до коду? Чи журнал комісій якимось чином представлений?
  • Огляд загальної мети (на відміну від технічної, яку ви розпочали), дорадче читання проекту, історія проекту (його цикл розробки, попередні менеджери проекту, список персоналу, вимоги / специфікація функції)
  • Діаграми UML, діаграми класів, діаграми робочого процесу!
  • Причини, що проект заморожений - це завжди приємно.
  • Середовище розробки, використовувані IDE, інструменти побудови, вони охоплені в технічних документах?

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


8

Я хотів би мати те, коли брав проект, який кинув хтось інший:

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

Виконайте інструкції з навколишнього середовища - що потрібно мати для запуску цієї речі? Згадка про те, які версії знову корисні. Нещодавно я зібрав щось, що вимагало, щоб певний набір файлів знаходився в певному місці, і мені довелося перевірити інші диски, щоб зрозуміти це. Не велика справа, оскільки був доступний інший розробник, але якби його не було, то це було б проблематично.

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

Загальна заява про наміри проекту. Для чого це програмне забезпечення? Короткий як розумний, але якийсь огляд може бути дуже корисним.


+1 за повний ланцюжок інструментів. Вся документація у світі не допоможе, якщо ви не можете створити та протестувати програмне забезпечення. Коли це можливо, я люблю включати інсталяційні образи для всіх інструментів (хоча, на сьогодні, я, мабуть, обрав би для VM зображення певного роду). Нічого гіршого, ніж з’ясувати процес збирання, залежить від сторонніх плагінів від компанії, яка вже не існує!
TMN

@TMN - і тому я, як правило, уникаю таких речей, як комерційні плагіни IDE тощо. Я не вірю, що згодом зможу відтворити своє оточення. І працюючи над програмним забезпеченням, старшим за 20 років, я ніколи не припускаю, що щось ніколи не проходить.
Майкл Коне

4

ScreenCast

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


+1 Це так просто, але ТАК має багато сенсу.
lwm

2

Якщо ви невідомі до інформації, додайте бізнес-вимоги.

  1. Що бажав замовник?
  2. Як зміни сприяли цьому?
  3. Які були чи якісь проблеми у задоволенні потреб клієнтів?
  4. Які потреби не були задоволені і чому?

1

Віртуальне зображення машини (тобто vm-посуду) автономної розвиваючої системи може бути досить цінним.

Минулого року мене попросили виправити код vb3. Було досить складно створити працюючу систему з vb3, windows95 та безліччю встановлених контрольних команд. Через тиждень я здався :-(

[Оновлення] Чи хтось досвідчується з перетворенням старих зображень віртуальної машини, щоб їх можна було відтворити в новіших програвачах віртуальної машини?

Ви також повинні врахувати, що неможливо вже запустити дуже старе зображення на сучасній апараті / гості.


Розглянемо питання відкриття нового питання щодо оновлення віртуальних машин.

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