MONOLITH LAW OFFICE+81-3-6262-3248Ажлын өдрүүд 10:00-18:00 JST [English Only]

MONOLITH LAW MAGAZINE

IT

Систем хөгжүүлэлтийн хөгжүүлэлтийн загвар бүр дэх хууль ёсны давуу ба сул талууд

IT

Систем хөгжүүлэлтийн хөгжүүлэлтийн загвар бүр дэх хууль ёсны давуу ба сул талууд

Систем хөгжүүлэх төслийг хэрэгжүүлэх арга зүйнд тодорхой зарчим байдаг. Ердийн нөхцөлд, систем хөгжүүлэхтэй холбоотой хууль эрх зүйн асуудлуудыг ном болон бусад эх сурвалжаар судалгаа хийх үед, хамгийн уламжлалт бөгөөд хамгийн эртний арга болох Уотерфолл (Waterfall) загварыг үндэслэн авч үздэг. Гэвч, систем хөгжүүлэх арга зүй, загвар гэдэг нь Уотерфолл загвараас өөр байж болно. Жишээ нь, сүүлийн үед Ажайл (Agile) хөгжүүлэлтийн загварыг сонгон ашиглах нь нэмэгдэж байна.

Энэхүү нийтлэлд бид Уотерфолл болон Ажайл хөгжүүлэлтийн загваруудыг хууль эрх зүйн эрсдэл, маргааны урьдчилан сэргийлэх зэрэг өнцгөөс харж, харьцуулан тайлбарлана.

Хөгжүүлэлтийн загвар гэж юу вэ

Усан цахилгаан загвар гэж юу вэ

Систем хөгжүүлэх явцад хэрэглэгдэх хөгжүүлэлтийн загвар гэж юу вэ?

Систем хөгжүүлэх явцад хамгийн ерөнхий бөгөөд уламжлалт арга барил нь дараах байдлаар явагддаг:

  • Шаардлага тодорхойлох: Хөгжүүлэх гэж буй систем нь агуулах ёстой функц, шаардлагатай үзүүлэлтүүдийг тодорхойлох
  • Үндсэн төлөвлөгөө: Дэлгэцийн дизайн, дэлгэц шилжих зам зэргийг төлөвлөх, үүнд системийг ашиглах хэрэглэгчдийн өнцгөөс харсан системийн ерөнхий зураглал
  • Дэлгэрэнгүй төлөвлөгөө: Програмын файлуудын хоорондын холбоос зэргийг төлөвлөх, үүнд системийг хөгжүүлэгч вендорын өнцгөөс харсан системийн ерөнхий зураглал
  • Програмчлалын хэрэгжүүлэлт: Төлөвлөгөөнд заасан дагуу програмын код бичих
  • Тест хийх: Шаардлага хангасан эсэхийг шалгах, хэрэглэгчдэд баталгаажуулах

Ийм байдлаар, голын усны урсгалын дээд урсгал → доод урсгал руу, боломжит хэмжээнд үйл ажиллагааны өмнөх ба дараах гарцуудыг багасгах замаар хөгжүүлэлтийг хийх аргачлалыг ‘Усан цахилгаан загвар’ гэж нэрлэдэг. Энэхүү урсгал нь системийг ажиллуулахад заавал шаардлагатай биш ч, олон хүний хүч, урт хугацааны турш хөгжүүлэх төслийн хувьд төлөвлөлт нь чухал болдог. Тиймээс, өөр өөр үе шатны хуваарилалт, үүрэг хариуцлагын тодорхойлолт, төслийн гишүүдийн хариуцлагын хүрээг тодорхой болгох зэрэг зүйлс чухалд тооцогддог.

Ажлын хөгжүүлэлтийн загвар гэж юу вэ

Түүнчлэн, хөгжүүлэлтийн ажлыг үргэлж ‘дээд урсгал → доод урсгал’ руу шууд урсгах арга барил нь хамгийн тохиромжтой гэж үздэггүй. Тиймээс, ажлын онцлог шинж чанараас хамаарч, төлөвлөлт ба урьдчилан таамаглах ур чадвар нь чухал байдаг ч, шинэ зүйлс бүтээх, бүтээл хийх ажилтай холбоотой болохоор, эхнээсээ төлөвлөлт хийх нь бүрэн боломжгүй байдаг тохиолдол олон байдаг. Эдгээр зүйлсийг чухалчилбал, төлөвлөгөөнд нийцүүлэн ажиллахаас гадна, дараа нь засварлах, шаардлагыг өөрчлөхөд зөөлөн байдалтай хандаж, туршилт ба алдааны давтамжийг нэмэгдүүлэх зэрэг зүйлсийг чухалчлах арга барил бас байж болно. Энэхүү бодлогыг тусгасан хөгжүүлэлтийн аргачлалыг ‘Ажлын хөгжүүлэлтийн загвар’ гэж нэрлэдэг. Ажлын хөгжүүлэлтийн загвар нь дэлгэрэнгүй төлөвлөгөө, төслийн зураглалыг бэлтгэхэд ихээхэн цаг зарцуулахгүй, жижиг програмуудыг хэрэгжүүлж, тест хийж, алхам алхмаар томоохон програм, систем бүтээхээр ажилладаг байдлаар явагддаг.

Хууль эрх зүйн асуудлыг судлахад хамгийн амархан нь Уотерфолл загвар

Хоёр хөгжүүлэлтийн загварыг харьцуулахаасаа өмнө, тэдгээрийн хууль эрх зүйн асуудлуудад холбоотой мэдээлэл цуглуулах, хууль судлахад хэрхэн хялбар байдгийг товчхон хүргэе.

Лавлах номнуудын ихэнх нь Уотерфолл загварыг үндэслэн бичигдсэн байдаг

Систем хөгжүүлэлттэй холбоотой хууль эрх зүйн асуудлуудыг судлах, мөн хууль зүйн мэдлэг олж авахад мэдээлэл цуглуулахад Уотерфолл загвар нь илүү давуу талтай байдаг. Систем хөгжүүлэлтийн талаар бичигдсэн хууль зүйн номнуудын олонх нь Уотерфолл загварыг үндэслэн бичигдсэн байдаг. Уламжлалт, ерөнхийдөө систем хөгжүүлэлт нь Уотерфолл загварыг дагаж хийгддэг учраас, энэ хүрээнд Ажайл загвар нь нэмэлт тайлбар хэлбэрээр танилцуулагддаг байдаг. Иймд, систем хөгжүүлэлттэй холбоотой хууль эрх зүйн асуудлуудыг номоос мэдээлэл авахад Уотерфолл загвар нь судалгааг хялбархан хийх боломжийг олгодог.

Шүүхийн шийдвэрийн хуримтлал нь Уотерфолл загвар дээр их байдаг

Мөн Уотерфолл загвар нь уламжлалт, ерөнхийдөө систем хөгжүүлэлтийн арга болохоос гадна, өнгөрсөн үед бодитой болж байсан маргааны жишээнүүдийн хуримтлал ихтэй байдаг гэдгийг хэлж болно. Хууль эрх зүйн хэлэлцүүлэгт, хуулийн заалтыг уншихаас гадна, өнгөрсөн шүүхийн шийдвэрийн мэдлэг чухал утга агуулдаг. Зөвхөн хуулийн заалтыг уншиж “цагаан” эсвэл “хар” гэж хэлэхэд хүндрэлтэй асуудлуудад ч, өнгөрсөн шүүхийн шийдвэрүүдээс олж авсан мэдлэгээр хуулийн заалтыг нэмэлт тайлбарлах боломжтой байдаг.

Тодруулбал, албан ёсоор батлагдсан хууль биш ч гэсэн, шүүхийн гаргасан шийдвэрүүдийн хуримтлал нь хуулийн заалт шигээ шийдвэрлэх үндсэн зарчим болон хэвшдэг. Эдгээр нь “шүүхийн шийдвэрийн хууль зүй” гэж нэрлэгддэг. Систем хөгжүүлэлт гэх мэт яриагаас өөртөө шүүхийн шийдвэрийн хууль зүйн хуримтлалтай бүс нутагт, тэр ч байтугай үл мэдэгдэх маргаан байсан ч, маргааны эцсийн үр дүнг харьцангуй амархан таамаглах боломжтой байдаг. Энэхүү давуу тал нь Уотерфолл загварыг үндэслэн систем хөгжүүлэлт хийхэд олон талын ашиг тусыг харуулдаг.

Хөгжүүлэлтийн арга бүрийн давуу талууд

Усан цахилгаан (Waterfall) загвар болон Ажлын бэлтгэл (Agile) хөгжүүлэлт хоёрын давуу ба сул талууд нь юу вэ?

Дээрх агуулгыг үндэслэн, дараахь хэсэгт тус бүрийн аргыг харьцуулан, тэдгээрийн давуу ба сул талуудыг тусгайлан жагсааж өгөх болно. Эхний хэсэгт Усан цахилгаан (Waterfall) загварын давуу талуудыг онцлон харуулсан бөгөөд доорх хэсэгт Ажлын бэлтгэл (Agile) хөгжүүлэлтийн давуу талуудыг илүү ойлгомжтой болгох зорилгоор жагсаасан байна.

Төлөвлөгөө ба ирээдүйг харах боломжийн харьцуулалт

Төлөвлөгөө ба ирээдүйг харах боломжийн хувьд, Уотерфолл загвар нь давуу талтай гэж хэлж болохоор байна. Хэрэв системийг хэрхэн томоохон хэмжээтэй бүтээх вэ гэдгээс үл хамааран, энэ нь заавал ‘дээд урсгал → доод урсгал’ руу шилжих тус бүрдээ хуваагдсан ажлын үе шатууд байдаг. Хэрэв та өөр өөр ажлын үе шат бүрт хугацаа хязгаар тогтоовол, түүний явцыг харьцангуй төлөвлөгөөтэйгээр удирдахад хялбар болно.

Гэсэн хэдий ч, Ажайл гаригийн хөгжүүлэлт нь урьдчилан төлөвлөгөө боловсруулах ба бүтэн бүтэцтэй төсөлд их хэмжээний зардал болон хүчин чармайлт зарцуулахгүйн тулд, үүнийг болзошгүй түр зуурын арга хэмжээ болгон авах магадлалтай гэж хэлж болно.

Төслийн гишүүдийн өөр өөрийн үүрэг, хариуцлагын хүрээг тодорхойлоход хялбар байдлын харьцуулалт

Мөн Уотерфолл загвар нь төслийн ажлын явцыг нарийн хуваарилдаг бөгөөд, энэ нь төслийн гишүүд бүрийн үүргийг тодорхой болгож чадах давуу талтай.

Гэсэн хэдий ч, Ажайл гарааны хөгжүүлэлт нь ажлын явцын хуваарилалт нь тодорхойгүй болдог учраас, таамаглашгүй асуудал гарах үед хэн хариуцлага хүлээх вэ гэдэг зүйл мөн тодорхойгүй болох хандлагатай байдаг.

Томоохон хөгжүүлэлтийг хийхэд хялбар байдлын харьцуулалт

Төлөвлөгөөтэй байдлын хувьд болон үүрэг хуваарилалтын талаар давуу талтай Waterfall (Усан цахилгаан) загвар нь томоохон хөгжүүлэлт хийх тусам илүү олон давуу талтай болдог. Олон хүнийг зохион байгуулалттай ажиллуулах явцад ч гэсэн, ажлын явцыг жижиглэн хуваарилах замаар хуваарилалтыг дэмжих боломжтой бөгөөд ингэснээр хүмүүсийн харилцааны зохицуулалтад зарцуулах зардал бага болгож чадна.

Харин Agile (Нимгэн хөгжүүлэлт) загвар нь томоохон хөгжүүлэлтэд тийм ч тохиромжтой гэж үздэггүй. Төлөвлөгөөтэй байдлын хувьд болон үүрэг хуваарилалтаас илүүтэйгээр ажилд орох хурдыг чухалчилдаг арга хэмжээ байдаг учраас, эцсийн хугацааны зөрүү зэрэг санаа зовох боломжтой үе шатуудад хэрэглэхэд хүндрэлтэй байдаг.

Хурдан шийдвэрлэлт ба үр ашигтай байдлын харьцуулалт

Ажилд орох хурд нь Ажайл (Agile) хөгжүүлэлт нь илүү хурдан

Хэрэглэгч тал нэгэн функцын хүсэлтэй байгаа цагаас эхлэн, түүнийг бодит байдлаар хэрэгжүүлэх хүртэлх хугацаанд, Ажайл хөгжүүлэлтийн загвар нь илүү давуу талтай байдаг. Учир нь, Уотерфолл (Waterfall) загварын хувьд, дээд зэргийн ажил ба доод зэргийн ажилд хариуцсан хүмүүсийг тодорхой салгах нь энгийн бөгөөд, үйлчлүүлэгчийн дотоод харилцааны зардал ихсэх хандлагатай байдаг. Энэхүү харилцааны зардал ихсэх нь, дараа нь үзүүлэх шаардлагын өөрчлөлтөд сул байдлыг бий болгодог.

Гэсэн хэдий ч, Ажайл хөгжүүлэлтийн загвар нь дундын зохицуулагчийг томилдоггүйгээр хурдан шийдвэрлэлтээр ажилд орж, гүйцэтгэлд шилжих боломжтой. Энэ нь, дараа нь үзүүлэх шаардлагын өөрчлөлтөд амархан нийцүүлэх боломжтой гэдэг Ажайл хөгжүүлэлтийн хамгийн том давуу талтай шууд холбоотой. Гэхдээ, Ажайл хөгжүүлэлтийн загвар байсан ч, өөрчлөлт, нэмэлт хөгжүүлэлтийн хүсэлтэд зөвшөөрөхгүй бол, төслийг “галд” оруулах эрсдэлд орох болно. Энэ утгаараа, Ажайл хөгжүүлэлтийн загвараар систем хөгжүүлэх нь “өөрчлөлтийн удирдлага”-г хэрхэн явуулах вэ гэдэг нь амжилтын түлхүүр болно. Өөрчлөлтийн удирдлагын талаарх дэлгэрэнгүй тайлбарыг доорх нийтлэлд өгүүлсэн байна.

https://monolith.law/corporate/howto-manage-change-in-system-development[ja]

Уотерфолл загвар нь дунд замд зогсох магадлал бага

Харин хурдан шийдвэрлэлт ба үр ашигтай байдлын хувьд урт хугацааны төлөвлөгөөг бодоход, Уотерфолл загвар нь давуу талтай байдаг. Төслийн дунд замд “галд” орж, явцад ямар нэгэн ахиц гарахгүй болох эрсдэлийг авч үзвэл, Уотерфолл загвар нь давуу талтай. Төслийн дунд замд зогсох хамгийн том эрсдэл нь хэрэглэгч ба үйлчлүүлэгчийн харилцааны дутагдал юм. Энэ хувьд, хоёр талын үүрэг хуваарилалтыг тодорхой болгоход Уотерфолл загвар нь давуу талтай байдаг.

Шалгах шатанд хялбархан ажиллах нь Ажайл хөгжүүлэлт

Гэхдээ шалгах шатанд ярилцлагыг хялбархан явуулах хувьд, Ажайл хөгжүүлэлтийн загвар нь илүү давуу талтай гэж хэлж болно. Учир нь, хэрэглэгч ба үйлчлүүлэгч хоёр систем хөгжүүлэлтийн дунд шатанд ч мэдээллийг нарийн хуваалцах нь үндсэн зарчим болдог. Ингэснээр, эцсийн бүтээгдэхүүнийг хараад, хоёр талын ойлголтын зөрүү нэг дор ил болох эрсдэлийг багасгах боломжтой. Систем хөгжүүлэлтийн шалгах шат ба холбогдох хууль эрх зүйн асуудлуудын талаарх дэлгэрэнгүй тайлбарыг доорх нийтлэлд өгүүлсэн байна.

https://monolith.law/corporate/estimated-inspection-of-system-development[ja]

Хураангуй

Иймд харьцуулахад, нийтлэгдээр, удирдлагын чанарыг сайжруулахад нь Уотерфолл (Waterfall) загвар нь илүү тохиромжтой бол, ажлыг эхлүүлэх ба гүйцэтгэх хурдыг чухалчилдаг нь Ажайл (Agile) хөгжүүлэлтийн загвар гэж дүгнэж болно. Түүнчлэн, Ажайл хөгжүүлэлтийн загварын дагуу систем хөгжүүлэхтэй холбоотой хууль зүйн асуудлуудыг доорхи нийтлэлд дэлгэрэнгүй авч үзсэн болно.

https://monolith.law/corporate/legal-and-contract-issues-of-agile-development[ja]

Аль хөгжүүлэлтийн загвар нь тохиромжтой вэ гэдэг нь хууль зүйн өнцгөөс гадна, төслийн хэмжээ, төсөв, зорилго зэрэг олон хүчин зүйлсийг харгалзан, нийтлэгдээр шийдвэрлэх ёстой зүйл гэж үзэж байна.

Managing Attorney: Toki Kawase

The Editor in Chief: Managing Attorney: Toki Kawase

An expert in IT-related legal affairs in Japan who established MONOLITH LAW OFFICE and serves as its managing attorney. Formerly an IT engineer, he has been involved in the management of IT companies. Served as legal counsel to more than 100 companies, ranging from top-tier organizations to seed-stage Startups.

Category: IT

Tag:

Топ руу буцах