Architecture Decision Record

Active theme: Light

← Violezo vya rekodi za maamuzi

Kiolezo cha rekodi ya uamuzi cha Jeff Tyree na Art Akerman

Hiki ni kiolezo cha maelezo ya uamuzi wa usanifu kilichochapishwa katika "Architecture Decisions: Demystifying Architecture" na Jeff Tyree na Art Akerman, Capital One Financial.

  • Suala (Issue): Eleza suala la muundo wa usanifu unaloshughulikia, bila kuacha maswali kuhusu kwa nini unashughulikia suala hili sasa. Kwa kufuata mbinu ya ufinyu, shughulikia na uandike masuala yanayohitaji kushughulikiwa tu katika nyakati mbalimbali za mzunguko wa maisha.

  • Uamuzi (Decision): Eleza wazi mwelekeo wa usanifu—yaani, msimamo uliouchagua.

  • Hali (Status): Hali ya uamuzi, kama inasubiri, imeamuliwa, au imeidhinishwa.

  • Kundi (Group): Unaweza kutumia ugawaji rahisi—kama ujumuishaji, uwasilishaji, data, na kadhalika—kusaidia kupanga seti ya maamuzi. Unaweza pia kutumia ontolojia ya hali ya juu zaidi ya usanifu, kama ya John Kyaruzi na Jan van Katwijk, inayojumuisha kategoria za kidhahania zaidi kama tukio, kalenda, na mahali. Kwa mfano, ukitumia ontolojia hii, ungeweka kwenye kundi maamuzi yanayoshughulikia matukio ambapo mfumo unahitaji taarifa chini ya tukio.

  • Dhana (Assumptions): Eleza wazi dhana za msingi katika mazingira ambamo unafanya uamuzi—gharama, ratiba, teknolojia, na kadhalika. Kumbuka kwamba vikwazo vya kimazingira (kama viwango vya teknolojia vinavyokubalika, usanifu wa biashara, mifumo inayotumika kwa kawaida, na kadhalika) vinaweza kupunguza njia mbadala unazozingatia.

  • Vikwazo (Constraints): Nasa vikwazo vyovyote vya ziada kwa mazingira ambavyo chaguo lililochaguliwa (uamuzi) linaweza kuweka.

  • Misimamo (Positions): Orodhesha misimamo (chaguo au njia mbadala zinazowezekana) uliyozingatia. Hizi mara nyingi zinahitaji maelezo marefu, wakati mwingine hata modeli na michoro. Hii si orodha kamili. Hata hivyo, hutaki kusikia swali "Je, ulifikiria...?" wakati wa mapitio ya mwisho; hii husababisha kupoteza uaminifu na kutilia shaka maamuzi mengine ya usanifu. Sehemu hii pia husaidia kuhakikisha ulisikia maoni ya wengine; kueleza wazi maoni mengine husaidia kuwashirikisha watetezi wao katika uamuzi wako.

  • Hoja (Argument): Eleza kwa nini ulichagua msimamo, ikiwa ni pamoja na vitu kama gharama ya utekelezaji, gharama ya jumla ya umiliki, wakati wa kuingia sokoni, na upatikanaji wa rasilimali za uundaji zinazohitajika. Hili labda ni muhimu kama uamuzi wenyewe.

  • Athari (Implications): Uamuzi huja na athari nyingi, kama modeli ya REMAP inavyoonyesha. Kwa mfano, uamuzi unaweza kuleta hitaji la kufanya maamuzi mengine, kuunda mahitaji mapya, au kurekebisha mahitaji yaliyopo; kuweka vikwazo vya ziada kwa mazingira; kuhitaji kujadili upya wigo au ratiba na wateja; au kuhitaji mafunzo ya ziada kwa wafanyakazi. Kuelewa na kueleza wazi athari za uamuzi wako kunaweza kuwa na ufanisi mkubwa katika kupata kukubaliwa na kuunda ramani ya njia ya utekelezaji wa usanifu.

  • Maamuzi yanayohusiana (Related decisions): Ni dhahiri kwamba maamuzi mengi yanahusiana; unaweza kuyaorodhesha hapa. Hata hivyo, tumegundua kwamba kwa vitendo, matriki ya ufuatiliaji, miti ya maamuzi, au metamodeli ni muhimu zaidi. Metamodeli ni muhimu kuonyesha mahusiano changamano kwa michoro (kama modeli za Rose).

  • Mahitaji yanayohusiana (Related requirements): Maamuzi yanapaswa kuendeshwa na biashara. Ili kuonyesha uwajibikaji, unganisha wazi maamuzi yako na malengo au mahitaji. Unaweza kuorodhesha mahitaji haya yanayohusiana hapa, lakini tumegundua ni rahisi zaidi kurejelea matriki ya ufuatiliaji. Unaweza kutathmini mchango wa kila uamuzi wa usanifu katika kutimiza kila hitaji, kisha kutathmini jinsi hitaji linavyotimizwa vizuri katika maamuzi yote. Ikiwa uamuzi haichangii katika kutimiza hitaji, usifanye uamuzi huo.

  • Vielelezo vinavyohusiana (Related artifacts): Orodhesha hati za usanifu, muundo, au wigo zinazohusiana ambazo uamuzi huu unaathiri.

  • Kanuni zinazohusiana (Related principles): Ikiwa biashara ina seti ya kanuni iliyokubaliwa, hakikisha uamuzi unaendana na moja au zaidi kati yake. Hii husaidia kuhakikisha mwafaka katika vikoa au mifumo.

  • Maelezo (Notes): Kwa kuwa mchakato wa kufanya uamuzi unaweza kuchukua wiki, tumegundua kuwa ni muhimu kunasa maelezo na masuala ambayo timu hujadili wakati wa mchakato wa kushirikisha.