Як ви створюєте програмний процес для проекту?


13

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

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


Добрий-Швидкий-Дешевий-Процес - коли проект відстає, зменшуйте процес.
ChuckCottrill

2
Як це вийшло?
Роберт Харві

Відповіді:


10

Я б запропонував вам заглянути в програму Agile.

Варіантів багато, але вони мають, як правило, кілька спільних речей:

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

Хорошим місцем для початку буде MSF Agile або Scrum .


7

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

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


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

@Thomas Owens Я думаю, що похвально, що ти хочеш залишити команду дорожню карту після того, як тебе немає. Однак навряд чи хтось звернеться до дорожньої карти, побудованої інтерном. Це не роздуми над вашими вміннями та навичками. У такому разі я би вклав максимально зусиль, щоб зробити перші кроки на місці. Не варто недооцінювати зусилля, які знадобляться для зміни звичок та процесів існуючої команди. Насправді спроби отримати контроль над джерелами та відслідковування помилок впроваджені за півроку можуть бути більше, ніж можна розумно зробити.

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

1

Ми використовуємо Prince2 для процесів управління проектами, і це працює дуже добре. Я б припустив, що для компанії, яка не має управління проектами, це здасться мучним!


1

Ми адаптували конвеєр розробки, описаний у цьому відео, для власних потреб, використовуючи TeamCity як наш сервер CI.

http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Tuning-The-Development-Process-at-Spot-Runner/

TC - це єдина система CI, про яку я знаю, що робить репозиторій-натискання, а не тягнення, що означає (теоретично) більше не зламаних збірок ніколи!


1

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


0

Перегляньте ці статті про постійну інтеграцію для програмування .NET за допомогою MSBuild, CruiseControl.NET, FxCop, NUnit, NCover та Subversion ...

З траншей розробки програмного забезпечення


1
@Zack: Ми не використовуємо .NET програмування. Я шукаю загальну пораду, яку можна використовувати в будь-якому проекті, використовуючи будь-який стек технологій. Такі речі, як вибір моделі, реалізація цієї моделі тощо.
Томас Оуенс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.