Я допомагаю керувати зовнішньою командою, яка починає розробляти нові версії деяких існуючих продуктів. Історично ця команда завжди використовувала модель одного проекту в єдиному рішенні для близько 30 модулів у Visual Studio, які йдуть разом, щоб створити розгорнуту збірку.
Це робить згубний вплив на надійність і якість збірки, оскільки вони не завжди надсилають нам найновіший вихідний код. Ми намагаємось натиснути на них, щоб об'єднати весь посилається код на одне рішення, але ми отримуємо певний опір - зокрема, вони продовжують говорити про збільшення взаємозалежності між модулями (читайте "проекти" у Visual Studio), якщо все розміщується в єдиний файл рішення. Жоден код в окремих рішеннях не використовується в іншому місці.
Я наполягаю, що це нісенітниця, і гарні моделі розвитку дозволять уникнути будь-якої такої проблеми.
Команда, про яку йдеться, також виконує виправлення помилок та розробку нових функцій для вже існуючого продукту, досвід роботи якого є найменшим загрозою і страждає від тієї самої проблеми розбиття на декілька рішень. Нам відмовили у доступі до їх джерела контролю ( TFS ), і підхід, який ми застосовуємо для уніфікації бази даних, - це спробувати принаймні зменшити кількість відсутніх оновлень і більше, ніж епізодичні регресії (так, виправлені помилки отримують знову -введено до продукту), кажучи: "надішліть нам ZIP всю папку рішення, щоб ми могли розпакувати, відкрити його у Visual Studio та натиснутиF5 для тестування ". З точки зору загальної структури та якості, код досить поганий і важко підтримувати. Цей досвід, тому я маю намір домогтися правильних робочих процесів як можна раніше на циклі розробки.
Щось мені не вистачає? Чи є коли-небудь вагома причина, щоб утримувати весь цей код відокремленим? Для моїх грошей це могло б бути настільки вагомою причиною, що це було б загальновідомим, але я більше ніж готовий визнати, що не знаю всього.