97 вещей которые должен знать solution arcitect - 6
2020-01-19 14:51:12 +0600 +0600
Ищите ценность в запрашиваемых возможностях / Seek the value in requested capabilities
Часто клиенты и конечные пользователи указывают на то, что они считают жизнеспособным решением проблемы, в качестве требования. Классическую историю об этом рассказал Гарри Хиллакер, ведущий дизайнер F-16. Его команде было предложено спроектировать самолет развивающий скорость 2 - 2,5 Маха, задача была тогда, и, вероятно, сейчас совсем нетривиальной, особенно когда целью является создание «дешевых» легких самолетов.Помните, что сила, необходимая для преодоления лобового сопротивления при удвоении скорости увеличивается в 4 раза, и какое влияние это оказывает на вес самолета.
Когда команда разработчиков спросила военно-воздушные силы, почему они нуждались скорости 2 - 2,5 маха, ответ должен был быть прост: самолет должен вырваться из боя.
С реальной потребностью на столе команда дизайнеров смогла решить корень проблемы и обеспечить рабочее решение.
Решение было гибким самолетом с высоким отношением тяги к весу, обеспечивающее ускорение и маневренность, а не максимальную скорость. Этот урок должен быть перенесен и в разработку программного обеспечения. Запрашивая value, предоставляемое запрашиваемой функцией или требованием, архитекторы могут решить реальную проблему, и ,возмодно, предоставить лучшее и более дешевое решение по сравнению с решением, предложенным клиентом.
Акцент на value также упрощает расстановку приоритетов.
Итак, как действовать дальше? Во многих отношениях требуемый подход находится в agile манифесте: “Collaboration over contract”.
На практике это подразумевает организацию семинаров/воркшопов и совещаний, на которых архитекторы уделяют внимание потребностям клиентов, помогая клиентам ответить на вопрос «почему»(WHY?).
Помните, что ответить на вопрос «почему» может быть сложно, потому что мы очень часто говорим о неявном знании. (Сокральне очевидные знания заказчика, которе воспринимаются как само-собой разумеющиеся, на которых не акцентируются)
На этих семинарах следует избегать дискуссий о том, как предоставить техническое решение, поскольку они перемещают дискуссии из области клиента в область разработки программного обеспечения.
By Einar Landre