දැනට තිබෙන පාඩම්...

Wednesday, June 22, 2016

Software Engineering ඉගෙන ගනිමු - 7 පාඩම

ඔන්න අද Software Engineering වල අන්තිම පාඩමත් අරගෙන අාවා. අද අපි කථා කරන්නෙ අවදානම් කලමණාකරණය ගැන. නැත්නම් Risk Management.

අවදානම් කළමණාකරණයෙදි කථා කරන්නෙ අවදානම් හදුනාගැනීම හා ඒකෙන් ව්‍යාපෘතියට වන හානිය පුලුවන් තරම් අවම කරගන්න අාකාරය ගැන.අවදානමක් කියන්නෙ සම්භාවිතාවයක්  යම් පීඩාකාරී
ප්‍රතිපලයක් අැති කරන්න පුලුවන්. 
ඒක කාල සටහනට වගේම අපට තියෙන සම්පත් වලටත් බලපාන්න පුලුවන්. ඒක අපි සංවර්ධනය කරන software ඒකේ quality නැත්නම් ප්‍රමිතිය ගැන වගේම software ඒකේ performance ඒක නැත්නම් කාර්යඵලයට බලපෑම් අැති කරන්න පුලුවන්.
හදලා ඉවර වුනාට පස්සෙ ඒක රෑක බලාගන්න කාලයේදි ව්‍යාපාරික වශයෙන් අවදානම් වලට ලක්වෙන්න පුලුවන්. 

අවදානම් කලමණාකරනය ප්‍රධාන පියවර 4ක් යටතේ වර්ග කරන්න පුලුවන්.
  1. Risk Identification - අවදානම් හදුනාගැනීම - ව්‍යාපෘතියට තියෙන සියලුම අවදානම් මාෙනාද කියලා හදුනාගන්න ඔින.
  2. Risk analysis - අවදානම් විශ්ලේෂණය - අවදානමක් වෙන්න තියෙන ඉඩ ප්‍රමාණය හා ඒකෙන් පස්සෙ වෙන්න පුලුවන් ප්‍රතිවිපාක ගැන 
  3. Risk Planning - අවදානම් ඉවත් කිරීම් සැලසුම් කිරීම - අවදානම් නිසා වෙන්න පුලුවන් හානි වලක්වගන්න හරි අවම කරගන්න හරි සැලසුම් කරනවා.
  4. Risk Monitoring - අවදානම් පාලනය කිරීම -  ව්‍යාපෘතියේ සියලුම අවදානම් පාලනය කිරීම
  • Risk Identification
අවදානම් හදුනාගැනීම ප්‍රධාන කොටස් 5කට වෙන් කරන්න පුලුවන්.
  1. Technology Risks - තාක්ෂණික අවදානම් - database ඒකක අැතිවෙන්න පුලුවන් ප්‍රශ්න ඒක උදාහරණයක්
  2. People Risks - මිනිසුන් නිසා අැතිවන අවදානම් - staff ඒකේ අැතිවන ප්‍රශ්න
  3. Organizational Risks - සංවිධානය නිසා අැතිවන අවදානම් - Organization ඒකේ පාලනය මාරු වෙලා වෙනස් මූනු තනතුරු වලට පත්වීම
  4. Requirements Risks - ව්‍යාපෘතියේ අවශ්‍යතා නිසා අැතිවන අවදානම් - පාරිභෝගිකයාට අවශ්‍යතා ගැන තේරෙන්නෙ නැති වුනාට පස්සෙ
  5. Estimation Risks - ව්‍යාපෘතිය අැස්තමේන්තු ගත කිරීමේදී වන අවදානම් - අැස්තමේන්තු ගත කරපු කාලය වගේම අැස්තමේන්තු ගත කරපු කාලය වෙනස් වීම
  • Risk Analysis 
අවදානම් වෙන වෙනම අරගෙන ඒවාගෙ සම්භාවිතාව හා බරපතලකම තේරුම් ගන්නවා. සම්භාවිතාව very low, low, moderate ,high, very high විදියටත් බරපතලකම catastrophic, serious, tolerable, insignificant විදියටත් බෙදන්න පුලුවන්.
  • Risk Planing
 අවදානම් පාලනය කරගන්න උපාය මාර්ග පාවිච්චි කරනවා.
  1. වලක්වාගන්නා උපායමාර්ග
  2. හානි අවම කරගන්නා උපායමාර්ග
  3. අවිනිශ්චිත උපායමාර්ග
  • Risk Monitoring
හදුනාගත්තු ඒක් ඒක් අවදානම් පිලිවෙලට තීරණය කරනවා වෙන්න තියෙන සම්භාවිතාවන් විශාලද කුඩාද කියන දේ. අවදානම් නිසා ඉස්සර අැතිවුනු බලපෑම්මද තවමත් අැතිවෙන්නෙ කියන දේ. මේ ඒක් ඒක් කාරණාවන් ප්‍රගති රැස්වීම් වල කථා කරන ඒකත් Risk Monitoring වලට තමයි අයිති වෙන්නෙ.

මෙන්න මේ විදියට Software Engineering පාඩම් මාලාව අපි මෙතනින් නිමා කරනවා. ලැබුනු ඉල්ලීම් කිහිපයක් අතරින් හොදම ඉල්ලීමට තැනක් දෙන්න අපි බලාපාෙරොත්තු වෙනවා. 






Monday, June 13, 2016

Software Engineering (Project Management) ඉගෙන ගනිමු - 6 පාඩම

ටික දවසකට පස්සෙ අායෙත් ඔන්න කියපු විදියටම Software Engineering අලුත්ම පාඩමක් අරන් අදත් අාවා.
අද අපි කථා කරන්නෙ Project Management වල basics ගැන.

Project Management ප්‍රධාන කොටස් 4කට බෙදන්න පුලුවන්.

  1. Management Activities (කලමණාකරන ක්‍රියාවලිය)
  2. Project Planning (ව්‍යාපෘති නිර්මාණය)
  3. Project Scheduling (ව්‍යාපෘති උප ලේඛණය කිරීම )
  4. Risk Management (අවදානම් කලමණාකරණය)
 Project management හුගක් වෙලාවට වැඩ කරන්නෙ Software ඒක වෙලාවට deliver වෙලාද, අදාල කාල සටහනට අනුවද පියවර සිද්ධ වෙලා තියෙන්නෙ , organization ඒකට ඔින වෙලා තිබ්බ requirements නියමිත විදියට සම්පුර්ණ වෙලා තියෙනවද , ගිහින් තියෙන වියදම budget ඒකට ගැලපෙනවද කියන දේවල් තමයි check කරන්නෙ.


  1. Management Activities
කලමණාකරණ ක්‍රියාවලිය ප්‍රධාන කරුණු කිහිපයක් යටතේ වෙන් කරන්න පුලුවන්.

  • Proposal Writing (යෝජනා සටහන් කරගැනීම)
  • Project planing and scheduling (ව්‍යාපෘති සැලසුම් කිරීම සහ සටහන් කරගැනීම)
  • Project costing (ව්‍යාපෘතියට යන වියදම ගණනය කිරීම)
  • Project monitoring and reviews (ව්‍යාපෘතිය පාලනය හා පසු විපරම)
  • Personnel selection and evaluation (පුද්ගල තෝරාගැනීම හා පරීණාමණය)
  • Report writing and presentations (වාර්තා ලිවීම හා ඉදිරිපත් කිරීම)
Project Manager කියන්නෙ කවුද? මොනවද කරන්නෙ?

    Project Manager සම්පූර්ණයෙන්ම project ඒකේ ව්‍යාපෘති වාර්තාව ලිවීම සම්බන්ධව වග කිව යුතුයි. ඔහු පාරිභෝගිකයාට හා ව්‍යාපෘති භාර අායතනයට යන දෙකටම ඒ සම්බන්ධව වග කියනවා. ව්‍යාපෘති වාර්තාව සාමාන්‍යයෙන් ලියවෙන්නෙ සංක්ෂිප්තව පැහැදිලි වාර්තාවක්. ඒකෙ වැදගත්ම තොරතුරු ටික වාර්තාවට අැතුලත් වෙනවා.
   ප්‍රගති වාර්තා සමාලෝචන රැස්වීම් වලදී මේ තොරතුරු ඉදිරිපත් කරන්න හැකියාව තියෙන්න ඔින.

  • Project ඒකට අවශ්‍ය කාර්ය මණ්ඩලය බදවා ගැනීම
         කට්ටිය බදවගන්න කොට අදහස් වලින් පරිපූර්ණ අත්දැකීම් වලින් පරිපූර්ණ පරමාදර්ශී චරිත ලැබෙයි කියලා බලාපොරොත්තු වෙන්න බෑ. ඒ වගේම ඒ වගේ චරිත ලැබුනොත් ඒ අයට කරන්න වෙන ගෙවීමත් ව්‍යාපෘති ඒකේ අයවැයට දරාගන්න පුලුවන් වෙයි කියලා හිතන්න අමාරුයි. හැම වෙලාවකම අායතනයක් කාර්ය මණ්ඩලයේ හැකියාවන් වර්ධනය වීමක් බලාපොරොත්තු වෙනවා ව්‍යාපෘතියක් මගින්...

  • Project ඒක සැලසුම්ගත කිරීම
         ව්‍යාපෘතියක වැඩිම කාලයක් ගතවන ක්‍රියාවලිය තමයි මේක. ව්‍යාපෘතිය ගැන අදහස ඔලුවට අාපු දවසෙ ඉදන් භාර දෙන දවස වෙනකන්ම නොනවත්වා කෙරෙන ක්‍රියාවලියක්. අලුත් තොරතුරු ඒකතු වීමත් ඒක්කම සැලසුම් ක්‍රමවත්ව වෙනස් කරගන්න පුලුවන්. ප්‍රධාන software plan ඒකට ගැලපෙන විදියෙ කුඩා කුඩා plans වලින් හුගක් දුරට කාල සටහනට හා අයවැයට ගැලපෙන විදියෙ plan ඒකක් හදාගන්න පුලුවන්.
 

කුඩා plans කිව්වම හුගක් දුරට අයිති වෙන්නෙ...

  1. Quality Plan (ප්‍රමිති සැලැස්ම)
  2. Validation Plan ( වලංගුතාවය පරික්ෂා කිරීමේ සැලැස්ම )
  3. Configuration Management Plan( අාකෘති කලමණාකරන සැලැස්ම )
  4. Maintenance Plan (පවත්වාගෙන යාමේ සැලස්ම)
  5. Staff Development Plan(කාර්ය මණ්ඩල සංවර්ධන සැලැස්ම)

  • Project Plan ඒකක සැකසුම
  1. Introduction (හදුන්වාදීම)
  2. Project Organization (ව්‍යාපෘති සංවිධානය)
  3. Risk Analysis (අවදානම් විශ්ලේෂණය)
  4. Hardware and software resource requirements (දෘඩාංග හා මෘදුකාංග අවශ්‍යතා)
  5. Work Breakdown (කාර්යයන් බිදවැටීමකදී ගන්නා පියවර)
  6.  Project Schedule (ව්‍යාපෘති කාල සටහන)
  7. Monitoring and reporting mechanisms ( යාන්ත්‍රණ පාලනය හා ඒවා පිලිබද වාර්තා ලබා ගැනීම )
  • Project Scheduling 
          ව්‍යාපෘතිය කොටස් වලට කඩලා ඒ ඒක් ඒක් කොටස කරන්න යන කාලය හා සම්පත් අැස්තමේන්තු ගත කරනවා. වැඩ කරද්දි ඒක දිගටම වැඩ වැටෙන විදියට කාර්යයන් පිලියෙල වෙන්න ඔින.
          සමහර වැඩ කරද්දි ඒ වැඩ මත තවත් වැඩ රදා පවතිනවා. කලින් වැඩේ කරන්නෙ නැතුව අලුත් වැඩකට යන්න බැරි විදිහෙ වැඩ පුලුවන් තරම් අවම කරන්න ඔින. Scheduling කියන දේ project managersලාගේ කැපවීම උනන්දුව වගේම අත්දැකීම් මතත් රදා පවතිනවා.

  • Scheduling කරද්දි අැති වෙන්න පුලුවන් ප්‍රශ්න
හුගක් වෙලාවට ප්‍රශ්න වල සංකීර්ණත්වය අැස්තමේන්තු ගත වෙන නිසා Solution ඒකක් හදාගන්න වැඩි වියදමක් යනවා. ව්‍යාපෘතියක ඵලදායීතාවය කිසිම වෙලාවක ඉන්න ඔලු ගෙඩි ගාන මත රදා පවතින්නෙ නැහැ. වැඩ ඉවර කරගන්න පරක්කු වුන project ඒකකට මිනිස්සු තවත් ඒකතු කරන ඒක ඒච්චරම හාෙද දෙයක් නෙවෙයි ඒකට හේතුව කථා බහ වැඩි වීම. බලාපොරොත්තු නොවෙන දේවල් ඔින වෙලාවක වෙන්න පුලුවන් project ඒකකට වුනත්.

ඊලග පාඩමෙන් අපි Risk Management ගැන කථා කරමු....






Wednesday, June 1, 2016

Software Engineering ඉගෙන ගනිමු - 5 පාඩම

ටික දවසකට පස්සෙ යාලුවනේ ඔන්න අදත් අාවා අලුත් පාඩමක් අරගෙන...

අද කථා කරන්නෙ ගිය පාර පාඩමේ ඉතුරු කොටස....
Component Based Software Model ගැන තමයි කථා කරන්න තියෙන්නෙ...

මේකෙදි වෙන්නෙ පරණ Software ඒකතු කරලා අලුත් Software හදන process ඒක...

මේ වගේ දෙයක් කරන්න සෑහෙන පලපුරුද්දක් තියෙන්න ඔින.. ඒ කියන්නෙ කෝමත් පරන Software ගැන හොද අවබෝධයක් තියෙන්න ඔින.
අපිට හොද උදාහරණයක් ගත්තොත් ඒහෙම,
අලුතින්ම පටන් ගත්තු බැංකුවක් ඒ බැංකුවෙ ඉන්න අයටත් ලොකු දැනුමක් නෑ IT පැත්තෙන් වැඩ කරන් යන්න. අපිව ගන්නවා ඒ ගොල්ලන්ගෙ උපදේශකයෙක් විදියට, බැංකුවට ඔින වෙනවා මෙච්චරකල් වැඩ කරපු manual system ඒක අත් අැරලා software වලින් හදපු ක්‍රමයකට යන්න. ඉතින් ඒකට ඒගොල්ල ඔයාගෙන් ඒක කරන්න ඔින විදිහ විමසනවා. කරන්න පුලුවන් ක්‍රම කිහිපයක් අතරේ හොදම ක්‍රමයක් තමයි Component Based Model ඒක කියන්නෙ. ඒකට හේතුව වෙන්නෙ අපේ Bank ඒකේ අයට අලුත්ම Software ඒකක් හදාගන්න දැනුමකුත් නෑ. අලුත්ම Software ඒකක්  ඒක්ක වැඩ කරන්න තේරෙන්නෙත් නෑනෙ ලොකුවටම. අනික අලුත් software ඒකක් කරන්න සෑහෙන කාලයක් ගතවෙනවානෙ. මේ ගොල්ලන්ට ඒච්චර කාලයක් නෑනෙ බලන් ඉන්න. ඉතින් තියෙන හොදම ක්‍රමයක් තමයි component based system කියන්නෙ.

මේකෙ ප්‍රධාන පියවර කිහිපයක් තියෙනවා.

  1. Component Analysis (තමන්ට තියෙන දේවල් check කරනවා)
  2.  Requirements modification ( අවශ්‍යතා තමන්ට ඔින විදියට වෙනස් කර ගන්නවා.)
  3. System design with reuse (කලින් කියපු අවශ්‍යතා වලට ගැලපෙන්න System ඒක වෙනස් කර ගන්නවා.)
  4. Development and integration (කලින් කියපුු කාරණා අනුව develop කරන්න පටන් ගන්නවා)
මේවගෙ  වාසි කිහිපයක්ම තියෙනවා.
  • අලුතෙන් නිර්මාණය වීමක් වෙන්නෙ නෑනෙ. ඒ නිසා කාලය අඩුයි.
  • මුදලුත් ගොඩක් වැය වෙන්නෙ නෑ
  • පරණ කලින් පාවිච්චි කරපු software නිසා හිතේ බයකුත් නෑ. Risk ඒක අඩුයි.
ඒ වගේම තමයි අවාසි
  • පාරිභෝගිකයට ඔින කරන දේවල් ඒ විදියටම දෙන්න විදිහක් නෑ.
  • තමන්ගෙ පරණ Software නැතුව පිටින් ගත්ත software වලින් හදනවානම් කාලය ගැන කිසිම අදහසක් කියන්න අමාරුයි.

ඒ කොටසින් Software Models ගැන පාඩම් කොටස අවසන් වෙනවා.
ඊලගට කථා කරන්නෙ Project Management , Software Engineering වල තවත් අලුත් කොටසක්.
ඉක්මනට ඒ පාඩමත් ඒක්ක අායෙත් හමු වෙනකන් සුභ ගමන් :D! 


කවුද මේ සුන්දර් පිචායි ??

පිචායි සුන්දර්රාජන් ඔබ දන්නවාද? මං දන්න තරමින් නැහැ. නමුත් ඔබ සුන්දර් පිචායි හදුනනවා විය යුතුයි. ඔහු තමයි Google අායතනයේ ප්‍රධාන විධායක...