"Эрик С.Рэймонд. Собор и Базар (Linux) " - читать интересную книгу авторапостоянным отношение числа хакеров к числу пользователей, Линус получал и
стимул и вознаграждение. Стимул - удовлетворенность своими действиями, вознаграждение - ежедневное улучшение своей работы. Линус стремился максимизировать количество человеко-часов, затраченных на отладку и разработку, даже ценой нестабильности, если какая-то ошибка окажется трудно устранимой. Линус считал что: 8. При достаточном количестве бета-тестеров и сотрудников, почти любая проблема будет быстро обнаружена и окажется для кого-то очевидной. Или менее формально: "При достаточном количестве глаз, ошибки выплывают на поверхность." Я назову это - законом Линуса. Мое собственное утверждение состоит в том, что всякая проблема является для кого-то прозрачной. Однако по мнению Линуса, человек, который понимает проблему и находит ее решение, не всегда первый ее обнаруживает. "Кто-то находит проблему", - говорит он, - "А кто-то еще ее понимает. И я часто замечаю, что поиск требует наибольшего навыка." Суть заключается в том, что и то и другое должно происходить быстро. Существенная разница здесь в различии соборного и базарного стиля. С точки зрения соборного стиля программирования, ошибки - хитрые, коварные и страшные явления. Месяцы работы, не имеющей отношения к разработке, уходят на то, чтобы выловить все ошибки. Таким образом мы получаем длительные промежутки между релизами и разочарование, когда столь долгожданные релизы оказываются далеки от совершенства. С другой стороны при работе в стиле базара, вы не считаете ошибки непреодолимым препятствием. По крайней мере они покажутся такими тысячам пользователям, работающим над каждым новым релизом. Вы выпускаете релизы Вот и все. Если закон Линуса неверен, то при разработке сложной системы, такой как ядро Linux'a, многими пользователями, в некоторый момент времени, система развалится из-за плохого взаимодействия и недосмотренных серьезных ошибках. С другой стороны, если этот закон верен, то он обЪясняет отностительное отсутствие грубых ошибок. Возможно, это не так удивительно, как кажется. Несколько лет назад социологи открыли, что среднее мнение людей, в равной степени являющихся либо экспертами, либо дилетантами более верно, чем мнение одного случайно выбранного наблюдателя. Это называется "эффектом Delphi". Линус показал, что это применимо даже в отладке операционной системы, - эффект Delphi может уменьшить сложность проекта даже на уровне разработки ядра ОС. Я благодарен Джеффу Датки (Jeff Dutky), за то что он показал мне, как можно перефразировать закон Линуса: "Отладка может быть параллельной." Джефф считает, что хотя во время отладки людям нужно общаться друг с другом с помощью какого-нибудь координатора-разработчика, это не требует серьезной координации между тестерами. Это значительно уменьшает издержки при добавлении тестеров. На самом деле теоретическая потеря эффективности от того, что часть работы по отладке дублируется, в мире Linux'a очень небольшая. Эффект от частого выпуска релизов уменьшает вероятность двойной работы, так как ошибки фиксируются очень быстро. Приведем замечание Брукса:" Общая стоимость поддержки широко используемой программы - это не меньше 40% от стоимости ее разработки." Удивительно, что эта стоимость зависит от числа пользователей. Больше |
|
|