Техники за събиране на изисквания
Наскоро ми попадна една статия, озаглавена 10 техники за събиране на изисквания. Tom Mochal е много авторитетен експерт в областта на проджект мениджмънта и аз много ценя неговото мнение, но някои от нещата, описани в тази статия ми изглеждат съвсем тривиални, като обсъждане с един човек, обсъждане с двама човека и обсъждане с 3-4 човека.
По-интересно за мен беше това, че той посочва някои техники, които ми се струва, че не са толкова популярни, а според мен са изключително ефективни. Затова реших да се спра на тях и ги разгледам по-детайлно.
Задължителни въпроси при формулиране на изискванията към един софтуерен продукт
Един от ключовите проблеми при разработването на един софтуерен продукт са непълните или неясни изисквания, зададени от клиента. Софтуерните разработчици са хора с много силно развито аналитично и детайлно мислене и имат нужда от точно и ясно обяснение какво трябва да се направи при всяка една възможна ситуация. Или, казано на програмистки език - какво трябва да се случи при всяко едно разклонение на if оператора.
Клиентите пък, са хора, които в общия случай не притежават това мислене и често пропускат да опишат ситуации и варианти, които за разработчиците са важни, а за тях са нещо тривиално и подразбиращо се. Добро решение в този случай е намесата на бизнес анализатора, който умее да говори и двата езика и знае как да зададе на клиента онези въпроси, които вълнуват програмистите, но на неговия език.
Така във функционалната спецификация влизат не само нещата, които клиентът изрично е поискал и обяснил, но и нещата, които са важни за разработчиците от техническа гледна точка, и без които продуктът не може да работи нормално.
