Showing posts with label төслийн менежмент. Show all posts
Showing posts with label төслийн менежмент. Show all posts

2013-04-19

Скрум програм хангамж хөгжүүлэлтийн аргачлалыг 10 минутанд сурах

Энэхүү хурдавчилсан зааврыг ашиглан та болон танай компани “Скрум” програм хангамж хөгжүүлэлтийн аргачлалыг хэрхэн өдөр тутмын ажилдаа ашиглах талаар анхан шатны ойлголттой болох болно.

Скрумийн талаар товчхон 

Скрум бол төслийн менежментийн аргачлалуудаас сурах болон хэрэгжүүлэхэд хялбар байж болох аргачлалуудын нэг юм. Энэ зааварт би та бүхэнд Скрумийн талаар ерөнхий ойлголтууд болон хэрхэн энэ менежментийн арга, хэрэгслийг компани дээрээ ашиглаж болох талаар зөвлөгөө өгөх болно.

Скрумийн үндсэн ойлголтууд

Скрумийг (байгууллага дээрээ) нэвтрүүлэхээс өмнө дараах Скрумийн талаархи үндсэн ойлголтуудтай танилцах хэрэгтэй.
  1. Спринт (Sprint) – Тодорхойлсон зорилтуудад 30 хоногт багаараа хүчин зүтгэл гарган хүрэх гэсэн оролдлого. 
  2. Бүтээгдэхүүний жагсаалт (Product Backlog) – Эрэмбэлэгдсэн хийх ажлын жагсаалт.
  3. Спринт жагсаалт (Sprint Backlog) – Бүтээгдэхүүний жагсаалтаас хамгийн түрүүлж хийх шаардлагатай ажлуудын жагсаалт. 
  4. Скрум ахлагч (Scrum Master) – Бүтээгдэхүүнийг хийх багийн дасгалжуулагч бөгөөд спринтийн зорилтуудад хүрэхэд шаардлагатай бүх зүйлсийг энэ хүн хийх болно. 
  5. Бүтээгдэхүүний эзэн (Product Owner) – Хэрэглэгчийг төлөөлөх бөгөөд жагсаалтанд байгаа ажлын эрэмбийг тодорхойлох үүрэгтэй. 
  6. Скрум баг (Scrum Team) – Өөрсдийгөө зохион байгуулах чадвартай ба хийсэн ажилдаа хамт олноороо хариуцлага хүлээх 5-9 хүний бүрэлдэхүүнтэй бүлэг.
Скрум процесс

Скрумтай холбоотой үндсэн ойлголтыг авсан дараа одоо Скрум процесс хэрхэн ажилладгийг алхам, алхмаар харцгаая.
  1. Жагсаалт үүсгэх – Энэ алхамд “бүтээгдэхүүний эзэн” ба “скрум баг”-ийнхан “бүтээгдэхүүний жагсаалт”-нд оруулах ажлууд болон тэдгээрийн эрэмбийг тодорхойлохоор уулзах болно. “Бүтээгдэхүүний эзэн” нь бүтээгдэхүүний үндсэн зорилгыг тодорхойлох чадвартай (эрх мэдэлтэй) байх ёстой. Нэг ёсондоо “бүтээгдэхүүний жагсаалт” бол төслийн хүрээнд хийх ёстой ажлуудыг хийх дарааллаар нь эрэмбэлсэн жагсаалт юм. 
  2. “Бүтээгдэхүүний эзэн” нь “бүтээгдэхүүний жагсаалт”-ыг үүсгэсний дараа “спринт төлөвлөх уулзалт”-ыг зохион байгуулна. Уулзалтын хамгийн эхэнд “бүтээгдэхүүний эзэн” нь програм зохиох багт төслийн зорилго ба “бүтээгдэхүүний жагсаалт”-ыг тайлбарлаж өгнө. Үүний дараа “скрум баг” нь “бүтээгдэхүүний жагсаалт”-аас хамгийн өндөр эрэмбэтэй ажлуудыг энэ спринт-д хийж дуусгахаар сонгох болно. 
  3. Хийх ажлаа сонгож дууссаны дараа энэ спринт-ийн боломжит хуваарийг багийн гишүүдийн төсөлд зарцуулж чадах цагийг тооцсоны үндсэн дээр зохионо. “Бүтээгдэхүүний жагсаалт”-аас энэ спринт-д хийхээр сонгосон ажил бүрийг бие даан хийж болох хэсгүүдэд хуваана. Ингэснээр “спринт жагсаалт” бэлэн болно. 
  4. Спринт эхлэх ба 15-30 өдрийн турш үргэлжилнэ. Спринтийн үед жагсаалтанд өөр ажил нэмэхгүй. (Багийн гишүүд хийх ажлаа спринт жагсаалтаас сонгож, сонгосон ажлаа хийж дуусгах хүртэл өөр ажил авахгүй) 
  5. Спринт эхлэхэд “өдөр тутмын уулзалт” эхэлнэ. “Өдөр тутмын уулзалт” бол 15 минутын хугацаанд хийгдэх багийн гишүүн бүр хамгийн сүүлийн “өдөр тутмын уулзалт”-аас хойш өөрийн хийсэн зүйл, хийхийг хүсэж байгаа зүйл, тулгарсан асуудлын талаархи тайланг багийн бүх гишүүдэд тайлагнах уулзалт байх болно. Энэ явцад “скрум мастер” нь тулгарсан асуудлуудыг тэмдэглэн, уулзалтын дараа шийдвэрлэх гэж оролдоно. 
  6. Спринт дууссаны дараа “спринт дүгнэх уулзалт” хийнэ. Энэ уулзалтыг хийх үед бүгд цуглан тухайн хүн спринтийн турш хийж дуусгасан ажлаа бусдад тайлагнах болно. 
  7. “Бүтээгдэхүүний жагсаалт”-нд үлдсэн ажлуудаас шинээр эрэмбэлэгдсэн хийх ажлын жагсаалт дахин бий болгох замаар энэ процесс дахин давтагдах болно.
“Скрум процесс” товчхондоо дээрхи зарчмаар явагдана. Энэхүү мэдлэгийг ашиглан та өөрийн компанидаа “Cкрум”-ийг нэвтрүүлж болох боломжтой боллоо.

Эх сурвалж: http://www.brighthubpm.com/agile/6549-a-quick-scrum-tutorial/

2013-02-01

Програм хангамж боловсруулалтын төслийн менежмент

1. Оршил

Өнөөдөр манай улсад програм хангамжийн инженер гэсэн мэргэжлээр бакалаврын диплом өгдөг болсоноос хойш 10-аад ажил өнгөрчээ. Гэвч манай улсад програм зохиоход програм хангамжийн инженерчлэлийг жинхэнэ утгаар ашиглаж чадахгүй байна. Ихэнхи IT чиглэлийн мэргэжилтнүүд програм зохиохыг зүгээр код бичин, хэрэглэгчид осолдохгүй ажилладаг бүтээгдэхүүн хүргэх гэж ойлгодог. Үлдсэн хүмүүс ач холбогдолыг нь ойлгодог боловч энэ талын мэдээлэл багатай учраас шууд ажил дээрээ ашиглах, хэрэгжүүлэх боломжгүй байдаг билээ.
Миний бие энэ чиглэлийн дэлхийд тэргүүлдэг технологи, аргачлалыг тэргүүлэх компаниуд хэрхэн ашиглаж байгааг судалсаны үндсэн дээр та бүхэндээ Хэрхэн програм хангамж боловсруулах вэ? хэмээх цуврал нийтлэлийн анхны дээжийг та бүхэнд хүргэж байна. Мэдээж хэвлэгдэж байгаа эхний хувилбар болохоор буруу зөрүү зүйл, алдаа, дутагдал гарч магадгүй бөгөөд та бүхнийг энэ тал дээр санал сэтгэгдлээ блогоор дамжуулан хуваалцахыг хүсч байна. Ингээд үндсэн сэдэв рүүгээ оръё.

“Аливаа програм хангамжийн төслийг хэрхэн төлөвлөсөн болон тухайн төсөлд програм хангамж боловсруулах процессийг хэрхэн ашигласнаас хамааран уг төсөл амжилттай болох эсэх шийдэгддэг.“

2. Төсөл гэж юу вэ?

Эхлээд төслийн менежмент гэж юу болох талаар авч үзье. Төслийн менежментийн талаар хамгийн хялбар танд ойлголт өгч чадах зүйл бол “Төслийн Менежментийн Гурвалжин” юм.



ХУГАЦАА – Төслийг дуусгахад хэдий хэмжээний  хугацаа байгааг (олгогдсон) илэрхийлнэ.

ЗАРДАЛ – Төсөлд олгосон нийт төсвийн (мөнгөний) хэмжээг илэрхийлнэ.

ЗОРИЛГО – Төсөл амжилттай дуусахад юу хийгдсэн байх шаардлагатайг илэрхийлнэ.

Энэ гурван нөхцөл бол харилцан бие биенээсээ хамааралтай бөгөөд үр дүнд нь (бүтээгдэхүүний) “чанар” буюу “үйл ажиллагаа” бий болно. Жишээлбэл:

-         Хийх ажлууд буюу зорилго ихсэх юм бол  зарцуулах хугацаа болон зардал ихсэнэ

-         Хугацаа бага үед зардал ихсэх болон хийх ажлаа багасгана.

-         Зардал буюу төсөв бага бол хийх ажлаа багасгаж, хугацаагаа ихэсгэнэ.

Эцсийн үр дүнд “чанар”-тай (хэрэглэгчийн шаардлагад нийцсэн) бүтээгдэхүүн гарна.

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

3. Төлөвлөлт

Энгийн үгээр хэлвэл “төлөвлөлт бол төлөвлөгөө гаргах”-ыг хэлнэ. Төлөвлөгөө бол хэзээ, хаана, хэн, юу хийхийг тодорхойлох үйл явцыг хэлдэг. Төлөвлөгөө гаргахад:

1-рт: Зорилгоо тодорхойлон, төслийг дуусгахад ямар арга ашиглахаа сонгох хэрэгтэй.

2-рт: Төслийг дуусгахад шаардлагатай янз бүрийн ажлуудын үргэлжлэх хугацааг  ажлын задаргаа хийх бүтцийг (work breakdown structure, цаашид WBS гэж явна) ашиглан жагсаан, бүлэг болгон ангилна. Цаашаа ахихаас өмнө WBS-ийг та бүхэнд тайлбарлах нь зүйтэй болов уу.

3.1 WBS

WBS бол төслийн менежмент болон системийн инженерчлэлд зорилгыг тодорхойлоход өргөн ашиглагддаг аргачлал юм. Мод хэлбэрийн бүтэцтэй энэхүү аргачлалыг ашиглан аливаа төслийг хэсгүүдэд хуваах, хуваасан хэсгүүдээ дахин дэд хэсэгт хуваах замаар төслийн явцад хийгдэх ёстой бүх ажлууд буюу төслийг 100%, бүрэн тодорхойлж өгдөг.



100%-ийн дүрэм

100%-ийн дүрэм бол WBS нь төслийн зорилгод тодорхойлогдсон гадаад, дотоод, түр хугацааны зэрэг төслийн хүрээнд багтах бүх ажлыг 100% хамруулж харуулахыг хэлнэ.

Анхаарах зүйлс:

l  Сайн загварчлагдсан WBS юу хийгдсэн байх ёстой вэ буюу төслийн үр дүнг тодорхойлж харуулдаг. Нөгөө талаар энэ хийгдэх үйл ажиллагааг нарийвчлан харуулдаггүй болохыг анхаарна уу.

l  Энэ бол ядаргаатай олон ажлын жагсаалт биш бөгөөд төслийн зорилгыг нарийвчлан харуулах зүйл юм.

l  WBS бол төслийн төлөвлөгөө буюу хуваарь биш. WBS-ээс өмнө төслийн төлөвлөгөө гаргах бол утгагүй. Яагаад гэвэл энэ нь хэрэв та байшин барих байлаа гэхэд эхлээд хийх ажлын жагсаалтаа гаргаад, дараа нь байшингийн загвараа гаргахтай ижил юм.

l  Байгууллагын дотоод бүтцийг харуулахад зориулагдсан аргачлал биш.

l  WBS бол логик загвар биш.

3.2 CPM

Дараа нь төслийн ажлуудын логик харилцан хамаарал, дарааллыг гаргахын тулд Бэрх Замын Менежмент-ийг (Critical Path Method, цаашид CPM гэж явна) ашиглана. Эхлээд CPM гэж ямар аргачлалыг хэлж байгаа талаар ойлголттой болох нь зүйтэй.

CPM нь төслийн үйл ажиллагаануудын хуваарийг байгуулах, математикт тулгуурласан алгоритм юм. CPM-ийг ашиглан загвар байгуулахын тулд дараах дарааллыг мөрдөнө:
  1. Төслийг бүх үйл ажиллагаануудын жагсаалт (өөрөөр хэлбэл Work breakdown structure)
  2. Ажил бүрийг дуусгахад шаардагдах хугацаа болон
  3. Эдгээр ажлуудын уялдаа холбоог тодорхойлох
Эдгээр утгуудийг ашиглан CPM нь төслийн дуусгахад шаардлагатай хамгийн удаан хугацааг олох ба ажил болгоны эхлэх болон дуусах хугацааг тооцоололон харуулдаг.

Жишээ:

Энд жишээ хүснэгтийг тавина.

Жич: Хэрэв хугацаа тооцоход нэг алдаа гаргавал бүх шинжилгээ алдаатай болж төслийг амжилттай дуусгахад хүндрэл учрах болно.

CPM-ээ жагсаан бичсэн дээр тулгуурлан Пертийн диаграмыг зурна.

Жишээ зураг.

4. Төслийн  менежментийн сүүлийн алхам

Нөөцөө зөв хуваарилан, ажил болгонд хариуцсан ажилтанг оноож өгнө.

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

Энэ алхмыг бүрэн утгаар хэрэгжүүлэхэд болон төслийн хуваарийг гаргахад Гантын хүснэгтийг ашиглана.

Гантын хүснэгт нь ажил болгон болон нийт ажлын эхлэх болон дуусах хугацааг харуулдаг. Нийт ажил болон ажил болгоныг бол төслийн WBS-ээр өмнө бид тодорхойлсон билээ.

5. Ашиглалт

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

2013-01-30

Төслийн менежментийн баримтууд

Ихэнхи төслийн хувьд амжилттай болохын тулд зорилго ба боломжоо бүрэн тодорхойолж баримтжуулах хэрэгтэй байдаг. Баримтжуулалт хийснээр хөрөнгө оруулагч, хэрэглэгч, төслийн багийн хүсэл, эрмэлзлэлийг хамтатгаж өгдөг. Нийт 20 баримт байдгаас дараах хэрэглэгдэж байгаа 4-ийг дурдая.
  • Төслийн гэрээ 
  • Бизнесс төлөв байдал/Хэрэгжих магадлал
  • Work Breakdown Structure
  • Төслийн хуваарь
Work Breakdown Structure

Work Breakdown Structure (WBS) бол мод хэлбэрээр төслийн хүрээ, зохион байгуулалтыг тодорхойлох төслийн менежментийн үндсэн аргачлал юм. WBS-ийн эхний 2 түвшинд (үндэс болон 2-р түвшин) төслийн хүрээг 100% илэрхийлэх төлөвлөгдсөн үр дүнг тодорхойлно. Дараагийн дэд түвшин болгон эх түвшнийхээ төслийн хүрээг 100% илэрхийлнэ. Сайн загварчлагдсан WBS төлөвлөгдсөн үйл ажиллагааны оронд төлөвлөгдсөн үр дүнг тодорхойлж харуулдаг. Төслийн үр дүнг урьдчилан харахад хялбар байдаг байхад төслийн үйл ажиллагааг харахад илүү хэцүү байдаг.

100%-ийн дүрэм

100%-ийн дүрэм... WBS-ийн гадаад, дотоод, түр хугацааны зэрэг төслийн хүрээнд багтах бүх 100% ажлыг хэлнэ.

Critical path method (Чухлыг сонгох аргачлал)

Critical Path Method буюу CPM төслийн үйл ажиллагаануудыг хуваарийг байгуулах математикт тулгуурласан алгоритм юм. CPM-ийг ашиглан загвар байгуулахад чухал зүйлс гэвэл:
  1. Төслийг бүх үйл ажиллагаануудын жагсаалт (өөрөөр хэлбэл Work breakdown structure)
  2. Үйл ажиллагаа бүрийн дуусахад шаардагдах хугацаа
  3. Үйл ажиллагаануудын уялдаа холбоог гаргаж өгөх
Эдгээрийг ашиглан CPM нь үйл ажиллагаа болгоны эхлэх болон дуусах хугацааг тооцоолон аль үйл ажиллагаа төслийг дуусгахад илүү шаардлагатай, эсвэл бага шаардлагатай бага байгааг харуулдаг. Энэ аргын дутагдалтай тал нь гэвэл хугацаа тооцоход нэг алдаа гаргавал бүх шинжилгээ алдаатай болж төсөл зохион байгуулалтанд хүндрэл учрах болно.