Category Software Development

4+1 architectural view model กับมุมมองของธุรกิจ

พอดีหัวหน้าให้เอา Framework ใหม่ที่มาใช้แทน Legacy System ไปลองนำเสนอกับ Consult ของบริษัทดูครับ เค้าก็ถามหลายเรื่องเลยครับ และบอกให้นำเรื่อง 4+1 architectural view model  มาใช้ในการนำเสนอครับ โดยนำเสนออย่างไร และตอบโจทย์อะไร ลองดูกันได้เลยครับ 4+1  มีอะไรบ้างหละ architectural view model User view – Use Case Process view – Activity diagram, Sequence Diagram Development view – Component diagram Logical view – Class diagram…

Technical Debt ไม่ได้เกิดจาก Developer อย่างเดียว !!!

ภาพจากเว็บ http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt

วันนี้น่าจะเป็นวันที่ผ่านมากับ 1 ปี กับ อีก 6 เดือน สำหรับงานที่เข้ามาทำ BOTDMS – DataSet เป็น Module ที่เหมือนถูกทิ้งไว้กลางทาง หลายคนอาจจะส่งสัยว่าทำไมผมเขียน Blog ตอนนี้ขึ้นมา โดยที่ผมอยากเขียน เพราะอยากแชร์ประสบการณ์ครับ ถ้าเป็นเมื่อ 2-3 ปีก่อน ผมมองว่าเรื่อง Technical Debt มันเกี่ยวกับตัว Developer เป็นหลัก แต่หลังจากทำงานที่เรียกว่าเป็น Full-Stack ก็ได้ หลังจากทำงานนี้มา มุมมองของคำว่า “Technical Debt” ของผมเปลี่ยนไปมาก ผมว่าหนี้พวกนี้ ไม่ได้เกิดจากความมักง่ายของ Developer แต่เกิดจากทุกๆคนที่ทำงานร่วมกัน ทำไมหละ…

[ATH2016] สรุปงาน Agile Thailand 2016

วันนี้งานฟรีอีกแล้วครับ งาน Agile Thailand 2016 ที่ CP Tower (GoSoft) ชั้นที่ 11 ครับ โดยสำหรับคนที่มางานครั้งแรก Theme งานเป็น Open Space ครับ คือ มีสถานที่ให้ใครอยากแชร์อะไร มาแปะที่ Board ครับ แล้วมา Discuss ครับ ส่วนตัวอยากให้มีคน Update ลง Google Spreadsheet ด้วย เพราะบางทีมันเปลี่ยนห้องกัน และลายมือบางคนแอบอ่านยากครับ แต่ก็สงสัยนะว่าวันจัดงานของปี 2015 กับ 2016 จัดวันที่ 9 เหมือนกัน…

[ATH2016] BDD with Cucumber มันไม่ง่าย แต่เริ่มได้

หัวข้อ BDD with Cucumber เป็นอีกเรื่องที่แตกมาจาก Blog หลักครับ สรุปงาน Agile Thailand 2016  โดยเรื่องนี้ Speaker คือ คุณ Tanjai ครับ สำหรับตอนนี้ DD เยอะแยะเลย มีทั้ง TDD, ATDD และ BDD เป็นต้นครับ โดยของพวกนี้มีมาเพิ่มตรวจสอบความถูกต้องครับ เจ้า ตัว BDD หรือ Behavior Driven Development มาตรวจสอบความถูกต้องระหว่าง Business Test, Technical Test และ Test Case ตรงกัน หรือไม่?…

[ATH2016] Good Transformation Coach

สำหรับตอนนี้ Good Transformation Coach โดยคุณ อุรณเทพ (พี่กัน) ครับ Blog อันนี้แตกมาจาก สรุปงาน Agile Thailand 2016 ครับ เป็น Session พิเศษครับ ต่อจากหัวข้อ Agile Transformation เพราะห้องอื่นเต็มหมดครับ โดยการเป็น Coach หรือ Manager ที่ดี ต้องมีความสามารถเหล่านี้ แต่มันไม่สามารถอ่านจากหนังสือได้ ต้องสะสมประสบการณ์ เก็บเกี่ยวไปสักพักนึงครับ โดยมีทั้งหมด 10 ข้อ ดังนี้ They have an uncanny ability to…

[ATH2016] Installing & Self-Management

ฺBlog ตอนนี้ผมแตกมาจาก สรุปงาน Agile Thailand 2016 ครับ จะได้ไม่อ่านกันยาก บทความได้ไม่ยาวเกินไปและเฉพาะเรื่องด้วย เข้าเรื่องเลยดีกว่าครับ หัวข้อ Installing & Self-Management โดยคุณ Verokas ได้เสนอประเด็นที่ว่าปัจจุบันการทำงานในชีวิตจริง การจัดงานโครงการต่างๆ มันขึ้นอยู่กับ Project Manager คนเดียว ที่มีคนอำนาจสั่งการ จัดการ ตัดสินใจ บางครั้ง ปัญหาบางเรื่องมันคอขวดที่ PM คนเดียวครับ (Centralization) มาเป็นการกระจายอำนาจ การจัดการต่างๆ (Decentralization) ลงไปเป็นลำดับชั้นไปรากหญ้าครับ แล้วรากหญ้า คือ ใคร เป็น Manager, Senior Dev หรือป่าว ? ไม่ใช่ครับ พยายามกระจายให้ลงไปยังรากหญ้าจริงๆ…

[ATH2016] Agile Transformation

สำหรับตอนนี้ Agile Transformation โดยคุณ อุรณเทพ (พี่กัน) ครับ Blog อันนี้แตกมาจาก สรุปงาน Agile Thailand 2016 ครับ การเปลี่ยนองค์การ หรือบริษัทให้มาใช้ Agile เราใช้ Agile ได้สิ่งที่เราต้องรู้ คือ ถ้านำ Agile มาใช้ เราต้องรู้จักคนก่อน โดยใช้เมตริกซ์ DISC มาดูที่แกนต่างๆกันก่อน ตอนบรรยายพี่กันให้ทุกคนคิดว่าตัวเองเป็นแบบไหน และเลือกฝั่งครับ แบ่งคนเป็นกลุ่ม 4 กลุ่ม ดังนี้ครับ Type Key Desription Remark D(Dominant) What Active-Questioning ตั้งคำถามเยอะ…

[ATH2016] CMMI – Waterfall – Agile – Scrum

Blog นี้ ผมแตกประเด็นมาจาก สรุปงาน Agile Thailand 2016 โดยในตอนนี้ ผมขอรวม Slot 2 อัน ในช่วงเช้า เข้าด้วยกันเลยครับ โดยมีของ SPI – CMMI vs Agile ของคุณ นิ้ง Agile & Scrum. How to get start ของคุณ ปลา ครับ ก่อนที่เราเข้าประเด็นกัน สิ่งที่เราต้องรู้กันก่อนคำศัพท์ แต่ละคำ คือ อะไร ครับ CMMI (Capability  Maturity  Model…

การทำหรือเผา Data Dictionary ที่มีประสิทธิภาพ

ตอนนี้โปรเจคที่ผมกำลังเข้าช่วงโค้งสุดท้ายในการลงนาม ตรวจรับ สิ่งที่สำคัญที่สุด คือ การเผา เอกสารครับ ตอนนั้นมีเอกสารในส่วนของฐานข้อมูล ผมขอเรียกมันว่า Data-Dict นะครับ ตอนแรกทีมที่ทำก็อึ้งๆ เนื่องจากโปรแกรมมีมานานและ 20 กว่าปี แต่ไม่เคยมี Data-Dict ที่สมบูรณ์สักที ทำไมทำมาได้ 1100 Table เพราะ มีหนี้ทางเทคนิค Technical Debt ที่เกิดจาก แต่งาน Customize เสริมยังดีที่มีการทำ Data-Dict มาแล้ว ก่อนตะแก้ปัญหา เราต้องดูก่อนว่ามี Resource อะไรบ้าง สิ่งที่ต้องทำ เผา Data Dictionary  ทันใน 1…

Inversion of Control (IoC)

Inversion of Control หรือ IoC มันเป็นจุดขายของตัว Spring Framework จนหลายๆเจ้าเอาไปปรับใช้เข้ากับ Product ของตัวเองครับ (Microsoft ASP.NET MVC ก็ใช้นะ) ก่อนจะไปใช้กัน เรามารู้กัดีกว่า เจ้าตัว Inversion of Control หรือ IoC มัน คือ อะไรครับ Inversion of Control หรือ IoC คือ อะไร มีประโยชน์อย่างไร มันมีมาเพิ่มลดความผูกแน่นติดกันของ Object ครับ ตาม Quote นี้เลย Do…