Как хорошему разработчику не стать плохим менеджером - [3]
Хорошая новость заключается в том, что заказчики это понимают (обычно). Большинство заказчиков имеет возможность увеличить бюджет или убрать часть функционала, чтобы проект таки принёс им какой-то осмысленный результат.
Плохая новость заключается в том, что даже с понимающим заказчиком менеджер не может просто расслабиться и позволить проекту катиться в произвольном направлении. В случае провала проекта заказчика очень интересует, что пошло не так. Это не поиски виноватого, а здравый смысл. Если в процессе разработки выяснились новые требования или выбранные технологии не подошли к задаче, то понятно, куда двигаться дальше. Вторая итерация проекта будет нацелена на исправление того, с чем не справилась первая итерация. Таким образом, провал проекта принесёт важную информацию и будет ступенькой для реализации системы.
Совсем другая ситуация, когда проект провален из-за низкой квалификации разработчиков или, ещё хуже, когда проект провален, и никто не понимает, почему. В этой ситуации провал проекта – это просто потраченные деньги. Ни один заказчик такого не потерпит.
Водопадная модель разработки
Периодически слышу от разных людей сожаление, что они используют водопадную модель разработки: “Мы бы и рады использовать Agile, но заказчик против”, “У нас водопад, мы к нему привыкли”, “Мы готовимся перейти на гибкие методологии, но пока у нас водопад”. Такие разговоры меня удивляют, так как встретить сейчас чистую водопадную модель разработки практически нереально.
Чтобы выяснить, почему так, давайте вспомним, что такое водопад как методология разработки, и как связаны разные этапы разработки:
Все этапы идут один за другим. Следующий этап начинается после полного окончания предыдущего этапа. Это очень-очень старая модель. Её название пошло из статьи Уинстона Уокера Ройса, опубликованной в 1970м году. Юмор заключается в том, что в той статье Ройс говорил об устарелости и ограниченности этой модели и о необходимости перехода на итеративные модели. То есть “водопад” – это то, как разрабатывали программы в 60-е годы.
Нам сейчас даже трудно представить, как это было, но давайте попробуем. Вот у какой-то компании есть нужда в какой-то программе. Она оплачивает анализ требований какому-нибудь проектному институту. В результате получает вагон требований (буквально железнодорожный вагон документации), который принимается и подписывается. Эта документация потом направляется в другой проектный институт, который уже делает дизайн, описывает, какое оборудование и какие программы нужны для реализации задачи. Опять, весь результат оформляется, принимается и подписывается. Для реализации документация направляется по нескольким другим компаниям, которые разрабатывают аппаратно-программные комплексы. На общую задачу им плевать, они работают по документации и производят не только код, но и кучу другой документации. На этапе интеграции ещё одна компания объединяет все эти разработанные куски в единое целое и только тогда начинается внедрение (отдельной компанией или департаментом).
Что делать, если заказчик на этапе интеграции захотел изменить требования, добавить отчёт? Ничего не сделаешь. В принципе отсутствовала такая опция в те далёкие времена. Можно было дождаться полной имплементации и начать новый проект по реализации этого отчёта. Либо прекратить все работы и начать всё снова. Нельзя попросить институт, который писал требования, их изменить. Потому что это физически вагон бумаги, который уже ушёл от них. И по той документации уже что-то сделано и компании не будут ничего переделывать, так как у них в контракте описана работа по изначальной версии задания и всё. Даже просто разорвать эти контракты и остановить работы часто было невозможно, так как в контрактах такая возможность могла отсутствовать. Компаниям приходилось оплачивать продолжение работ по контракту, даже когда нужда в программе отпадала. Так, например, происходило после распада СССР, когда экономическая ситуация изменилась кардинально и многие системы стали не нужны, но проекты остановить было невозможно.
Уже в 70-е годы прошлого века было понятно, что эта модель очень ограничена. Вся индустрия развивалась так, чтобы можно было в программы вносить правки, чтобы код следовал быстрым изменениям на рынке.
Вы можете представить ситуацию, что заказчик приносит в середине проекта деньги и просит изменить какую-то страницу приложения, а вы отказываетесь, заявляя, что будете делать всё, как раньше договаривались? Вряд ли. Возможно, вы попросите больше денег, чем договаривались изначально, сдвинете сроки, перепишете большой кусок системы, но вы точно не начнёте всё сначала, как этого требует водопадная модель разработки.
Близкая к водопадной модель иногда встречается на совсем небольших проектах и проектах по интеграции существующего, а не разработке нового ПО. Но там просто изменений от заказчика не поступает и решения типовые, поэтому нужда в итерациях отсутствует.
В обычном же проекте в настоящее время классического водопада нет. Да, возможно, не используется Scrum. Да, возможно, вообще никто не может сказать, что именно это за методология, и она нигде не описана. Но это не водопад.
Цикл бесед священника Павла Гумерова посвящен тому, как научиться избегать столкновений и конфликтов в семейной жизни, как разрешать конфликтные ситуации, как достичь мира и взаимопонимания в браке.
Книга является первым в России историческим очерком трансперсонального проекта в российской культуре. Авторы книги, доктор психологических наук, профессор Владимир Козлов и кандидат философских наук Владимир Майков, проанализировали эволюцию трансперсональной идеи в контексте истории психологии, философии, антропологии и духовных традиций.Во втором томе исследуется русская трансперсональная традиция и выявляются общие характерные особенности трансперсональной парадигмы в России и трансперсонального мировоззрения нашего народа и великих российских мыслителей.
Осознаваемое сновидение есть сновидение, в котором спящий во время сна осознает, что видит сон. В таком сновидении спящий, достигая полной ясности сознания, с абсолютной уверенностью понимает, что все зримое и ощущаемое — сон, и эта необычная убежденность дает такой уровень свободы и личной силы, который недостижим в обычном сне. Эта книга уже является классическим произведением в области изучения сновидений и, наверное, еще долго будет оставаться одним из главных руководств для тех, кто следует по пути самопознания.
Жизнь – это наша марафонская дистанция. Если терять силы на стрессах и неприятностях, то едва ли мы доживем до достойного финиша. Успешный человек отличается от неуспешного не тем, что не падает, а тем, что умеет подниматься. Мудрый от обывателя отличается не тем, что не реагирует на стрессы и неприятности, а тем, что эта реакция скорее философская, чем злобная или страдальческая. Страхи, трудные люди, обиды, неуверенность, потери были и будут всегда. Вопрос только в том, управляют они нами или мы учимся управлять ими.Эта книга о том, как приобрести эти бесценные навыки.
Название этой книги говорит само за себя — «Как стать успешной стервой, которой все завидуют». Замечали ли вы, что «серую мышку» никто никогда стервой не назовет? А если женщина, наоборот, активно борется за «место под солнцем» и за свой «кусочек счастья» — пожалуйста, готов ярлык: стерва. Может быть, это слово имеет позитивный смысл?Автор полагает, что это безусловно так. Ведь основные черты характера стервы — самостоятельность, прагматичность, высокая адаптивность и беспощадность к себе. Стерва принимает важные решения сама, не перекладывая ответственность на чужие плечи.
Тебе не позволяли хотеть самому? Ты все время жил чужой волей, и поэтому ты сейчас уже не хочешь ничего? Ты разучился хотеть? Боишься выбирать и тебе уже проще жить, как все, и тихо все это ненавидеть?.. Но есть другое предложение: начинать жить снова, потому что сегодня – это не жизнь, а жить все равно хочется, и жизнь стоит того, чтобы ее прожить полной грудью, со всей скоростью! Начинается такая жизнь непросто. Она начинается с детства, а детство – с игры в «Хочу» и «Не хочу». И протестов против того, что «Надо».Эта книга о том, как научиться видеть завтра и сделать свою жизнь радостной!