Tag Archives | development

My process goal

ขอจดไว้ก่อนกันตัวเองลืม และก็เพื่อให้ @hybridknight ที่จะรับช่วงต่อด้วย ช่วงสามสี่เดือนที่ผ่านมาได้ทดลอง process การทำงานใหม่บางอย่างที่ก็ขัดกับคนอื่นบ้างแต่ตอนนี้ก็เริ่มลงตัว ตอนเริ่มทำเป้าหมายก็ยังไม่ชัดเท่านี้ด้วย คิดแค่ว่าต้องการให้สิ่งที่ทำสามารถการันตีได้ว่ามันจะไม่พังเมื่อเวลาผ่านไปและมีปัญหาเหมือนระบบเดิมที่เคยทำมา แต่เมื่อสองวันก่อนคุยกับ @visibletrap จนได้ข้อสรุปสามข้อที่มันชัดจนคิดว่านี่แหละคือเป้าหมายที่ตัวเองดันมา ทั้งสามข้อก็ไม่มีอะไรมากแค่ process นี้ต้องทำให้ตรวจสอบความผิดพลาดต่างๆ ได้ง่ายๆ ข้อแรกนี้แก้ด้วยการหาทางให้เขียน test ได้ง่ายๆ รันง่ายๆ process นี้ต้องลด Interrupt ที่แต่ละคนจะเจอขณะทำงานให้มากที่สุด แน่นอนบางอย่างมันต้อง Interrupt เข้ามาได้ (เช่น production server down หรือสอบถามอะไรบางอย่าง) แต่บางอย่างก็ไม่ควรจะเข้ามา Interrupt เช่น QA ไม่ผ่าน หรือการเพิ่ม Feature อะไรบางอย่าง พวกนี้ควรจะจัดเวลาหรือที่ซักที่ให้ไปแปะไว้ แล้วนัดเวลามาดูร่วมกัน อันนี้พยายามดันโดยการให้ทุกคนใช้ task board และกำหนดเวลาตายตัวว่าจะคุยกันช่วงไหน  process นี้ต้องทำให้ทุกคนรู้ว่าใครทำอะไรอยู่บ้าง ว่างไม่ว่าง และติดอะไรอยู่ ข้อนี้มีเหตุผลคือ คนจัดงาน รู้ว่าไม่มีใครว่างงาน และไม่จัดงานหนักๆ เพิ่มเข้าไป [...]

Read full story Comments { 0 }

Define Test

อาทิตย์ที่ผ่านมาเริ่ม Push TDD ให้ทีม Dev ทั้งทีมก็มีเสียงตอบกลับมาทันที ซึ่งเป็นสิ่งที่อยากได้และจะได้เอาไปปรับปรุง เสียงตอบอันนึงที่กลับมาถูกบล๊อกโดย @teerapapc ผ่านหัวข้อนี้ “My experience with unit testing in software development” สรุปสั้นๆ คืออยากให้คนอื่นเป็นคนเขียน Test ในตอนท้ายของบทความ จริงๆ เรื่องเขียน UnitTest สำหรับ Dev หลายคนที่พึ่งจบออกจากมหาวิทยาลัยและเขียนโปรแกรมเล่นตามสิ่งที่สนใจ มักเป็นสิ่งที่อยู่ห่างไกลกันเหลือเกิน แม้แต่ตัวเองตอนจบใหม่ๆ และทำงานได้สองสามปีแรก ก็ไม่รู้ว่าจะเขียน Test ยังไงเพราะขั้นตอนการทำงานเริ่มจาก ได้ Requirement มาจาก Manager จากนั้นก็เริ่มเขียน Module ต่างๆ ตามที่คิดไว้ ลองรันดูว่ามันทำงานถูกต้องตามที่ Manager ให้มามั้ย ปิดเคส ด้านบนคือช่วงก่อนที่จะมี QA ช่วงที่มี QA เข้ามาก็จะมีขั้นตอนเพิ่มก่อนปิดเคสคือ ส่งให้ QA เล่น จากนั้นงานก็จะเด้งเป็นปิงปองซักพัก [...]

Read full story Comments { 6 }