pagpapakilala
Ang mga kinakailangan sa pagsulat ay nagbigay ng malaking hamon sa loob ng maraming dekada ngayon, at isa sa mga pangunahing dahilan nito ay ang wikang ginamit upang ipahayag ang mga ito. Mahalagang magsulat ng mga kinakailangan sa paraang parehong komprehensibo at madaling maunawaan, lalo na kapag ang mga mambabasa ay mga may-ari ng negosyo, end-user, o stakeholder. Nangangahulugan ito ng paggamit ng isang "natural" na wika na walang teknikal na jargon at kumplikadong terminolohiya. Gayunpaman, ang natural na wika ay likas na hindi tumpak at madaling ma-misinterpret o hindi maintindihan, na humahantong sa mga karagdagang komplikasyon.
Sa kasamaang-palad, maraming analyst ang lumalaban sa anumang uri ng istraktura sa kanilang pagsusulat ng mga kinakailangan, na mas pinipili sa halip na umasa sa mga mapaglarawang talata at pangungusap na maaaring magpahiwatig ng mga karagdagang kinakailangan. Bagama't ang diskarteng ito ay maaaring mas nakakaakit sa kanilang mga mambabasa, madalas itong humahantong sa pagkalito at hindi pagkakaunawaan kapag ang mga kinakailangan ay ipinasa sa mga developer o system analyst. Ito naman, ay maaaring magresulta sa mahabang talakayan at pagkaantala habang sinusubukang linawin kung ano talaga ang ibig sabihin ng mga kinakailangan.
Sa panayam sa Visure Solutions, Jordan Kyriakidis, ang iginagalang na Co-Founder at CEO ng QRA Corp, ay nagbahagi ng kanyang mga insight sa iba't ibang aspeto ng requirements engineering. Sa panayam na ito, tinalakay namin ang ilang medyo kawili-wiling paksa kabilang ang
- Mahahalagang Elemento ng Mahusay na Kinakailangan
- Easy Approach para sa Rpagkakapantay-pantay Syntax Diskarte
- AI Gaining Traction sa Digitalization of Requirements Engineering
- Mga Tip at Trick para sa Pagsusulat ng Mga Mahusay na Kinakailangan
- At marami pang iba!
Sino si Jordan Kyriakidis?
Si Jordan Kyriakidis ay isang kilalang pinuno sa larangan ng disenyo at pag-verify ng mga kritikal na kaligtasan ng system. Siya ang Co-Founder at CEO ng QRA Corp, isang kumpanya na nagbibigay ng mga cutting-edge na solusyon para sa mga kumpanya at pamahalaan upang matukoy at mapagaan ang panganib sa mga kumplikadong proyekto na kinasasangkutan ng mga bagong teknolohiya sa mga regulated na industriya. Sa halos dalawang dekada ng karanasan sa pangunguna sa mga high-performance team, si Jordan ay isang magaling na siyentipiko na may maraming internasyonal na publikasyon sa kanyang kredito.
Si Jordan ay mayroong Ph.D. sa Quantum Theory mula sa Unibersidad ng Basel, Switzerland, at nanirahan at nagtrabaho sa iba't ibang bansa sa buong mundo, kabilang ang Europa, Estados Unidos, at Canada. Ang kanyang kadalubhasaan sa mga kinakailangan sa engineering, kasama ang kanyang hilig sa pagsulong sa larangan, ay ginawa siyang isang hinahangad na tagapagsalita at pinuno ng pag-iisip sa industriya. Kilala si Jordan sa kanyang visionary approach sa paggamit ng AI at pinakamahuhusay na kagawian para sa pagsusulat ng mga kinakailangan sa mga kritikal na industriya, at naging instrumento siya sa pag-digitalize ng mga kinakailangan sa engineering.
Ano ang Pagtukoy sa Mga Kinakailangan?
Ang pagtutukoy ng mga kinakailangan ay ang proseso ng malinaw na pagtukoy at pagdodokumento ng mga kinakailangan at hindi gumagana ng isang system, software application, o produkto. Ang layunin ng pagtutukoy ng mga kinakailangan ay makuha ang mga pangangailangan at inaasahan ng mga stakeholder, kabilang ang mga customer, end-user, at iba pang interesadong partido, sa isang malinaw at maigsi na paraan. Ang dokumentasyong ito ay ginagamit bilang isang blueprint para sa disenyo, pagbuo, pagsubok, at pagpapatupad ng system o produkto.
Karaniwang kasama sa detalye ng mga kinakailangan ang isang paglalarawan ng system o nilalayong functionality ng produkto, pagganap, kakayahang magamit, pagiging maaasahan, seguridad, at iba pang mahahalagang katangian. Maaari rin itong magsama ng anumang mga hadlang, pagpapalagay, o dependencies na maaaring makaapekto sa disenyo o pagpapatupad ng system o produkto. Ang detalye ng mga kinakailangan ay isang mahalagang bahagi ng ikot ng buhay ng pagbuo ng software at nagsisilbing pundasyon para sa epektibong komunikasyon at pakikipagtulungan sa mga stakeholder ng proyekto.
Kahalagahan ng Pagsusulat ng Mga Mahusay na Kinakailangan
Ang pagsulat ng mahusay na mga kinakailangan ay mahalaga para sa tagumpay ng anumang proyekto sa pagbuo ng software. Narito ang ilang dahilan kung bakit:
- Malinaw na Komunikasyon: Nakakatulong ang mahusay na pagkakasulat ng mga kinakailangan upang matiyak na ang lahat ng mga stakeholder ng proyekto ay may malinaw at nakabahaging pag-unawa sa kung ano ang inaasahan mula sa sistema o produkto na binuo. Tinitiyak ng kalinawan na ito na ang lahat ay nasa parehong pahina, na binabawasan ang panganib ng hindi pagkakaunawaan at maling komunikasyon na maaaring humantong sa mga pagkakamali, muling paggawa, at pagkaantala ng proyekto.
- Tumutok sa Mga Pangangailangan ng Gumagamit: Ang mahusay na mga kinakailangan ay nakatuon sa mga pangangailangan ng mga end-user at customer, na tinitiyak na ang system o produkto na binuo ay nakakatugon sa kanilang mga inaasahan at kinakailangan. Pinapataas ng diskarteng ito ang kasiyahan ng customer at binabawasan ang panganib ng pagkabigo ng proyekto dahil sa hindi pagkakatugma sa pagitan ng produkto at mga pangangailangan ng user.
- Pamamahala sa Panganib: Maaaring matukoy ng mga kinakailangan ang mga potensyal na panganib at isyu nang maaga sa proseso ng pag-unlad, na nagbibigay-daan para sa mga proactive na diskarte sa pagpapagaan na mailagay sa lugar. Sa pamamagitan ng maagang pagtukoy ng mga potensyal na problema, maiiwasan ng mga team ang magastos na muling paggawa, pagkaantala, at pagkabigo sa linya.
- Kahusayan: Nakakatulong ang mga mahuhusay na kinakailangan para i-streamline ang proseso ng pag-develop sa pamamagitan ng pagbibigay ng malinaw na roadmap para sundin ng mga developer. Tinitiyak ng roadmap na ito na ginagawa ng mga developer ang pinakamahalagang feature at kinakailangan, na iniiwasan ang nasayang na pagsisikap sa hindi gaanong mahahalagang gawain.
- Quality Assurance: Sa pagkakaroon ng mahusay na tinukoy na mga kinakailangan, mas madaling matiyak na ang sistema o produkto na binuo ay nakakatugon sa mga kinakailangang pamantayan ng kalidad. Ang mga mahuhusay na kinakailangan ay nagpapadali sa pagsubok, pagpapatunay, at pag-verify ng system o produkto na binuo, na tinitiyak na maihahatid ito sa oras, sa badyet, at sa inaasahang antas ng kalidad.
Mga Katangian ng Mahusay na Kinakailangan
Ang mga mahuhusay na kinakailangan ay mahalaga para sa paghahatid ng matagumpay na mga proyekto sa pagbuo ng software na nakakatugon sa mga inaasahan ng customer, naihatid sa oras, at nasa loob ng badyet. Narito ang ilang mga katangian ng mahusay na mga kinakailangan:
- Malinaw at Maigsi: Madaling maunawaan ang mga mahuhusay na kinakailangan, na may malinaw at maigsi na wika na umiiwas sa kalabuan o kalituhan.
- Kumpletuhin: Dapat makuha ng mahusay na mga kinakailangan ang lahat ng kinakailangang functional at non-functional na aspeto ng system o produkto na binuo, na hindi nag-iiwan ng puwang para sa interpretasyon o hindi pagkakaunawaan.
- Tumpak: Dapat na tumpak at mabe-verify ang mga mahuhusay na kinakailangan, nang walang mga pagkakaiba sa pagitan ng kung ano ang nakasulat at kung ano ang inaasahang gawin ng system o produkto.
- Masusubok: Ang mga mahuhusay na kinakailangan ay dapat na masusubok, ibig sabihin ay posible na gumawa ng mga pagsubok na maaaring mag-verify na ang system o produkto ay nakakatugon sa mga kinakailangan.
- Priyoridad: Dapat bigyang-priyoridad ang mga mahuhusay na kinakailangan para matiyak na ang pinakamahalagang feature at functionality ay unang binuo.
- Magagawa: Ang mga malalaking kinakailangan ay dapat na magagawa, ibig sabihin, ang mga ito ay teknikal at praktikal na makakamit sa loob ng ibinigay na oras at mga limitasyon sa badyet.
- Nasusubaybayan: Dapat na masubaybayan ang mga mahuhusay na kinakailangan, ibig sabihin, mayroong malinaw na ugnayan sa pagitan ng bawat kinakailangan at pinagmulan nito, kasama ang stakeholder na humiling nito.
- Pare-pareho: Ang mahusay na mga kinakailangan ay dapat na pare-pareho sa iba pang dokumentasyon ng proyekto, kabilang ang plano ng proyekto, pahayag ng saklaw, at iba pang nauugnay na dokumentasyon.
- Hindi malabo: Ang mahusay na mga kinakailangan ay dapat na libre mula sa kalabuan o pagkalito, na tinitiyak na mayroong isang malinaw na pag-unawa sa kung ano ang inaasahan mula sa sistema o produkto na binuo.
Mga Hamon sa Pagsusulat ng Mga Kinakailangan
Mayroong iba't ibang mga hamon na kinakaharap ng mga tao kapag nagsusulat ng mga kinakailangan.
Hindi magandang papeles - Sa ilang mga organisasyon, ang dokumentasyon ng mga proseso ay alinman sa wala o hindi hanggang sa par. Sa kasong ito, ang pagkolekta ng mga kinakailangan ay nagiging isang dalawang-hakbang na proseso: unang i-reverse engineering ang kasalukuyang proseso at pagkatapos ay tukuyin ang mga lugar na nangangailangan ng pagpapabuti at pag-optimize. Upang kumpirmahin na ang mga kinakailangan ay fleshed out at tumpak, ito ay susi upang matukoy ang mga pangunahing stakeholder at mga eksperto sa paksa, direktang nakikipag-ugnayan sa kanila. Ang pagguhit ng mga mapa ng proseso ng negosyo at pagpapakita ng mga daloy ng trabaho ay dalawang mahusay na paraan upang gawin ito. Nakakatulong ito sa pag-aalis ng mga maling pagpapalagay habang nagbibigay din ng kumpletong larawan. Ang pagguhit ng mga mapa ng proseso at pagpapakita ng mga proseso ay dalawang kapaki-pakinabang na diskarte para sa layuning ito.
Mga Salungat na Kinakailangan – Kapag ang mga stakeholder ay may iba't ibang priyoridad para sa kanilang mga layunin sa negosyo, humahantong ito sa mga kinakailangan na sumasalungat sa isa't isa. Sa mga ganitong kaso, ang responsibilidad ng isang business analyst ay idokumento ang lahat ng mga kinakailangan nang detalyado, tukuyin kung aling mga kahilingan ang sumasalungat sa isa't isa, at payagan ang mga stakeholder ng pagkakataon na magpasya kung ano ang uunahin.
Hindi ka makakagawa ng mga desisyon nang hindi naririnig ang input ng mga stakeholder, at bilang isang business analyst, maaari kang magkaroon ng ilang ideya tungkol sa kung ano ang dapat unahin. Mahalaga pa rin na marinig ang pananaw ng mga stakeholder. Ang pagse-set up ng poll ay maaaring isa sa mga paraan upang makakuha ng kalinawan sa kung ano ang pinakamahalaga sa karamihan ng mga stakeholder.
Unavailability ng User Input – Ang ilang mga dahilan ay maaaring mag-ambag sa hindi pagiging available ng mga end user, at bawat isa ay nangangailangan ng sarili nitong resolusyon. Halimbawa, kung minsan ang mga end user ay sobrang abala sa kanilang pang-araw-araw na gawain na hindi nila gustong makibahagi sa mga aktibidad sa pangangalap ng mga kinakailangan.
Sa ganitong mga kaso, ang pinakamahusay na magagawa ng isang business analyst ay limitahan ang bilang at haba ng mga pakikipag-ugnayan. Bago ang pulong, ang paggawa ng maraming pananaliksik hangga't maaari ay makakatulong upang gawing mas organisado at nagbibigay-kaalaman ang talakayan. Ito ay halos tulad ng paggawa ng pangangalap ng mga kinakailangan sa mga sesyon ng pagpapatunay ng mga kinakailangan. pagtukoy sa mga focus group at pagtukoy sa mga pinakaangkop na end-user para sa bawat grupo
Pagtuon sa Interface Sa halip na Karanasan - Maraming stakeholder at end-user ang may malinaw na pananaw kung paano dapat lumitaw ang bagong solusyon, ngunit hindi nila alam kung ano ang dapat nitong gawin. Ang user interface ng anumang system ay mahalaga, ngunit hindi ito dapat tukuyin o makagambala sa functionality.
Dapat laging tandaan ng mga business analyst na panatilihing hiwalay ang disenyo at functional na mga kinakailangan sa kanilang dokumentasyon. Sa pamamagitan ng paggamit ng mas pangkalahatang mga tool gaya ng mga diagram, kwento ng user, o low-fi na prototype sa halip na mga draft ng disenyo, maaari nilang mapanatili ang pagtuon sa mga functional na aspeto ng pangangalap ng kinakailangan.
Mga Input ng Stakeholder – Kapag sinubukan ng mga stakeholder o end-user na sabihin sa mga designer kung paano dapat gumana ang system sa halip na kung ano ang dapat gawin ng system, maaari itong humantong sa mga suboptimal na disenyo. Upang maiwasan ito, patunayan ang bawat potensyal na 'maling kinakailangan' sa pamamagitan ng pagtatanong ng 'bakit?' hanggang sa makarating ka sa tunay na problema na kailangang lutasin.
Mga Isyu sa Komunikasyon – Kabilang sa mga isyu na maaaring humantong sa miscommunication sa pagitan ng isang business analyst at iba pang partido ay ang mga hadlang sa wika, mga maling pagpapalagay, hindi sapat na ipinaliwanag na bokabularyo at labis na paggamit ng mga teknikal na termino.
Ang perpektong diskarte upang maiwasan ang problemang ito ay ang madalas na pakikipag-ugnayan at bumuo ng dalawang-daan na pag-uusap. Idokumento ang mga pangangailangan na iyong natuklasan at isumite ang mga ito para sa peer review at pagpuna sa iba't ibang mga espesyalista sa paksa, lumikha ng isang glossary ng jargon, at i-double-check ang mga lugar.
Mga Karaniwang Pagkakamali Sa Pagsusulat ng Mga Kinakailangan
Ang mga kinakailangan sa pagsulat ay maaaring maging isang mapaghamong gawain, at may mga karaniwang pagkakamali na maaaring gawin na maaaring makaapekto sa tagumpay ng proyekto sa pagbuo ng software. Narito ang ilang karaniwang pagkakamali kapag nagsusulat ng mga kinakailangan:
- Kalabuan: Ang isa sa mga pinakakaraniwang pagkakamali kapag nagsusulat ng mga kinakailangan ay ang paggamit ng hindi maliwanag na wika, na maaaring humantong sa mga hindi pagkakaunawaan at pagkakamali. Ito ay maiiwasan sa pamamagitan ng paggamit ng malinaw, maigsi, at hindi malabo na wika.
- Hindi kumpleto o hindi pare-pareho ang mga kinakailangan: Ang mga kinakailangan na hindi kumpleto o hindi pare-pareho ay maaaring humantong sa pagkalito at mga error sa proseso ng pagbuo ng software. Maiiwasan ito sa pamamagitan ng pagrepaso at pagpapatunay ng mga kinakailangan upang matiyak na kumpleto ang mga ito at naaayon sa iba pang dokumentasyon ng proyekto.
- Kakulangan ng Priyoridad: Kung walang wastong pag-prioritize, ang mga kinakailangan ay maaaring mabuo sa payak na paraan, na humahantong sa mga pagkaantala at isang produkto na hindi nakakatugon sa mga inaasahan ng customer. Maaaring matiyak ng pagbibigay-priyoridad sa mga kinakailangan na ang pinakamahalagang feature at functionality ay unang binuo.
- Mga Hindi Malinaw o Hindi Nabe-verify na Mga Kinakailangan: Ang hindi malinaw o hindi nabe-verify na mga kinakailangan ay maaaring humantong sa mga hindi pagkakaunawaan at kahirapan sa pagpapatunay na ang system o produkto ay nakakatugon sa mga kinakailangan. Maiiwasan ito sa pamamagitan ng pagtiyak na malinaw at mabe-verify ang mga kinakailangan.
- Gold-plating: Ang gold-plating ay nangyayari kapag ang mga karagdagang feature o functionality ay idinagdag sa system o produkto na hindi tinukoy sa mga kinakailangan. Maaari itong humantong sa mga pagkaantala, karagdagang gastos, at isang produkto na hindi nakakatugon sa mga pangangailangan ng customer.
- Kakulangan ng Paglahok ng Stakeholder: Ang kakulangan sa pakikilahok ng stakeholder ay maaaring humantong sa mga kinakailangan na hindi nakakatugon sa mga pangangailangan ng mga customer at iba pang stakeholder. Ang pakikipag-ugnayan sa mga stakeholder sa buong proseso ng pagbuo ng software ay maaaring matiyak na ang mga kinakailangan ay naaayon sa kanilang mga pangangailangan at inaasahan.
- Sobrang pag-asa sa Teknolohiya: Ang sobrang pag-asa sa teknolohiya ay maaaring humantong sa mga kinakailangan na hindi umaayon sa mga kakayahan ng system o produkto na binuo. Maiiwasan ito sa pamamagitan ng pagtiyak na ang mga kinakailangan ay magagawa at naaayon sa teknolohiyang ginagamit.
- Kakulangan ng Mga Pagsasaalang-alang sa Pagsubok: Ang pagsubok ay isang mahalagang aspeto ng pagbuo ng software, at ang kawalan ng pagsasaalang-alang para sa pagsubok sa mga kinakailangan ay maaaring humantong sa isang produkto na mahirap subukan o hindi nakakatugon sa mga pamantayan ng kalidad.
Mga Kinakailangan sa Pagsulat Gamit ang Natural na Paraan ng Wika
Ang mga kinakailangan sa pagsulat gamit ang mga natural na pamamaraan ng wika ay nagsasangkot ng paggamit ng pang-araw-araw na wika upang maiparating ang mga kinakailangan sa paraang malinaw, maigsi, at madaling maunawaan. Ang diskarte na ito ay madalas na ginagamit sa pagbuo ng software at iba pang mga industriya kung saan may pangangailangan na makuha at idokumento ang mga kinakailangan na madaling maunawaan ng lahat ng mga stakeholder, anuman ang kanilang teknikal na kadalubhasaan.
Ang natural na wika ay ang wikang ginagamit natin sa ating pang-araw-araw na komunikasyon, tulad ng Ingles, Pranses, Espanyol, at iba pa. Ang mga kinakailangan sa pagsulat gamit ang natural na wika ay kinabibilangan ng paggamit ng parehong wika na ginagamit ng mga stakeholder sa kanilang pang-araw-araw na komunikasyon, sa halip na gumamit ng teknikal na jargon o espesyal na wika na maaaring hindi pamilyar sa mga non-technical na stakeholder.
Kung ihahambing sa iba pang mga wika para sa mga kinakailangan sa pagsulat, ang natural na wika ay may bentahe ng pagiging mas madaling maunawaan para sa mga non-technical na stakeholder. Ang paggamit ng natural na wika ay maaaring makatulong upang matiyak na ang mga kinakailangan ay epektibong ipinapaalam sa lahat ng stakeholder, na humahantong sa isang mas matagumpay na resulta ng proyekto. Sa kabaligtaran, ang iba pang mga wika para sa pagsusulat ng mga kinakailangan, tulad ng mga pormal na wika ng detalye, marahil ay mas tumpak at hindi malabo, ngunit maaari silang maging mas mahirap para sa mga hindi teknikal na stakeholder na maunawaan.
Upang magsulat ng mga kinakailangan gamit ang mga natural na pamamaraan ng wika, mahalagang gumamit ng simple, pang-araw-araw na wika na madaling maunawaan. Ang mga kinakailangan ay dapat na tiyak, masusukat, at mabe-verify, at dapat na iwasan ang paggamit ng mga hindi malinaw na termino o teknikal na jargon. Ang paggamit ng mga template, halimbawa, at visual ay maaari ding makatulong upang gawing mas malinaw at mas maigsi ang mga kinakailangan.
Template ng EARS
Ang template ng EARS (Easy Approach to Requirements Syntax) ay isang template ng pangangalap ng mga kinakailangan at dokumentasyon na nagbibigay ng structured na paraan upang makuha at idokumento ang mga kinakailangan. Ito ay karaniwang ginagamit sa mga industriya tulad ng aerospace, pagtatanggol, at pag-unlad ng software, kung saan may pangangailangan na makunan at idokumento ang kumplikado at kadalasang teknikal na mga kinakailangan. Ang EARS template ay maaaring gamitin para sa parehong functional at non-functional na mga kinakailangan.
Ang template ng EARS ay binubuo ng apat na pangunahing seksyon:
- kapaligiran: Inilalarawan ng seksyong ito ang konteksto kung saan gagana ang system, kabilang ang anumang mga hadlang o dependency na dapat isaalang-alang.
- Aktor: Inilalarawan ng seksyong ito ang iba't ibang uri ng mga user o system na makikipag-ugnayan sa system, kasama ang kanilang mga tungkulin at responsibilidad.
- Pangangailangan: Inilalarawan ng seksyong ito ang mga partikular na kinakailangan para sa system, kabilang ang parehong mga kinakailangan sa pagganap at hindi gumagana. Ang bawat pangangailangan ay tinukoy sa isang malinaw at maigsi na paraan gamit ang isang standardized syntax.
- Stimulus: Inilalarawan ng seksyong ito ang mga input na magti-trigger sa system na magsagawa ng ilang partikular na aksyon o tugon, at ang inaasahang mga output o tugon.
Upang magamit ang template ng EARS, dapat munang tukuyin ng analyst ng mga kinakailangan o koponan ang kapaligiran kung saan gagana ang system, kabilang ang anumang mga hadlang o dependency. Susunod, dapat nilang tukuyin ang iba't ibang aktor o user na makikipag-ugnayan sa system at ang kanilang mga tungkulin at responsibilidad. Pagkatapos, dapat nilang tukuyin ang mga partikular na kinakailangan para sa system, gamit ang standardized syntax na tinukoy sa template. Panghuli, dapat nilang tukuyin ang stimuli na magti-trigger sa system na magsagawa ng ilang partikular na aksyon o tugon, at ang inaasahang mga output o tugon.
Ang template ng EARS ay idinisenyo upang magbigay ng isang malinaw at maigsi na paraan upang idokumento ang mga kinakailangan, na ginagawang mas madaling maunawaan at ma-verify ang mga kinakailangan. Madalas itong ginagamit sa mga industriya kung saan nangangailangan ng tumpak at tumpak na mga kinakailangan, tulad ng aerospace, depensa, at pagbuo ng software. Sa pamamagitan ng paggamit sa template ng EARS, matitiyak ng mga analyst ng mga kinakailangan na ang lahat ng nauugnay na kinakailangan ay nakukuha at naidokumento sa isang pare-pareho at structured na paraan.
Mga Alituntunin sa INCOSE – Template
Ang INCOSE, o ang International Council on Systems Engineering, ay isang international not-for-profit membership organization na nagbibigay ng mga pamantayan at alituntunin upang matulungan ang mga organisasyon na lumikha ng mas mahusay na mga proseso ng system engineering. Ang INCOSE System Requirements Standard (SRS) ay naglalaman ng isang hanay ng mga panuntunan at pamantayan na idinisenyo upang tulungan ang mga organisasyon na suriin ang mga pahayag ng mga kinakailangan bago ito ipatupad. Ang SRS ay pinagtibay ng ilang malalaking korporasyon gayundin ng mga ahensya ng gobyerno sa buong mundo at maaaring magamit sa maraming iba't ibang industriya para sa iba't ibang aplikasyon. Mahalaga para sa mga stakeholder gaya ng mga software developer, business analyst, project manager, tester, IT department personnel, at iba pang miyembro ng team na magkaroon ng matibay na pag-unawa sa mga kinakailangang ito bago magsimulang magtrabaho sa anumang statement o proyekto ng kinakailangan ng system.
Sa huli, ang pagsulat ng magagandang kinakailangan ay nagsasangkot ng maingat na balanse sa pagitan ng pagiging detalyado at maigsi, pati na rin ang pagtiyak na ang kinakailangan ay masusubok at magagawa. Ang INCOSE SRS ay nag-aalok ng mga prinsipyo at mga alituntunin upang ang mga koponan ay makapagsulat ng magandang kalidad na mga kinakailangan at makatulong na matiyak na ang kanilang mga proyekto ay matagumpay. Makakatulong ito upang maiwasan ang mga magastos na error sa panahon ng pag-develop o pagkatapos ng pag-deploy, sa gayon ay tinutulungan ang mga organisasyon na lumikha ng mas mahusay na mga system sa mas maikling panahon.
Ano ang INCOSE Rules?
Ang mga Pahayag ng Kinakailangan ay sinusuri sa pamamagitan ng mga tuntunin ng INCOSE. Ang mga pamantayang ito ay tumutulong sa mga organisasyon na masuri ang pagiging posible at kalidad ng mga kinakailangan bago sila ipatupad. Kasama sa proseso ng pagsusuri ang apat na pangunahing pamantayan:
- Malinaw - Ang nakasulat na mga kinakailangan ay dapat na malinaw, madaling basahin, at naiintindihan. Malinaw na tukuyin ang impormasyon gamit ang mga apirmatibong pangungusap na ipapalit sa pagitan ng mga aktor. Ang bawat pangangailangan ay dapat maglarawan ng malinaw na pamantayan sa tagumpay. Subukang gumamit ng simpleng bokabularyo at iwasan ang mga pagdadaglat. Halimbawa, "Makikita ng user ang Audit Log Report."
- Atomic – Ang bawat kinakailangan ay dapat ituring bilang isang discrete test case. Ang mga pang-ugnay tulad ng at, o, at iba pa ay hindi dapat gamitin dahil maaari silang humantong sa pagkawala ng mga kinakailangan. Ito ay partikular na mahalaga dahil ang mga tuntuning tulad nito ay maaaring maging sanhi ng mga developer ng software at mga tagasubok na makaligtaan ang mga kinakailangan. Ang paghahati sa mga kumplikadong pangangailangan sa mas maliliit na bahagi hanggang sa masuri ang bawat isa nang hiwalay ay isang paraan upang maiwasang mangyari ito.
- Hindi malabo - Ang hindi malinaw, hindi kumpleto, o magkasalungat na mga kinakailangan ay maaaring humantong sa mga pagkakamali at muling paggawa. Upang maiwasang mangyari ito, dapat na suriin ng bawat stakeholder ang mga kinakailangan bago ito ma-finalize. Makakatulong ito na matukoy ang anumang mga puwang nang maaga na maaaring matugunan.
- Mapapatunayan - Ang bawat isa sa pangkat ng pagbuo ay dapat magkaroon ng access sa dokumento upang maisangguni nila ito nang madalas hangga't kinakailangan. Dahil ang mga kinakailangan ay dapat na malinaw, ang mga miyembro ng koponan ay hindi nais ng karagdagang impormasyon. Dapat silang lahat ay naa-access sa dokumento ng SRS.
- Kailangan – Ang bawat kinakailangan ay dapat magdokumento ng isang bagay na talagang kailangan ng mga gumagamit o isang bagay na kinakailangan upang matupad ang isang pamantayan o pangangailangan sa pagsasama dahil sa pagkakaroon ng panlabas na interface. Gayundin, mahalaga para sa bawat pangangailangan na magkaroon ng awtorisadong pinagmulan.
- Independiyenteng Disenyo - Ang bawat kinakailangan ay dapat tukuyin kung ano ang kinakailangan, hindi kung paano ito ipapatupad. Dapat tukuyin ng mga kinakailangan ang mga katangian ng system na oobserbahan sa labas, hindi ang mga panloob na detalye.
- Magagawa - Ang bawat kinakailangan ay dapat technically executable at dapat na ipatupad na isinasaalang-alang ang badyet, deadline, at iba pang mga paghihigpit na nakakaapekto sa proyekto. Dapat ipakita ng mga kinakailangan ang aktwal na kalagayan, kabilang ang gastos, timeline, at teknolohiya. Hindi sila dapat nakadepende sa mga pagsulong ng teknolohiya sa hinaharap.
- Kumpleto - Ang dokumento ng mga kinakailangan ay dapat magsama ng sapat na impormasyon para sa iyong development team at mga tester upang makumpleto ang produkto at matiyak na natutugunan nito ang mga kinakailangan ng user nang walang mga bug.
- Tama - Ang mga kinakailangan na tinukoy sa mga dokumento ay dapat na napaka-tumpak upang maiwasan ang anumang uri ng pagkalito. Hindi sila dapat magkaroon ng anumang mga butas, kalabuan, subjectivity, superlatibo, o paghahambing. Samakatuwid, Upang makapagsulat ng tamang mga kinakailangan, dapat tayong kumuha ng tamang impormasyon at wastong idokumento ang impormasyong nakalap.
Mga Trend sa Hinaharap: Mga Kinakailangan sa Pagsusulat gamit ang AI
Ang teknolohiya ng Artificial Intelligence (AI) ay may potensyal na baguhin ang paraan kung paano isinusulat at pinamamahalaan ang mga kinakailangan sa pagbuo ng produkto. Sa nakalipas na mga taon, nagkaroon ng makabuluhang pag-unlad sa natural language processing (NLP) at machine learning (ML) na naging posible na i-automate ang ilang aspeto ng mga kinakailangan sa engineering.
Ang isang potensyal na trend sa hinaharap ay ang paggamit ng AI-powered chatbots, gaya ng ChatGPT at Jasper, upang tumulong sa pagsusulat ng mga kinakailangan. Gumagamit ang mga chatbot na ito ng mga NLP algorithm upang suriin ang input mula sa mga stakeholder at bumuo ng mataas na kalidad na mga kinakailangan batay sa input na iyon. Sa pamamagitan ng paggamit ng mga tool na ito, maaaring i-streamline ng mga organisasyon ang mga kinakailangan sa proseso ng engineering, na binabawasan ang oras at pagsisikap na kinakailangan upang bumuo ng mga kinakailangan, na humahantong sa mas mabilis na mga siklo ng pagbuo ng produkto at mas mahusay na paggamit ng mga mapagkukunan.
Ang isa pang potensyal na trend ay ang paggamit ng AI upang awtomatikong tukuyin at kunin ang mga kinakailangan mula sa iba't ibang mapagkukunan ng hindi nakaayos na data, tulad ng feedback ng customer, mga post sa social media, at mga review ng produkto. Sa pamamagitan ng paggamit ng mga NLP algorithm upang awtomatikong tukuyin at kunin ang mga nauugnay na kinakailangan mula sa mga mapagkukunang ito, ang mga organisasyon ay makakakuha ng mas malalim na pag-unawa sa mga pangangailangan at kagustuhan ng customer, na humahantong sa mas matagumpay na mga resulta ng pagbuo ng produkto.
Ang teknolohiya ng AI ay maaari ding makatulong upang mapabuti ang kalidad at pagkakapare-pareho ng mga kinakailangan sa pamamagitan ng pagtukoy ng mga potensyal na salungatan, kalabuan, o mga kalabisan sa mga kinakailangan. Makakatulong ito upang mabawasan ang panganib ng mga pagkakamali at hindi pagkakaunawaan, na humahantong sa mas mahusay na kalidad ng produkto at mas kaunting mga ikot ng muling paggawa.
Mahahalagang Tip Para sa Mga Kinakailangan sa Pagsulat
- Sumulat sa Mga Layer - Ang pagsusulat ng mga kinakailangan sa mga layer ay nangangahulugan ng paghahati-hati ng mga kumplikadong kinakailangan sa mas maliit, mas mapapamahalaan na mga piraso. Nakakatulong ito na gawing mas naiintindihan, komprehensibo, at mas madaling ipatupad ang mga kinakailangan.
- Paisa-isa - Ang bawat kinakailangan ay dapat ituring bilang isang discrete test case. Ang mga pang-ugnay tulad ng at, o, at iba pa ay hindi dapat gamitin dahil maaari silang humantong sa pagkawala ng mga kinakailangan. Ito ay partikular na mahalaga dahil ang mga tuntuning tulad nito ay maaaring maging sanhi ng mga developer ng software at mga tagasubok na makaligtaan ang mga kinakailangan. Ang paghahati sa mga kumplikadong pangangailangan sa mas maliliit na bahagi hanggang sa masuri ang bawat isa nang hiwalay ay isang paraan upang maiwasang mangyari ito.
- Pag-usapan ang "Ano" Hindi "Paano" - Ang focus ay dapat sa kung ano ang gagawin ng system, hindi kung paano ito ginagawa. Bukod pa rito, iwasang masyadong malalim ang pagsasaliksik sa mga paksa ng disenyo gaya ng mga pangalan ng field, programming language object, at software object. Kung nakita mo ang iyong sarili na tinatalakay ang mga paksang ito sa Dokumento ng Pagtutukoy ng Mga Kinakailangan, bumalik sa isang hakbang – malamang na nangangahulugan ito na nagiging masyadong partikular ka.
- Mapapatunayan - Ang isa pang bagay na dapat tandaan kapag nag-aayos ng mga kinakailangan ay dapat silang palaging masusubok. Nangangahulugan ito na kailangang posible na i-verify na natutugunan ng system ang kinakailangan na pinag-uusapan. Ito rin ay nagli-link sa aming susunod na punto - ang kakayahang masubaybayan. Kung ang isang kinakailangan ay puno ng hindi malinaw na mga termino, magiging mas mahirap na pag-aralan at i-verify kung talagang natutugunan ng system ang mga pamantayang ito sa Performance-wise. Samakatuwid, hangga't maaari, maghangad ng kalinawan at katumpakan sa iyong wika upang ang pagtitipon ng Mga Kinakailangan ay hindi isang hindi malinaw na proseso.
- Traceability - Ang traceability sa pamamahala ng proyekto ay tumutukoy sa pagtiyak na ang mga kinakailangan ay naka-link sa iba pang mga bahagi sa proyekto. Nagbibigay-daan ito sa mga project manager, developer, at stakeholder na subaybayan ang buong lifecycle ng isang kinakailangan mula simula hanggang katapusan sa lahat ng direksyon pati na rin sa iba pang bahagi ng system. Kung maayos mong pinamamahalaan ang traceability, maiiwasan mo ang code na hindi tumutugma sa anumang kinakailangan ('stray' code), at matiyak na ang bawat test case ay sumasaklaw ng kahit isang kinakailangan. Magagawa mong masubaybayan ang mga kinakailangan sa pamamagitan ng pag-label sa kanila ng isang natatanging identifier at pagbibigay ng impormasyon tungkol sa kanilang pinagmulan sa isang sentral na repository na maa-access ng lahat ng miyembro ng team.
- Ang 3 Ws - Ang mga kinakailangan ay dapat tumuon sa pagtugon sa mga pangangailangan ng user at hindi sa solusyon. Samakatuwid, mahalagang maunawaan ang mga kinakailangan ng gumagamit at mga punto ng sakit bago bumuo ng mga kinakailangan.
- Ano? - Anong gagawin natin?
- WHO? – Sino ang makikinabang?
- Bakit? – Bakit natin ito ginagawa?
- 1 Kinakailangan Para sa 1 Gawain – Ang bawat pangangailangan ay dapat magsaad ng iisang aksyon at layunin. Mag-ingat sa labis na paggamit ng "at" at "o". Halimbawa, "Kung ang huling Biyernes ng buwan at ang pagbabayad ay dapat bayaran sa ika-31, at kung ang ika-31 ay ang huling Biyernes ng buwan, kung gayon ang pagsusumite ng bayad sa araw na iyon pagkatapos ng 6 pm Eastern time ay magreresulta sa isang late na pagbabayad. ”. Hinahamon kita na unawain ang isang iyon!
- Unahin ang Mga Kinakailangan - Unahin ang mga kinakailangan batay sa kanilang kahalagahan at epekto sa tagumpay ng proyekto. Nakakatulong ito upang matiyak na ang pinakamahalagang mga kinakailangan ay naihatid muna at ang mga pangangailangan ng mga stakeholder ay natutugunan.
- Walang Escape Clause - Halimbawa, "Dapat matukoy ng system ang bilang ng mga pagtatangka sa pag-log in, maliban kung malinaw na naipasok ng user ang isang maling username".
Ayon sa Jordan, Ano ang Naghihiwalay sa Mga Matagumpay na Proyekto sa Mga Hindi Matagumpay?
Ayon kay Jordan Kyriakidis, ang naghihiwalay sa mga matagumpay na proyekto mula sa mga hindi matagumpay ay ang kakayahang mabisang pamahalaan ang mga kinakailangan. Ang mga matagumpay na proyekto ay may malinaw na pag-unawa sa mga kinakailangan at nagagawa nilang pamahalaan ang mga ito sa buong proseso ng pag-unlad, mula sa paunang pagpaplano hanggang sa huling paghahatid. Sa kabilang banda, ang mga hindi matagumpay na proyekto ay kadalasang dumaranas ng mahihirap na pangangasiwa ng mga kinakailangan, na maaaring humantong sa miscommunication, pagkaantala, at sa huli ay pagkabigo na matugunan ang mga layunin ng proyekto. Samakatuwid, napakahalaga para sa mga kumpanya na mamuhunan sa matatag na mga kinakailangan sa mga kasanayan sa engineering at mga tool upang matiyak ang tagumpay ng kanilang mga proyekto.
Saan Makakahanap ng Higit Pa Tungkol kay Jordan Kyriakidis?
Upang matuto nang higit pa tungkol sa Jordan Kyriakidis at QRA Corp, tingnan mo ang kanilang pahina sa LinkedIn sa https://www.linkedin.com/company/qra-corp/. Bukod pa rito, mahahanap mo si Jordan Kyriakidis sa LinkedIn sa https://www.linkedin.com/in/jordankyriakidis/. Ang QRA Corp ay mayroon ding ilang mga whitepaper at case study na magagamit sa kanilang website na nagbibigay ng mga insight sa teknolohiya nito at sa aplikasyon nito sa iba't ibang industriya.
Final saloobin
Bilang konklusyon, nagbahagi sina Jordan Kyriakidis at Visure Solutions ng isang insightful na pag-uusap sa Writing Requirements. Ginalugad namin ang kahalagahan ng pagsusulat ng mga mahuhusay na kinakailangan at hinawakan ang mga hamon kapag nagsusulat ng mga kinakailangan kasama ng mga karaniwang pagkakamali. Tiningnan namin ang iba't ibang pamamaraan tulad ng mga natural na pamamaraan ng wika, ang template ng EARS, at mga alituntunin ng INCOSE. Ang teknolohiya ng AI ay nagbukas din ng maraming posibilidad para sa mga kinakailangan sa pagsusulat na ginagawang mas madali para sa mga taong nagsisimulang matuto kung paano isulat ang mga ito nang mas mahusay. Panghuli, nagsama rin kami ng mga pangunahing tip upang matulungan ka sa iyong paglalakbay habang sinisimulan mo ang paglalakbay na ito. Mula sa pag-aaral tungkol sa INCOSE Rules hanggang sa Future Trends sa Writing Requirements – mayroong isang bagay dito para sa lahat! Alisin ang mahahalagang tip na ito at isabuhay ang mga ito ngayon! Tingnan ang kumpletong panayam ngayon!