Scale - враг на успеха
Границата на проект се характеризира със своята мащаб. Колко време, усилия и ресурси, необходими за изпълнението му? Какво функционалност е необходимо и как да стигне до нивото на качеството? Колко трудно е да се предаде на продукта до определена дата? Какво е нивото на риск? Какви са границите? Отговорите на тези въпроси се определят границите на проекта. Софтуер архитекти предпочитат предизвикателството, което го прави голямо, сложни проекти. Потенциални ползи дори изкушават хората за изкуствено повишаване на размера на проекта, за да се увеличи очевидно неговото значение. Въпреки това, разширяването на границите - враг на успех, тъй като вероятността от провал расте по-бързо от очакваното. Увеличаването на размера на проекта, два пъти по-често води до факта, че вероятността да се увеличава недостатъчност значително.
Защо се случва това? Разполагате с няколко примера.
• Интуитивно заделяме два пъти повече време и ресурси за да удвои обема на работата. Въпреки това, историята показва, че 1. връзката между тях не е толкова линейна, както интуицията. Например, като екип от четири пъти стойността на увеличение на взаимодействие с повече от половината в сравнение с екип от двама души.
• Нашите оценки - не е точна наука. Кой от нас не се окажете в ситуация, където изпълнението на някои функции са много по-трудно, отколкото се очакваше първоначално.
• Разберете на реалните потребности. Проектът трябва да осигури съответствие с поставените изисквания. Изисквания определят функционалност или някои от неговите качества. Поставя под съмнение всички изисквания, които не са описани по такъв начин, че тяхната стойност за клиента може да се измери. Ако искът няма практическо значение, защо е необходимо?
• «разделяй и владей". Търсете възможности да разделят работата на по-малки независими фрагменти. Управление на множество малки независими проекти по-лесно от един голям проект с взаимозависими части.
• Присвояване на приоритети. Летливи свят на бизнеса. В големи проекти, изискванията се променят няколко пъти по пътя. На наистина важните изисквания обикновено се създават и да останат, без значение колко променящите се икономически условия, а други изисквания се променят или дори изчезват. Приоритет система позволява да се реализират най-важните изисквания на първо място.
• Да демонстрира резултати възможно най-скоро. Хората рядко осъзнават, че те се нуждаят, докато не получите резултат. В комикс [7] показва развитието на детския проекта люлка: това каза, клиента и неговите изисквания да разберат участниците в проекта да изпълнява определени роли. Резултатът е умен строителство, само бегло напомня на люлка. И на последната цифра, озаглавена "Какво клиентът иска" показва прост люлка на гумите на колата на въже. Когато клиентът има нещо, което той може да преживее лично, понякога решението е по-просто от очакваното. Когато основната прилагането на най-важните функции, които като обратна връзка, за да получите най-важната информация на ранен етап, когато е най-необходимо.
Привържениците на гъвкавите методологии ни увещават да построи "най-простото нещо е да се работи" [8]. Повреди на проекти с комплекс архитектура се появят много по-често в сравнение с простите. Намаляване на границата на проекта често води до опростяване на архитектурата - и това е един от най-ефективните стратегии за подобряване на шансовете за успешен архитект на проекта.