Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Мы решили поиграться с новыми технологиями, в которых у нас было мало экспертизы. Нам их порекомендовали. Конечно нам хотелось набраться опыта. Сейчас я думаю, что лучше бы использовал только те технологии, в которых у меня есть опыт.
Сравните его с текущим .net Core, да и хоть 4.7.2. С тех пор было несколько итераций рефакторинга, причём кардинального, ибо первые версии были спроектированы далеко не идеально, плюс требования менялись во времени.Да ничего подобного) Абстракции в общем и целом не изменились. Реализация абстракций конечно поменялась, но реализация абстракций каким образом касается архитектуры?
Но и вообще мой поинт не о продуктах для программеров, а о продуктах для конкретных «реальных» заказчиков.Вы ПО делите на реальное и не реальное? Как это? Фреймворк писался для программистов, и в данном случае заказчики — это программисты. Нет?
Редко, когда заказчик сам понимает, что конкретно ему надо.Такого вообще не бывает. Вы что же, подскажете майкрософту что «вставить» в будущий фреймворк?) И слава тебе хоспаде не подскажете, ибо ну его нафиг, пусть этим вменяемые занимаются, это если по мне.
Но и вообще мой поинт не о продуктах для программеров, а о продуктах для конкретных «реальных» заказчиков. Там чудес с начальным проектированием ещё меньше.А значит и абстракций меньше) Но и эти в общем-то банальные 50 абстракций и 10 базовых типов вы не в состоянии разрулить.
А при неспособности написать грамотное ТЗ, о каком мегаархитекторе, который заранее всё учтёт вообще говорить можно…А вот про это говорилось уже давным давно) Если человек не способен даже «на бумашке» изложить мысли — так это вообще путь вникуда.
Редко, когда заказчик сам понимает, что конкретно ему надо.Так спросите конкретней что заказчику нужно. А как иначе-то? Или снова чудо? Угадывать будете что ему нужно? Ну угадывайте.
И здесь кроется первая ошибка обошедшаяся в приличную сумму для нашего заказчика. Она звучит так: быстро запилить MVP.
Оглядываясь назад я с уверенностью могу сказать, что первым делом нужно было взять в рассчет весь функционал который заказчик хотел увидеть в конечном итоге через несколько лет.
Для того чтобы выиграть тендер наша компания послала разработчиков не имевших опыт в проектировании крупных приложений и надежных расширяемых систем.
Невозможно поддерживать постоянный темп разработки без увеличения ресурсов команды.
Принцип Agile «Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно» работает только в случае, если с самого начала были известны и проработаны требования, весь набор функционала, спроектирована надежная и расширяемая архитектура (одним словом, если каждый класс продумывался с учетом конечной функциональности системы) и четко поставлены процессы.
И это надо было делать в MPV прежде чем пилить продукт.
В нашей команде единственный дизайнер был удаленным сотрудником. Это была серьезная ошибка. Удаленный сотрудник всегда живет своей жизнью.
А значит лидер у Front End команды должен быть Front End разработчком в прошлом, а не Back End как это бывает всегда.
Agile должна содержать компетентного лидера по каджому из направлений ее работы (FE, BE). Эти лидеры должны обладать сильными Soft скиллами чтобы донести до заказчика то, что я пытаюсь описать в этой статье. А это очень и очень не просто.
Когда мы вышли в первый релиз мы поняли что у нас постоянно что-то ломается в самый последный день перед демо.
У нас был удаленный архитектор.
Мы решили что больше мидлов и меньше синьоров выгоднее для проекта. Сейчас мы думаем иначе. Если у вас маленький бюджет, вам необходимо нанимать самых дорогих специалистов.
Мы решили поиграться с новыми технологиями, в которых у нас было мало экспертизы. Нам их порекомендовали. Конечно нам хотелось набраться опыта. Сейчас я думаю, что лучше бы использовал только те технологии, в которых у меня есть опыт.
Наши эстимации проходили изнурительно и переходили в нудную техническую полемику как ни крути. Эффективность митингов была минимальной.
За что я уважаю нашего PO, так это за то что он решил разделить ее на много мелких и выделить в каждой из них своего мини PO.
С самого начала у нас не было времени чтобы писать тесты. Через пол года мы пришли к тому что их все-таки нужно было писать.
Не копить технический долг — это утопия. Он всегда будет.
Если ваши разработчики непонимают зачем на FrontEnd нужно знание ООП, то ваш код вряд ли можно будет поддерживать.
Если у вас есть архитектор, скорее всего вам нужен еще один.
При чем здесь agile и реакт? Любой проект можно зафакапить с любыми методологиями и технологиями.
С чего вы взяли, что MVP предполагает создание первой версии продукта из говна и палок? Это было одной из ключевых ошибок. MVP это не прототип, а полноценное архитектурно сформулированное решение но с минимальным функционалом.
а нужна ценность
Например, вы хотите зарабатывать деньги на сайте с хорошим уникальным контентом, и для mvp вы просто выберете сайт на wordpress, а когда вы поймете что это то чем стоит дальше заниматься, то перепишете всё на какой-нибудь современный и модный язык.
Хорошая статья, прямо светлое пятно бесценного собственного негативного опыта на фоне переводных новостей и рекламных постов.
Моё мнение о причинах и как этого избежать:
Как не слить 10 миллионов бюджета вашего заказчика, играясь с Agile