Category Software Development

Lehman Laws of Software Evolution

ช่วงนี้ต้องอ่าน Paper เตรียมนำเสนออาจารย์ แต่อ่านไปอ่านมา มันก็ไปอ้างอิง Paper อื่นๆด้วย เลยเอามาสรุปไว้ใน ฺBlog ดีกว่า กฎแห่งการเปลี่ยนแปลงอย่างต่อเนื่อง  (Law of Continuing Change:1974) An E-type program that is used must be continually adapted else it becomes progressively less satisfactory. Software ต้องมีการปรับเปลี่ยนแก้ไข ตลอดช่วงเวลาที่ใช้งาน (Software Life Cycle) จนกระทั่งเลิกใช้ อาจจะมีการเปลี่ยน Version…

Interface 500 ปี

ช่วงนี้หลังจากที่เรียนโท เสาร์ อาทิตย์แล้ว ดึกผมยังมี Job พิเศษ ที่ผมไม่อยากทำเลยครับ คือ นอนเฝ้า Database ครับ หลายคนอาจจะสงสัยทำไมต้องนอนเฝ้าหละ ของเล่า Timeline ก่อน 2017-01-19 : ระบบแจ้ง IBM SQL0968C The file system is full. SQLSTATE=57011 ผมเข้าไป Clear Log ให้นะครับ 2017-01-20: Log เต็มอีกแล้วเหรอ ผมเริ่มสงสัยและมันต้องมีอะไรแปลกๆแน่ๆ เลย Export Log กลับมาดู 2017-01-21: เรียน…

[RECAP] BOTDMS Module

จบไปแล้วสำหรับ Module BOTDMS (DataSet กับ DataFile) ที่ผมรับผิดชอบอยู่ มาสรุปดีกว่า ว่ามันมีอะไรที่ควรบันทึก ทั้งจุดเด่น และจุดด้อยครับ จุดเด่น จุดด้อยที่ควรปรับปรุง ตอนนี้เข้าสู่ช่วง MA เรียบร้อย น่าจะมีการ Change จากการลอง Test บน Production แต่ไม่ยอมแจ้งตอนเก็บ Requirement

Control Hierarchy และ Fan-in กับ Fan-out คือ อะไร ?

คำนี้ผมเพิ่งได้ยินจากจากการเรียนปริญญาโทครับ โดยในคาบเรียบอาจารย์ให้แบ่งกลุ่ม และลองศึกษา Keyword ต่างๆ ประมาณ 20 นาที แล้วมานำเสนอครับ ของกลุ่มผมมี 3 คำครับ (เดี๋ยวมาอธิบายต่อไปเลย) Control Hierarchy คือ อะไร ? เป็นแผนภาพที่แสดงโครงสร้างของระบบ โดยมองในมุมของ Components (ผมเข้าใจว่ามองลงได้ถึงในระดับ Class/Method ได้นะ) ว่ามี Components มีความสัมพันธ์กับ Module อื่นๆ อย่างไร จากแผนภาพตรงนี้ เรามาค้นหาความสัมพันธ์ที่ซ่อนในโครงสร้างนี้กัน Fan-in & Fan-out คือ อะไร ? – ความหมาย – ทำไมต้องมาดู Fan-in & Fan-out…

[SA] ลองใช้งาน MVP Design Pattern ตอนที่ 2 (Workshop)

ถ้าใครมาอ่าน Blog ตอนแรก คงมีงงกันบ้างแหละ ลองใช้งาน MVP Design Pattern ตอนที่ 1 กับตอนที่ 2 เป็น App ตัวอย่างมันห่างกัน เกือบๆ 2 ปีครับ หลังจากติด Project มา 2 ชิ้นติดๆ เพิ่งจะมีเวลาหายใจได้สัก 3 สัปดาห์ ก่อนเริ่มเรียนปริญญาโท สำหรับ Application ที่ผมทำเป็น Windows Application ที่ใช้ในองค์กรครับ โดยมี Feature เด่นๆ จัดการ Enviroment ของแต่ละ Site จัดการ COM…

เรื่องวุ่นๆของการใช้กรรม

ภาพจาก https://commons.wikimedia.org/wiki/File:John_Lavery_-_IWM_War_Room.jpg

สำหรับคนที่ทำงานด้าน Software ที่ประจำการอยู่กับ Software House แล้วยิ่งมี Product ของตัวเองแล้ว คงรู้จักคำกลุ่มๆ ใช้กรรม เข้าเซ้ง หรืออะไรก็แล้วแต่ เอาง่ายดีกว่า เดี๋ยวคนอื่นที่มาอ่านจะงงกัน มัน คือ การอยู่เวร ในทีม MA เพื่อทำหน้าที่ Support เหล่า User ที่เกิดปัญหาครับ โดย Step ทั่วไปของการทำงาน User เจอปัญหา ติดขัดบางอย่าง จากนั้นแจ้งเข้าบริษัททีม Customer Support (CS) มารับหน้าไว้ ทีม Customer Support พยายามจัดการปัญหาให้ได้มากที่สุดครับ ถ้ามันเกินกำลังจริงๆ…

Artefact vs. Artifact

พอดีได้อ่านบทความนึงที่เกี่ยวกับ Software Engineering เจอคำศัพท์ที่น่าสนใจครับ “Artefact” คำนี้ไม่คุ้นเลยย ตอนที่ใช้ Hudson กับ Jenkins เจอแค่คำนี้ “Artifact” แล้ว 2 คำนี้มันแตกต่างกันอย่างไรหละ ในแง่ของภาษาเขียนกันก่อน Artefact – เป็น British Spelling Artifact – เป็น American Spelling ในแง่ของความหมายหละ เหมือนกันครับ an object shaped by human workmanship, especially one of historical or archaeological interest …

Rewrite code is Refinance !!!

Blog นี้พยายามเขียนเป็น 2 ภาษา แม้ว่าผมจะรู้ภาษาอังกฤษแค่งูๆปลาๆนะครับ เข้าเรื่องเลยดีกว่าลองมาดูคำศัพที่คิดว่าควรรู้กันก่อน Rewrite code – การเขียน Code ใหม่ Refinance – การกู้เงินจากธนาคาร พอผ่านไปสักระยะเราตัดสินใจกู้เงินมาจากธนาคารอีกแห่ง เพื่อเอาไปโป๊ะหนี้ก้อนเดิมครับ ทำไมต้อง Refinance มีสิ่งจูงใจครับ ไม่ว่าจะเป็นดอกเบี้ย ระยะเวลาที่ยาวนานขึ้น หรือ เพิ่มวงเงินที่กูได้ แล้ว Refinance มันไปเกี่ยวกับ Rewrite code ยังไง ? ลองคิดดูทำไมเราต้องเขียน Code ใหม่หละ ? เปลี่ยนเทคโนโลยี เช่น VB6 ไปเป็น MS.NET หรือ…

Agile Bangkok Open space Krungthai-AXA (2016)

สำหรับงานนี้ผมก็ตัดสินใจมางานนี้ น่าจะเกือบวันสุดท้ายเลยมั้ง ตอนนั้นยังมีงานที่ค้างอยู่ แต่ก็ตบตีมันจนขึ้นมาได้ มาเข้าเรื่องดีกว่า งานนี้จัดที่ตึก G-Tower เป็นตึกที่สร้างยังไม่เสร็จดี ใหม่กิ้งๆ แต่วิวที่ชั้น 26 สวยมากครับ (เริ่มอยากทำงานที่ตึกสูงๆ เลยฮ่าๆ) ในงานมี 2 Concept และกันครับ Lean coffee มัน คือ อะไรหละ – การ Meeting แบบหนึ่งครับ โดยมีขั้นตอน หัวข้อเขียน Post-it มาแปะที่ Board จากนั้นให้ทุกคนมาเลือก (dot) หัวข้อที่สนใจ ทีคนมี 3 dot ทีมงานเลือกมาแปะไว้ที่ ตาราง Kanban…

Introducing Event Storming

ช่วงนี้หัวหน้าให้ผมดูแลน้องๆ สรุปบทความจาก MSDN Magazine ผมมองเป็นของดีที่น่าจะไม่ค่อยมีคนอ่านมากนักนะครับ หัวจากช่วยหัวข้อน้องไป ไปสะดุดกับ Blog ที่มีการอ้างอิงจากบทความครับ เรื่อง “Introducing Event Storming” เลยนำมาสรุปไว้นะครับ What is Event Storming Event Storming เป็นกิจกรรมที่ให้เราช่วยสำรวจสิ่งที่เราสนใจ หรือขอบเขต(Domain) ของธุรกิจที่ซับซ้อนออกมาครับ เน้นคำว่า “Visualize everything” ทำให้เห็นภาพ และ “Outside-in” Event Storming is good Powerful – นำคนที่เกี่ยวข้องมาร่วมกันสร้าง Business Flow ให้เห็นภายรวม ภายในเวลาอันสั้น Engaging…