но также уметь отличать действительно важные на текущий момент вещи. Он должен решить, какие части программного продукта подлежат тщательному проектированию, а какие можно оставить на волю программистов.