Showing posts with label Waterfall. Show all posts
Showing posts with label Waterfall. Show all posts

Tuesday 8 July 2014

Paano Maaari masigla "liksi" humahantong sa mga matagumpay na IT ng WWF?

Mga kumpanya sa pag-develop sa IT at mga organisasyon ay nai-gamit masigla upang mapalakas ang kanilang aktibidad sa pag-develop at maghatid ng oras masaklawan mga proyekto. Tulad ng sa ngayon, masigla framework ay sikat na ginagamit upang mabawasan ang mga teknikal na utang at kontrolin ang pagbabalik. Ang balangkas ay nagbibigay ng tampok sa pamamagitan ng kung aling mga palugit produkto ay maaaring availed sa isang pare-pareho na batayan at shippable mga kwento ng user ay inihatid sa dulo ng sprint iterations. Habang magkano ay tinalakay tungkol sa Maipapadala sa masigla, ang pinaka-mahalaga Naiihatid ay isang bug libreng release working software na binuo gamit ang well crafted code - ang "code base". Ito ay napakahalaga upang makapaghatid ng kinakailangang halaga ng proyekto sa pamamagitan ng mahusay na dinisenyo, lohikal, at bug libreng code. Sa masigla maraming tao, dapat may perpektong magpakita sa kalyeng functional koponan sa pagbuo ng virtues tulad ng responsibilidad, pragmatismo, propesyonalismo, at maging ang pagmamataas habang naghahatid ng pagiging produktibo sa panahon ng araw-araw na sprints. Ang mga halaga makatulong upang suriin ang teknikal na utang at pagbutihin ang mga halaga ng negosyo na nauugnay sa mga kwento ng user.

Ang saklaw at mga uri ng mga proyekto ng software na maaaring binuo gamit ang maraming tao
Habang tinatalakay ang anumang batay sa IT proyekto, ang mga kinakailangan sa pagbuo ng software at ang nasasakupan ng phase-unlad proyekto sa pangkalahatan ay mananatiling pareho, at huwag baguhin magkano hindi isinasaalang-alang ng uri ng mga proyekto ng software na binuo. Ang iba't ibang mga uri ng mga proyekto na maaaring binuo gamit ang maraming tao ay kinabibilangan ng:
  • Ang isang client-server application / sistema
  • Ang isang nakapag-iisang application / sistema
  • HTML / DHTML / XHTML, ASP, PHP, Joomla, at DotNetNuke pagbuo site / portal ng web batay
  • Java, VB Script, o anumang iba pang pag-unlad script batay
  • Android / Symbian / iOS o anumang iba pang pag-unlad sa mobile apps, atbp
Kaya ano ito na maaaring taasan ang "liksi" sa masigla at maghatid ng matagumpay na mga proyekto ng software na ito?

Well dinisenyo at crafted code
Karamihan sa mga kompanya ng IT pakiramdam na sa isang praktikal na batayan, ito ay malapit sa imposible, o napakahirap, upang makabuo ng bug libreng code na nag-aalok malakas na pag-andar sa mga end user. Mga kumpanya sa IT ay may posibilidad upang bumuo ng mga proyekto sa ilalim ng matinding kundisyon ang stress na may kaugnayan, at ito ay mahalaga upang matugunan ang mga petsa ng release at deadlines client. Ang koponan ng pag-unlad, sa karamihan ng mga kaso, tumutuon mabigat sa pagkumpleto ng mga proyekto na rin sa loob ng stipulated deadline, at ito ay nagiging ang pangunahing pagtuon ng kanilang aktibidad sa pag-develop. Ang pagmamadali sa pagbubuo ng proyekto ay madalas na nag-iiwan ng napakakaunting sa pagsubok ng mga tampok ng software at pag-andar sa isang maayos na paraan. Ito ay humantong sa mga teknikal na utang. Ang kumpanya ay maaaring kahit na mayroon sa "hilahin pabalik" ang software release kung ang mga pangunahing tampok mabigo upang gumana nang maayos, at maaari itong humantong sa mga tinapa-unlad mga paggugol. Kung nabigo pa rin ang muling pag-unlad upang maihatid ang halaga ng proyekto sa mga end user, ang teknikal na mga utang ay nagpapanatili sa pagtaas. Kung ito ay hindi naka-check, maaari itong maging imposible upang makontrol ang mga teknikal na utang at mabawi ang mga gastos sa pag-unlad proyekto.

Masigla ay tumutulong upang mabawasan ang mga teknikal na utang at kontrolin ang pagbabalik. Kapag pag-andar sa anyo ng mga kuwento gumagamit ay binuo ng koponan, malawakan ito ay nasubok na may paggalang sa mga pamantayan sa pagtanggap naka-link dito. Sa panahon ng mabilis na karera sa malapitang distansiya sa paggunita, ascertains ang may-ari ng produkto ang pag-unlad bilang Bumabati ang kahulugan ng "Gawa na" at Okays ang kuwento kung natutugunan nito ang mga pamantayan ng. Kaya, "shippable" at bug libreng pag-andar ng produkto ay ibinigay sa pamamagitan ng masigla sprints. Ganito ang pagbabalik ay pangunahing natugunan gamit masigla. Bilang karagdagan, ay natupad ang pag-unlad sprint batay sa feedback availed mula sa mga end user at mga stakeholder. Ang koponan ng pag-unlad ay magagawang mag-focus sa pagbibigay ng pangunahing pag-andar habang umuunlad ang mga kwento ng user. Ito direkta, at hindi direkta, nakakatulong upang suriin ang teknikal na utang at panatilihin ito sa control.

Maagang at maaasahang feedback
Masigla ay kailangang maagang at maaasahang feedback upang makabuo ng matagumpay na mga palugit produkto. Dapat na rin pare-pareho ng feedback Ang. Isa sa mga pangunahing sanhi ng pag-aalala sa pagpapaunlad ng IT ay ang kakayahang magamit ng pare-pareho at maaasahang feedback mula sa mga end user. Ang pag-unlad natupad ay maaaring sumailalim sa mahigpit na kalidad at benchmark test. Gayunman, kapag ang release ay itinalaga upang ang mga end user sa merkado, ang mga ito ay madalas magtalo tungkol sa likas na katangian ng pag-andar na inaalok. Ang pag-andar ay maaaring idinisenyo nang maayos, ngunit nabigo pa rin upang makapaghatid ng eksakto kung ano ang maaaring aktwal na nais o pangangailangan ng end user. Kung tulad ang kaso, ang kasalanan ay hindi nagsasabi ng totoo sa koponan ng pag-unlad. Ito talaga ay namamalagi sa paraan sa mga partikular na tampok o pagpapagana nauunawaan at envisioned ng may-ari ng produkto. Ang resulta ay isang pagtaas sa mga teknikal na utang, dahil ang parehong kuwento ay kinakailangan na muling binuo alinsunod sa eksaktong kinakailangan na iminungkahi ng mga end user.

Maagang feedback sa masigla pinipigilan ang mga ito mula sa nangyayari. Kapag ang isang partikular na pag-andar ay binuo sa anyo ng isang kuwento gumagamit ng koponan, ito ay inaprubahan ng PO sa panahon ng nagdaan session (ang mabilis na karera sa malapitang distansiya sa paggunita pulong), na sumusuri ito, at ascertains ito man ay technically tunog ie ito natutugunan ang pagtanggap pamantayan. Kasunod, ang mga stakeholder suriin ang pag-andar inaprubahan ng PO, at umalam halaga nito negosyo yan ay kung magkano ang mahalaga ang kuwento ay sa dulo ng gumagamit at kung magkano ito nag-aambag sa "sulit" ang produkto. Kuwento Ang ay aktwal na isinasaalang-alang bilang "shippable" lamang pagkatapos aprubahan ito ang mga stakeholder para sa halaga ng negosyo nito. Ito masigla tampok na pumipigil sa mga teknikal na utang mula sa pagtaas mula noong makuha ang mga end user ng kasangkot sa proyekto sa isang maagang yugto at maaprubahan ang pag-unlad natupad bilang sa kung tumutugon ito sa kanilang pamantayan, at ay talagang kapaki-pakinabang sa kanila.

Propesyonal na mga koponan sa programming
Ang koponan sa pagbuo ng bumubuo sa base ng lahat ng aktibidad ng pag-unlad sa masigla. Sa maraming mga paraan ito ay ang katigasan ng loob ng buong masigla framework. Ang isang kalyeng functional koponan, nakaranas, at may kakayahang mag-execute ng matagumpay sprints ay maaaring pumunta sa isang mahabang paraan sa paggawa ng matagumpay masigla mga proyekto. Sa maraming tao at masigla kaugnay na mga talakayan catering higit sa lahat sa may-ari ng produkto at ang maraming tao master, ito ay pare-parehong mahalagang pag-usapan ang koponan sa pagbuo nang walang kung saan, ang pagkakaroon ng PO at maraming tao master naging kalabisan. Ang pagiging produktibo na inaalok ng mga koponan sa pagbuo ng direktang nakakaapekto sa tagumpay ng proyekto. Kung ang koponan ay mahusay collaborated, pagbabahagi ng mga opinyon at mga view, at pakiramdam ng mga kumportableng pagdala out ang araw-araw sprints, magiging humantong sa maaasahan at pare-parehong paglakas ng produkto. Isa sa mga pangunahing isyu kung bakit nabigo upang makapaghatid ng shippable mga kwento ng user ang koponan ay na ang mga koponan madalas loses tumuon kapag nahaharap sa mga problema sa teknikal at nahahanap nito mahirap upang makahanap ng katanggap-tanggap na solusyon. Ang isa pang mahalagang kadahilanan na nakakaapekto ang pagtanggap ng mga kuwento na binuo ng koponan ay isang kakulangan ng malinaw na pag-unawa kung ano talaga Inaasahan ng mga end user mula sa mga tampok ng produkto. Ito ay napaka-pangkaraniwan para sa mga koponan upang bumuo ng mga tampok na kung saan ay tinanggihan ng mga end user pagkatapos ng software na ito ay matatagpuan lamang dahil nabigo ito upang gumana sa paraang kaya ninanais. Sa katotohanan ang koponan ay hindi sa isang kasalanan dahil sinusunod nito ang plano sa pag-unlad. Ang sitwasyong ito ay napaka-karaniwan sa mga kaso ng Waterfall mga pamamaraan na kung saan ay natupad ang aktibidad ng pag-unlad sa yugto.

Nag-aalok masigla maaasahan at napapanahong puna na tumutulong sa mga koponan upang maunawaan ang mga kinakailangan gumagamit ng pagtatapos at isakatuparan ang aktibidad ng pag-unlad alinsunod sa mga feedback na natanggap mula sa mga stakeholder at ang mga end user. Kung ang pag-andar ay hindi masunod ang mga end user, ito ay tinanggihan at kinuha up para sa pagbuo muli pa. Ito lubos na kumokontrol sa pagtaas sa mga teknikal na utang dahil ang pag-unlad ay "hinamon" kaagad pagkatapos na ito ay natupad, at mga kwento ng user ay hindi makakuha ng ipinakalat na binuo muli sa paglaon.

Mag-subscribe sa mga permanenteng libreng bersyon ng Quickscrum tool sa pamamahala ng proyekto upang makakuha ng ideya tungkol sa kung paano gumagana ang tool at kung ano ito ay mag-alok.
 

วิธีเปรียว "ว่องไว" สามารถนำไปสู่​​โครงการไอทีประสบความสำเร็จอะไร

บริษัท พัฒนาไอทีและองค์กรที่ได้รับการใช้เปรียวจะเพิ่มขึ้นกิจกรรมการพัฒนาของพวกเขาและส่งมอบโครงการเวลาผูกพัน ณ วันที่ในวันนี้กรอบเปรียวเป็นที่นิยมใช้เพื่อลดหนี้ทางเทคนิคและการควบคุมการถดถอย กรอบมีคุณสมบัติที่ผ่านการเพิ่มขึ้นของผลิตภัณฑ์สามารถ availed บนพื้นฐานที่สอดคล้องและเรื่องราวของผู้ใช้จะถูกส่ง shippable ที่ส่วนท้ายของการแสดงการวิ่ง ขณะที่มากได้รับการกล่าวถึงเกี่ยวกับการส่งมอบในเปรียว, การส่งมอบงานที่สำคัญที่สุดคือข้อผิดพลาดที่ปล่อยฟรีซอฟแวร์การทำงานที่สร้างขึ้นโดยใช้รหัสที่สร้างขึ้นอย่างดี - "ฐานรหัส" มันเป็นสิ่งสำคัญมากที่จะส่งมอบคุณค่าของโครงการที่ต้องการผ่านการออกแบบมาอย่างดีตรรกะและรหัสข้อผิดพลาดฟรี ในการต่อสู้เปรียวข้ามทีมพัฒนาทำงานควรแสดงคุณธรรมเช่นความรับผิดชอบนิยมเป็นมืออาชีพและความภาคภูมิใจแม้ในขณะที่การส่งมอบการผลิตในช่วงที่ลมพัดในชีวิตประจำวัน ค่าเหล่านี้จะช่วยในการตรวจสอบทางเทคนิคหนี้และเพิ่มค่าทางธุรกิจที่เกี่ยวข้องกับเรื่องที่ผู้ใช้

ขอบเขตและประเภทของโครงการซอฟต์แวร์ที่สามารถพัฒนาโดยใช้การแย่งชิงกัน
ในขณะที่พูดคุยใด ๆ โครงการไอทีตามความต้องการของการพัฒนาซอฟต์แวร์และขอบเขตของขั้นตอนการพัฒนาโครงการโดยทั่วไปยังคงเหมือนเดิมและไม่เปลี่ยนแปลงมากโดยไม่คำนึงถึงประเภทของโครงการซอฟต์แวร์ได้รับการพัฒนาชนิดที่แตกต่างกันของโครงการที่สามารถพัฒนาโดยใช้การแย่งชิงกัน ได้แก่
  • ลูกค้าเซิร์ฟเวอร์โปรแกรม / ระบบ
  • สแตนด์อโลนโปรแกรม / ระบบ
  • HTML / DHTML / XHTML, ASP, PHP, Joomla และ DotNetNuke เว็บตามการพัฒนาเว็บไซต์ / portal
  • Java, VB สคริปต์หรือสคริปต์การพัฒนาอื่น ๆ
  • Android / Symbian / iOS หรืออื่น ๆ การพัฒนาแอพพลิเคมือถือและอื่น ๆ

ดังนั้นจึงเป็นสิ่งที่สามารถเพิ่ม "ความคล่องตัว" ในเปรียวและส่งมอบโครงการซอฟต์แวร์ที่ประสบความสำเร็จ

รหัสออกแบบมาอย่างดีและสร้างขึ้นมา
ส่วนใหญ่ บริษัท ไอทีรู้สึกว่าในชีวิตจริงมันเป็นไปไม่ได้อยู่ใกล้หรือยากมากที่จะพัฒนาข้อผิดพลาดรหัสฟรีที่นำเสนอฟังก์ชั่นที่แข็งแกร่งไปยังผู้ใช้ บริษัท ไอทีมีแนวโน้มที่จะพัฒนาโครงการภายใต้เงื่อนไขที่เกี่ยวข้องกับความเครียดมากและมันเป็นสิ่งสำคัญเพื่อให้ตรงกับวันที่เปิดตัวและกำหนดเวลาของลูกค้า ทีมพัฒนาในกรณีส่วนใหญ่มุ่งเน้นอย่างมากเมื่อจบโครงการดีภายในกำหนดเวลาที่กำหนดไว้และนี้จะกลายเป็นจุดสนใจหลักของกิจกรรมการพัฒนาของพวกเขา รีบเร่งในการพัฒนาโครงการมักจะออกน้อยมากในการทดสอบคุณสมบัติซอฟต์แวร์และการทำงานในลักษณะที่เหมาะสม นี้นำไปสู่​​หนี้ทางเทคนิค บริษัท อาจต้อง "ดึงกลับ" ปล่อยซอฟต์แวร์หากคุณสมบัติหลักล้มเหลวที่จะทำงานอย่างถูกต้องและสามารถนำไปสู่​​การพัฒนาค่าโสหุ้ยป่อง ถ้าอีกครั้งการพัฒนายังคงล้มเหลวในการส่งมอบคุณค่าโครงการไปยังผู้ใช้หนี้ทางเทคนิคคงเพิ่มขึ้น ถ้าไม่ตรวจสอบก็อาจเป็นไปไม่ได้ที่จะควบคุมหนี้ทางเทคนิคและการกู้คืนค่าใช้จ่ายในการพัฒนาโครงการ

เปรียวจะช่วยในการลดหนี้ทางเทคนิคและการควบคุมการถดถอย เมื่อการทำงานในรูปแบบของเรื่องราวที่ผู้ใช้จะได้รับการพัฒนาโดยทีมงานที่จะมีการทดสอบอย่างกว้างขวางเกี่ยวกับเกณฑ์การยอมรับที่เชื่อมโยงกับมัน ย้อนหลังในระหว่างการวิ่งเจ้าของผลิตภัณฑ์ ascertains การพัฒนาที่เกี่ยวกับคำนิยามของ "เสร็จ" และ okays เรื่องถ้ามันตอบสนองเกณฑ์ ดังนั้น "shippable" และข้อผิดพลาดฟรีการทำงานของผลิตภัณฑ์จะถูกส่งผ่านลมพัดเปรียว นี่คือวิธีการถดถอยเป็นหลักที่ใช้เปรียว นอกจากนี้การพัฒนาวิ่งจะดำเนินการตามข้อเสนอแนะ availed จากผู้ใช้และผู้มีส่วนได้เสีย ทีมพัฒนาสามารถที่จะมุ่งเน้นให้กับการทำงานหลักขณะที่การพัฒนาเรื่องที่ผู้ใช้ นี้โดยตรงและทางอ้อมจะช่วยตรวจสอบหนี้ทางเทคนิคและเก็บไว้ในการควบคุม

ข้อเสนอแนะในช่วงต้นและเชื่อถือได้
เปรียวความต้องการของต้นและข้อเสนอแนะที่มีความน่าเชื่อถือในการผลิตที่เพิ่มขึ้นของผลิตภัณฑ์ที่ประสบความสำเร็จ ข้อเสนอแนะที่ควรจะสอดคล้องกัน หนึ่งในสาเหตุหลักของความกังวลในการพัฒนาไอทีคือการมีความคิดเห็นที่สอดคล้องกันและมีความน่าเชื่อถือจากผู้ใช้ การพัฒนาดำเนินการอาจจะถูกทดสอบคุณภาพที่เข้มงวดและมาตรฐาน แต่เมื่อปล่อยจะนำไปใช้กับผู้ใช้ในตลาดที่พวกเขามักจะอาจโต้แย้งเกี่ยวกับธรรมชาติของการทำงานที่นำเสนอ การทำงานอาจจะมีการออกแบบอย่างถูกต้อง แต่ก็ยังไม่สามารถส่งมอบสิ่งที่ผู้ใช้จริงอาจต้องการหรือจำเป็นต้อง ถ้าเช่นเป็นกรณีที่ความผิดไม่ได้อยู่กับทีมพัฒนา มันจริงที่อยู่ในวิธีที่คุณลักษณะเฉพาะหรือการทำงานเป็นที่เข้าใจและมองเห็นภาพโดยเจ้าของผลิตภัณฑ์ ผลที่ได้คือการเพิ่มขึ้นของหนี้ทางเทคนิคตั้งแต่เรื่องเดียวกันจะต้องนำมาพัฒนาให้สอดคล้องกับความต้องการที่แน่นอนการแนะนำโดยผู้ใช้

ข้อเสนอแนะในช่วงต้นเปรียวป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ เมื่อการทำงานโดยเฉพาะอย่างยิ่งมีการพัฒนาในรูปแบบของเรื่องที่ผู้ใช้โดยทีมงานที่ได้รับการอนุมัติโดย ปณ. ในระหว่างการประชุมย้อนหลัง (การประชุมย้อนหลังวิ่ง), ผู้ตรวจสอบมันและ ascertains ไม่ว่าจะเป็นเสียงเทคนิคคือมันสอดคล้องกับการยอมรับ เกณฑ์ ต่อจากนั้นผู้มีส่วนได้เสียตรวจสอบการทำงานได้รับการอนุมัติโดย PO และตรวจสอบให้แน่ใจมูลค่าทางธุรกิจของตนเช่นเท่าใดสำคัญเรื่องไปยังผู้ใช้และวิธีการที่มันก่อให้เกิดผลิตภัณฑ์ "คุ้มค่า" เรื่องนี้ถือว่าเป็นจริง "shippable" เท่านั้นหลังจากที่ผู้มีส่วนได้เสียอนุมัติสำหรับมูลค่าทางธุรกิจของ คุณลักษณะที่เปรียวป้องกันหนี้ทางเทคนิคจากการเพิ่มขึ้นตั้งแต่ผู้ใช้มีส่วนร่วมกับโครงการในระยะแรกและอนุมัติการพัฒนาดำเนินการเป็นไปได้ว่าเป็นไปตามเกณฑ์ของพวกเขาและจะเป็นประโยชน์กับพวกเขาแน่นอน

ทีมงานการเขียนโปรแกรมมืออาชีพ
ทีมพัฒนารูปแบบฐานของกิจกรรมการพัฒนาทั้งหมดในเปรียว ในหลาย ๆ วิธีที่มันเป็นหัวใจของกรอบเปรียวทั้งทีมข้ามการทำงานที่มีประสบการณ์และความสามารถในการดำเนินงานที่ประสบความสำเร็จสามารถลมพัดไปทางยาวในการทำโครงการที่ประสบความสำเร็จเปรียว ด้วยการต่อสู้และการอภิปรายที่เกี่ยวข้องเปรียวอาหารส่วนใหญ่จะเป็นเจ้าของผลิตภัณฑ์และต้นแบบการต่อสู้เป็นสิ่งสำคัญอย่างเท่าเทียมกันเพื่อหารือเกี่ยวกับการพัฒนาทีมโดยที่การดำรงอยู่ของ PO และปริญญาโทการต่อสู้จะกลายเป็นฟุ่มเฟือย การผลิตที่นำเสนอโดยทีมพัฒนามีผลโดยตรงต่อความสำเร็จของโครงการ ถ้าทีมที่มีการร่วมมือกันแบ่งปันความคิดเห็นและมุมมองและความรู้สึกสะดวกสบายการดำเนินชีวิตประจำวันลมพัดก็จะนำไปสู่การเพิ่มขึ้นของผลิตภัณฑ์ที่เชื่อถือได้และสอดคล้องกัน หนึ่งในประเด็นหลักที่ว่าทำไมทีมไม่ส่งเรื่องที่ผู้ใช้ shippable คือทีมมักจะสูญเสียความสำคัญเมื่อต้องเผชิญกับปัญหาทางเทคนิคและพบว่ามันยากที่จะหาทางแก้ไขปัญหาที่ยอมรับได้ อีกหนึ่งปัจจัยสำคัญที่มีผลต่อการยอมรับในเรื่องการพัฒนาโดยทีมคือการขาดความเข้าใจที่ชัดเจนเป็นสิ่งที่ผู้ใช้จริงๆคาดว่าจากคุณลักษณะของผลิตภัณฑ์ มันเป็นเรื่องธรรมดามากสำหรับทีมในการพัฒนาคุณสมบัติที่จะถูกปฏิเสธโดยผู้ใช้หลังจากที่ซอฟต์แวร์ที่มีการใช้งานเพียงเพราะมันล้มเหลวในการทำงานในลักษณะที่ต้องการให้ ในความเป็นจริงของทีมไม่เป็นที่ผิดเพราะมันเป็นไปตามแผนพัฒนา สถานการณ์นี้เป็นเรื่องธรรมดามากในกรณีของวิธีการในน้ำตกซึ่งกิจกรรมการพัฒนาจะดำเนินการในขั้นตอน

Agile มีข้อเสนอแนะที่เชื่อถือได้และทันเวลาที่จะช่วยให้ทีมงานที่จะเข้าใจความต้องการของผู้ใช้และดำเนินการกิจกรรมการพัฒนาให้เป็นไปตามข้อเสนอแนะที่ได้รับจากผู้มีส่วนได้เสียและผู้ใช้ หากทำงานไม่ได้ตอบสนองผู้ใช้ที่สุดก็ถูกปฏิเสธและถูกนำตัวขึ้นในการพัฒนาอีกครั้ง นี้จะช่วยควบคุมการเพิ่มขึ้นของหนี้ทางเทคนิคเนื่องจากการพัฒนาคือ "ท้าทาย" ทันทีหลังจากที่มีการดำเนินการและเรื่องที่ผู้ใช้ไม่ได้รับการใช้งานได้รับการพัฒนาอีกครั้งในภายหลัง

สมัครเป็นสมาชิกรุ่น Quickscrum เครื่องมือการบริหารจัดการโครงการฟรีถาวรที่จะได้รับความคิดเกี่ยวกับวิธีการใช้เครื่องมือการทำงานและสิ่งที่มันมีให้
  

Bagaimana Bisa Agile "Agility" Lead Untuk Proyek IT Sukses?

Perusahaan pengembangan IT dan organisasi telah menggunakan Agile untuk meningkatkan kegiatan pembangunan mereka dan memberikan waktu terikat proyek. Seperti pada hari ini, kerangka Agile populer digunakan untuk mengurangi utang teknis dan mengendalikan regresi. Kerangka kerja ini menyediakan fitur di mana peningkatan produk dapat dicairkan secara konsisten dan cerita pengguna shippable disampaikan pada akhir iterasi lari. Sementara banyak telah dibahas mengenai kiriman di Agile, deliverable yang paling penting adalah bug gratis rilis software kerja yang dibangun menggunakan kode dibuat dengan baik - "kode dasar". Hal ini sangat penting untuk memberikan nilai proyek yang diperlukan melalui dirancang dengan baik, logis, dan bebas bug kode. Dalam scrum Agile, tim pengembangan lintas fungsional idealnya menunjukkan kebajikan seperti tanggung jawab, pragmatisme, profesionalisme, dan bahkan kebanggaan sementara memberikan produktivitas selama sprint sehari-hari. Nilai-nilai ini membantu untuk memeriksa utang teknis dan meningkatkan nilai-nilai bisnis yang terkait dengan cerita-cerita pengguna.

Ruang lingkup dan jenis proyek perangkat lunak yang dapat dikembangkan dengan menggunakan Scrum
Ketika mendiskusikan setiap proyek berbasis TI, kebutuhan pengembangan perangkat lunak dan lingkup fase pengembangan proyek umumnya tetap sama, dan tidak banyak berubah terlepas dari jenis proyek perangkat lunak yang akan dikembangkan. Berbagai jenis proyek yang dapat dikembangkan dengan menggunakan Scrum meliputi:
  • Sebuah client-server aplikasi / sistem
  • Sebuah aplikasi standalone / sistem
  • HTML / DHTML / XHTML, ASP, PHP, Joomla, dan DotNetNuke berbasis web pengembangan situs / Portal
  • Java, VB Script, atau pengembangan naskah lain berbasis
  • Android / Symbian / iOS atau pengembangan aplikasi mobile lainnya, dll

Jadi apa yang dapat meningkatkan "kelincahan" di Agile dan memberikan proyek-proyek perangkat lunak yang sukses?

Dirancang dengan baik dan dibuat kode  
Sebagian besar perusahaan IT merasa bahwa secara praktis, dekat tidak mungkin, atau sangat sulit, untuk mengembangkan kode bebas bug menawarkan fungsionalitas yang kuat kepada pengguna akhir. Perusahaan IT cenderung untuk mengembangkan proyek-proyek di bawah kondisi yang berhubungan dengan stres yang ekstrim, dan penting untuk memenuhi tanggal rilis dan tenggat waktu klien. Tim pengembangan, dalam banyak kasus, sangat berfokus pada menyelesaikan proyek dengan baik dalam batas waktu yang ditetapkan, dan ini menjadi fokus utama dari kegiatan pembangunan mereka. Tergesa-gesa dalam mengembangkan proyek tersebut sering membuat sangat sedikit dalam pengujian fitur perangkat lunak dan fungsi dengan cara yang tepat. Hal ini menyebabkan utang teknis. Perusahaan ini bahkan mungkin harus "menarik kembali" rilis software jika fitur inti gagal berfungsi dengan baik, dan hal ini dapat menyebabkan biaya overhead perkembangan kembung. Jika pembangunan kembali masih gagal untuk memberikan nilai proyek kepada pengguna akhir, utang teknis terus meningkat. Jika ini tidak dicentang, mungkin menjadi tidak mungkin untuk mengendalikan utang teknis dan mengembalikan biaya pengembangan proyek.

Agile membantu untuk mengurangi utang teknis dan mengendalikan regresi. Ketika fungsi dalam bentuk cerita pengguna dikembangkan oleh tim, itu secara ekstensif diuji sehubungan dengan kriteria penerimaan terkait dengan itu. Selama kilas balik sprint, pemilik produk mengetengahkan pengembangan sehubungan dengan definisi "Selesai" dan okays cerita bila memenuhi kriteria. Dengan demikian, "shippable" dan bug gratis fungsionalitas produk disampaikan melalui sprint Agile. Ini adalah bagaimana regresi terutama ditangani dengan menggunakan Agile. Selain itu, pembangunan sprint dilakukan berdasarkan umpan balik penarikan dari pengguna akhir dan stakeholder. Tim pengembangan mampu fokus pada menyediakan fungsionalitas inti ketika mengembangkan cerita pengguna. Hal ini secara langsung, dan tidak langsung, membantu untuk memeriksa utang teknis dan tetap dalam kontrol.

Umpan balik awal dan dapat diandalkan  
Agile kebutuhan awal dan umpan balik yang dapat diandalkan untuk menghasilkan peningkatan produk yang sukses. Umpan balik ini juga harus konsisten. Salah satu penyebab utama yang menjadi perhatian dalam pengembangan IT adalah tersedianya umpan balik yang konsisten dan dapat diandalkan dari pengguna akhir. Pengembangan yang dilakukan dapat dikenakan kualitas yang ketat dan patokan tes. Namun, ketika rilis yang dikirim ke pengguna akhir di pasar, mereka mungkin sering berdebat mengenai sifat dasar dari fungsi yang ditawarkan. Fungsionalitas dapat dirancang dengan baik, tapi masih gagal untuk memberikan apa yang pengguna akhir dapat benar-benar menginginkan atau membutuhkan. Jika demikian halnya, kesalahan tidak terletak dengan tim pengembangan. Ini sebenarnya terletak pada cara fitur tertentu atau fungsi dipahami dan dibayangkan oleh pemilik produk. Hasilnya adalah peningkatan utang teknis, karena cerita yang sama ini harus dikembangkan kembali sesuai dengan persyaratan yang tepat yang disarankan oleh pengguna akhir.

Umpan balik awal di Agile mencegah hal ini terjadi. Ketika fungsi tertentu dikembangkan dalam bentuk cerita pengguna dengan tim, disetujui oleh PO selama sesi retrospektif (pertemuan kilas balik sprint), yang memeriksa itu, dan memastikan apakah secara teknis suara yakni memenuhi penerimaan kriteria. Selanjutnya, para pemangku kepentingan meninjau fungsi disetujui oleh PO, dan memastikan nilai bisnisnya yaitu berapa banyak yang penting cerita ini kepada pengguna akhir dan berapa banyak kontribusi untuk produk "layak". Cerita ini benar-benar dianggap sebagai "shippable" hanya setelah para pemangku kepentingan menyetujuinya untuk nilai bisnisnya. Fitur Agile ini mencegah utang teknis dari peningkatan sejak pengguna akhir terlibat dengan proyek pada tahap awal dan menyetujui pembangunan dilakukan, apakah itu memenuhi kriteria mereka, dan memang berguna bagi mereka.

Tim pemrograman Profesional  
Tim pengembangan membentuk dasar dari semua aktivitas pembangunan di Agile. Dalam banyak hal itu adalah tulang punggung dari seluruh kerangka Agile. Sebuah tim lintas fungsional, berpengalaman, dan mampu melaksanakan sprint sukses dapat pergi jauh dalam membuat proyek Agile sukses. Dengan Scrum dan Agile diskusi terkait katering terutama untuk pemilik produk dan master scrum, adalah sama penting untuk membahas tim pengembangan tanpanya, keberadaan PO dan scrum Master menjadi berlebihan. Produktivitas yang ditawarkan oleh tim pengembangan langsung mempengaruhi keberhasilan proyek. Jika tim ini bekerja sama dengan baik, pendapat saham dan pandangan, dan merasa nyaman melakukan sprint sehari-hari, hal itu akan menyebabkan kenaikan produk yang handal dan konsisten. Salah satu isu utama mengapa tim gagal untuk memberikan cerita pengguna shippable adalah bahwa tim sering kehilangan fokus ketika menghadapi masalah teknis dan merasa sulit untuk menemukan solusi yang dapat diterima. Faktor lain yang penting yang mempengaruhi penerimaan cerita yang dikembangkan oleh tim adalah kurangnya pemahaman yang jelas tentang apa yang pengguna akhir benar-benar mengharapkan dari fitur produk. Hal ini sangat umum bagi tim untuk mengembangkan fitur yang ditolak oleh pengguna akhir setelah perangkat lunak ini digunakan hanya karena gagal berfungsi dengan cara yang diinginkan. Pada kenyataannya tim tidak bersalah karena mengikuti rencana pembangunan. Skenario ini sangat umum dalam kasus metode Waterfall di mana aktivitas pembangunan dilakukan secara bertahap.   

Agile menawarkan umpan balik yang dapat diandalkan dan tepat waktu yang membantu tim untuk memahami kebutuhan pengguna akhir dan melaksanakan kegiatan pembangunan sesuai dengan umpan balik yang diterima dari para pemangku kepentingan dan pengguna akhir. Jika fungsi tersebut tidak memenuhi pengguna akhir, itu ditolak dan diambil untuk pembangunan lagi. Hal ini sangat mengontrol peningkatan utang teknis karena pembangunan yang "menantang" segera setelah itu dilakukan, dan cerita pengguna tidak bisa dikerahkan untuk dikembangkan lagi di kemudian hari.

Berlangganan versi gratis permanen Quickscrum alat manajemen proyek untuk mendapatkan ide tentang bagaimana alat bekerja dan apa yang ditawarkan.   

Monday 7 July 2014

How Can Agile “Agility” Lead To Successful IT Projects?

IT development companies and organizations have been using Agile to boost up their development activity and deliver time bound projects. As on today, Agile framework is popularly used to reduce technical debt and control regression. The framework provides features through which product increments can be availed on a consistent basis and shippable user stories are delivered at the end of sprint iterations. While much has been discussed about the deliverables in Agile, the most important deliverable is a bug free working software release built using well crafted code – the “code base”.  It is very important to deliver the required project value through well designed, logical, and bug free code.  In Agile scrum, the cross functional development team should ideally exhibit virtues such as responsibility, pragmatism, professionalism, and even pride while delivering the productivity during the daily sprints. These values help to check technical debt and enhance the business values associated with the user stories.
 

The scope and types of software projects that can be developed using Scrum
While discussing any IT based project, the software development requirements and the scope of project development phases generally remain the same, and do not change much irrespective of the type of software project to be developed. The different types of projects that can be developed using Scrum include:

  • A client-server application/system
  • A standalone application/system
  • HTML/DHTML/XHTML, ASP, PHP, Joomla, and DotNetNuke web based site/portal development   
  • Java, VB Script, or any other script based development
  • Android/Symbian/iOS or any other mobile apps development, etc.

So what is it that can increase the “agility” in Agile and deliver successful software projects?
 
Well designed and crafted code
Most IT companies feel that on a practical basis, it is near to impossible, or very difficult, to develop bug free code offering robust functionality to the end users. IT companies tend to develop projects under extreme stress related conditions, and it is important to meet the release dates and client deadlines. The development team, in most cases, focuses heavily upon completing the project well within the stipulated deadline, and this becomes the core focus of their development activity. The haste in developing the project often leaves very little in testing the software features and functionality in a proper manner. This leads to technical debt. The company may even have to “pull back” the software release if the core features fail to function properly, and this can lead to bloated developmental overheads. If the re-development still fails to deliver the project value to the end users, the technical debt keeps on increasing. If this is not checked, it may become impossible to control technical debt and recover the project development costs. 
 
Agile helps to reduce technical debt and control regression. When functionality in the form of user stories is developed by the team, it is extensively tested with respect to the acceptance criteria linked with it. During the sprint retrospective, the product owner ascertains the development as regards the definition of “Done” and Okays the story if it fulfills the criterion. Thus, “shippable” and bug free product functionality is delivered through Agile sprints. This is how regression is primarily addressed using Agile. In addition, the sprint development is carried out based upon the feedback availed from the end users and stakeholders. The development team is able to focus upon providing the core functionality while developing the user stories. This directly, and indirectly, helps to check technical debt and keep it in control.  

Early and reliable feedback
Agile needs early and reliable feedback to produce successful product increments. The feedback should also be consistent. One of the main causes of concern in IT development is the availability of consistent and reliable feedback from the end users. The development carried out may be subjected to stringent quality and benchmark tests. However, when the release is deployed to the end users in the market, they may often argue regarding the nature of functionality offered.  The functionality may be properly designed, but still fail to deliver exactly what the end user may actually desire or need. If such is the case, the fault does not lie with the development team. It actually lies in the way the particular feature or functionality is understood and envisioned by the product owner. The result is an increase in technical debt, since the same story is required to be re-developed in accordance to the exact requirements suggested by the end users.  
 
Early feedback in Agile prevents this from happening. When a particular functionality is developed in the form of a user story by the team, it is approved by the PO during the retrospective sessions (the sprint retrospective meeting), who checks it, and ascertains whether it is technically sound i.e. it satisfies the acceptance criteria. Subsequently, the stakeholders review the functionality approved by the PO, and ascertain its business value i.e. how much important the story is to the end user and how much it contributes to the product’s “worth”. The story is actually considered as “shippable” only after the stakeholders approve it for its business value. This Agile feature prevents technical debt from increasing since the end users get involved with the project at an early stage and approve the development carried out as to whether it meets their criteria, and is indeed useful to them.
 
Professional programming teams
The development team forms the base of all development activity in Agile. In many ways it is the backbone of entire Agile framework. A cross functional team, experienced, and capable of executing successful sprints can go a long way in making Agile projects successful. With Scrum and Agile related discussions catering mainly to the product owner and the scrum master, it is equally important to discuss the development team without which, the existence of the PO and scrum master becomes superfluous. The productivity offered by the development team directly affects the success of the project. If the team is well collaborated, shares opinions and views, and feels comfortable carrying out the daily sprints, it would lead to reliable and consistent product increment. One of the main issues why the team fails to deliver shippable user stories is that the team often loses focus when faced with technical problems and finds it difficult to find acceptable solutions. Another important factor affecting the acceptance of stories developed by the team is a lack of clear understanding as to what the end user really expects from the product features. It is very common for the team to develop features which are rejected by the end users after the software is deployed simply because it fails to function in the manner so desired. In reality the team is not at a fault because it follows the development plan. This scenario is very common in case of Waterfall methods in which the development activity is carried out in stages.
 
Agile offers reliable and timely feedback which helps the team to understand the end user requirements and carry out the development activity in accordance to the feedback received from the stakeholders and the end users. If the functionality does not satisfy the end users, it is rejected and taken up for development afresh. This greatly controls the increase in technical debt since the development is “challenged” immediately after it is carried out, and user stories do not get deployed to be developed again later on. 

Subscribe to the permanent free version of the Quickscrum project management tool to get an idea about how the tool works and what it has to offer.