831 คำ
4 นาที
เมื่อผมอยากทำซอฟต์แวร์ใช้เอง ภาค 2 ตอนที่ 13: บริษัทที่ 2 วันแรก
สารบัญ

ตอนที่แล้ว 30 นาทีต่อสัปดาห์ ระบบทบทวนตัวเองทุกสัปดาห์ และเก็บบทเรียนเป็นกฎ

ตอนนี้ต้นเปิดบริษัทที่สองของตัวเอง แล้วเอาทุกชิ้นของภาค 2 มาเรียงใหม่จากปลายทาง เป็นสามกองกับหนึ่ง checklist

ตอนนี้เป็นตอนสุดท้ายของภาค 2

ทุกบทความในซีรีส์นี้มาจากการที่ผมคุยกับ AI แล้วค้นข้อมูลเพิ่มเติม ผมเป็นคนกำหนดทิศทาง ให้ AI ช่วยสรุป วิเคราะห์ และเรียบเรียงออกมาเป็นบทความครับ

เราอยู่ตรงไหนของแผนที่#

บนแถบ 5 ขั้น Requirements, Design, Build, Test และ Deploy/Run สว่างครบทุกขั้น

จิ๊กซอว์ทั้ง 11 ชิ้นวางครบแล้ว

ข้างกันมีกรอบว่างอันใหม่ ชื่อบริษัทที่ 2

ตอนนี้ใช้ครบทั้ง 28 เรื่องในแผนที่บริษัท

หัวใจของตอนนี้#

ไม่ต้องทำครบทุกเรื่องตั้งแต่วันแรก แต่ต้องรู้ว่าเรื่องไหนต้องมีก่อน และเริ่มจากของที่เคยเรียนมาแล้ว

ทำไมเรื่องนี้สำคัญ?#

ตอน 1 ถึง 12 สร้างชิ้นงานทีละชิ้น ตามปัญหาที่เกิดกับบริษัทแรก

ทางนั้นช้า และเจ็บ

ถ้าบริษัทที่สองเริ่มจากหน้าว่าง ทุกบทเรียนต้องเจ็บซ้ำ

ถ้าพยายามทำครบ 28 เรื่องในวันแรก ก็จะไม่ได้เริ่มสร้างของเลย

หลัก 4 ข้อข้างล่างคือวิธีไปถึงประโยคในกล่องหัวใจ

หน้าว่างของบริษัทที่สอง#

ปี 2027 ต้นเปิดบริษัทที่สองของตัวเอง เป็นแอปรับสั่งอาหารจัดเลี้ยง (ตัวอย่าง)

คราวนี้เขารู้ปลายทางแล้ว: ลูกค้าที่จ่ายเงิน หลาย repo และ agent ที่ทำงานโดยไม่มีคนเฝ้า

บริษัทแรกเรียนแต่ละชิ้นด้วยการทำของพัง บริษัทที่สองไม่ต้องเป็นแบบนั้น

ความคิดแรกของต้นคือ copy ทุกชิ้นงานจาก 12 ตอน

เขานับดู 28 เรื่อง ตารางและหน้าเอกสารราว 40 ชิ้น (ตัวอย่าง)

วันแรกจะกลายเป็นงานตั้งค่าราวหนึ่งสัปดาห์ (ตัวอย่าง) โดยยังไม่ได้สร้างอะไรเลย

ความคิดที่สองคือข้ามทั้งหมด “เพราะยังเล็ก”

ผิดทั้งสองทาง

ทางที่ถูกคือมองปลายทาง เลือกไม่กี่เรื่องที่เติมทีหลังยาก ตั้งไว้วันแรก แล้วเริ่มเล็ก

คนที่ทำงานแบบนี้จริง#

lauren (@poteto) โพสต์วิดีโอ พร้อมข้อความว่า “here’s how i shipped 2,500 PRs last month to production”

ต่อมาเธอ เขียนในโพสต์ volume does matter ว่า “if you haven’t put in the work to trust your agent’s output, it is very difficult to scale up your productivity.”

ผมอ่านว่า ความเร็วแบบนั้นมาจากงานที่ทำไว้ก่อน ไม่ใช่จากการข้ามมัน

บทเรียนมีแล้ว แต่อยู่ในรูปไหน?#

template repo ของตอน 8 มีกฎ ด่าน และ CI อยู่ข้างใน

บันทึกบทเรียนของตอน 12 เก็บทุกกฎที่ได้มาด้วยความเจ็บ

บริษัทที่สองของต้นเริ่มจากการ copy สองอย่างนี้

ไม่ต้องอ่าน 12 ตอนใหม่ และไม่ต้องเรียนซ้ำผ่าน incident

หลัก 1: แบ่งตามว่าต้องมีเมื่อไหร่ ไม่ใช่ตามความสำคัญ#

จะรู้ว่าเรื่องไหนต้องมีก่อน ต้องถามว่า “ถ้าไม่มีตอนนี้ เติมทีหลังเจ็บแค่ไหน”

ต้นแบ่ง 28 เรื่องเป็นสามกอง การแบ่งนี้เป็นการตัดสินใจของต้นเอง ไม่ใช่สูตรตายตัว

กองเรื่อง
วันแรก3 design และ stack · 5 กฎของบ้าน · 9 identity ต่อ agent · 10 secrets · 11 ช่องรับงาน · 14 CI gate · 16 แยกข้อมูล dev กับ prod · 19 backup · 21 เพดานเงิน
มีลูกค้าจริง1 และ 2 discovery กับ feedback · 13 ระดับการ review · 15 rollback และทางฉุกเฉิน · 17 alert · 18 runbook · 23 support · 24 billing · 26 หน้า privacy
โต4 fleet · 6 gardener · 7 กฎข้าม repo · 8 supply chain ที่มากกว่า Dependabot · 12 handoff และผู้รับจ้าง · 20 audit agent เต็มรูป · 22 red team · 25 growth · 27 metrics · 28 bus factor

checklist วันแรกมี 10 ข้อ คือ 9 เรื่องในกองวันแรก บวกนัดทบทวน 30 นาที ซึ่งเป็นส่วนเล็กของเรื่อง 27 ที่ต้นเลือกเริ่มตั้งแต่วันแรก

กองวันแรกคือของที่ราคาถูกตอนนี้ แต่เจ็บมากถ้าเติมทีหลัง

สามคอลัมน์ วันแรก 9 เรื่อง มีลูกค้าจริง 9 เรื่อง และโต 10 เรื่อง แต่ละแผ่นมีหมายเลขเรื่องและตอนที่สอน ท้ายภาพเขียนว่า รวม 9 + 9 + 10 = 28 เรื่อง

หลัก 2: เริ่มจาก template และบันทึกบทเรียน#

ของที่เคยเรียนมาแล้วต้องอยู่ในรูปที่ copy ได้

GitHub เขียนไว้ ว่า repo ที่สร้างจาก template จะได้ “the same directory structure, branches, and files”

แต่ settings อย่าง branch protection key และเพดานเงิน ไม่ได้ copy มาด้วย

checklist วันแรกมีไว้สำหรับส่วนนี้

กฎจากบันทึกบทเรียนอยู่ใน AGENTS.md และ check ใน template แล้ว ตามหลัก 5 ของตอน 12

agents.md อธิบายว่า AGENTS.md คือ “a README for agents”

หลัก 3: ทำของที่แก้ทีหลังยากก่อน#

เรื่องที่ต้องมีก่อน คือเรื่องที่แก้ทีหลังแล้วแพง

Jason Lemkin ผู้ก่อตั้งและ CEO ของ SaaStr ตามหน้า Company ของ SaaStr เขียนไว้ ว่า “Replit used the >same< database for preview, testing and production.” (เรื่องเดียวกับตอน 7)

ฐานข้อมูลที่ใช้ร่วมกันแบบนี้ แยกทีหลังยากกว่าแยกตั้งแต่แรก

backup ที่ไม่เคยลองกู้ คือเรื่อง GitLab ปี 2017 ในตอน 9 ที่ backup รายวันไม่ทำงานมานาน และวันที่ต้องใช้ก็ไม่มีให้กู้

Tony Dinh ซึ่ง bio บน X ของเขาเขียนว่า “Creating software I love to use.” เขียนไว้ ว่า “Luckily I set a limit.” (เรื่องเดียวกับตอน 10)

key ที่ agent ใช้ร่วมกัน คือเรื่องของตอน 5

ต้นจ่ายค่าบทเรียนเหล่านี้ไปแล้วในบริษัทแรก ตอน 5 ถึง 10

บริษัทที่สองจึงตั้งไว้ก่อนเริ่มสร้างอะไร

ส่วน dashboard การแยกหน้าที่แบบเป็นทางการ และเครื่องมือ growth เติมทีหลังได้ไม่ยาก

หลัก 4: เริ่มจาก profile เล็ก แล้วค่อยขยาย#

เริ่มเล็กได้ ถ้ารู้ว่าจะขยายไปทางไหน

ISO/IEC 29110 มีแผน profile สี่ระดับ “Entry, Basic, Intermediate and Advanced” และ Basic คือ “the second”

ต้นรู้ว่าบริษัทที่สองจะต้องไปถึงระดับ Basic ซึ่งผมเทียบว่าใกล้กับสิ่งที่ภาค 2 สร้างมาทั้งหมด

แต่เขาเริ่มจากวินัยระดับเล็ก คือกองวันแรก แล้วขยับขึ้นเมื่อเจอจุดเปลี่ยน เช่น ลูกค้าที่จ่ายเงินคนแรก หรือ repo ที่สอง

ISO/IEC 29110-5-1-2:2025 (คู่มือ profile ระดับ Basic) เขียนว่า series นี้มีไว้สำหรับ VSE “that do not have experience or expertise in adapting/tailoring ISO/IEC/IEEE 12207”

บริษัทใหญ่ปรับ 12207 ด้วยการเลือก process ต้นปรับด้วยการเลือกกอง

checklist วันแรกของบริษัทที่สองหน้าตาเป็นยังไง?#

checklist วันแรกของแอปจัดเลี้ยง ใช้เวลาราว 4 ชั่วโมง ค่าใช้จ่าย ฿0 ถึง 300 (ตัวอย่าง):

ข้องานทำเสร็จเมื่อมาจาก template ไหมใครทำ
1สร้าง repo จาก template (ตอน 8)มี CI และ AGENTS.mdใช่ต้น
2เปิด branch protection และ include admins (ตอน 7)PR ที่ test พังถูกบล็อกไม่ต้น
3agent แต่ละตัวมี identity และ key ของตัวเอง (ตอน 5)ไม่มี key ใช้ร่วมไม่ต้น
4secrets อยู่ใน secret store เท่านั้น (ตอน 5)scan ไม่เจอ secret ใน repoใช่agent
5preview DB แยกจาก prod (ตอน 7)connection string คนละตัวไม่ต้น
6เปิด backup และลองกู้ 1 ครั้ง (ตอน 9)มีบรรทัดใน restore logไม่ต้น
7เพดานเงินทุกบริการพร้อม alert (ตอน 10)ทุกแถวในตารางเงินมีเพดานไม่ต้น
8issue form และ labeler ช่องงานเดียว (ตอน 6)issue ทดสอบได้ labelใช่agent
9copy DR-01 ถึง 04 แล้วแก้ให้ตรง (ตอน 3)DR ทั้ง 4 ใบตรงกับแอปนี้ใช่ต้น
10นัด 30 นาทีวันศุกร์ (ตอน 12)มีในปฏิทินไม่ต้น

checklist วันแรกข้อ 1 ถึง 5 แต่ละข้อมีบรรทัดทำเสร็จเมื่อ ป้าย template ใช่หรือไม่ ป้ายใครทำ ต้น หรือ agent และช่องติ๊ก หัวภาพเขียนว่า รับมาจาก ตอน 3–12 และ ส่งต่อให้ บริษัทของคุณ

checklist วันแรกข้อ 6 ถึง 10 แต่ละข้อมีบรรทัดทำเสร็จเมื่อ ป้าย template ใช่หรือไม่ ป้ายใครทำ ต้น หรือ agent และช่องติ๊ก หัวภาพเขียนว่า รับมาจาก ตอน 3–12 และ ส่งต่อให้ บริษัทของคุณ

มาตรฐานว่ายังไง

ISO/IEC 29110 มีเส้นทาง profile จาก Entry ไป Basic และ ISO/IEC 29110 ระดับ Basic มีกระบวนการ Project Management ที่ครอบคลุมการวางแผนโครงการก่อนเริ่มงาน ซึ่งเป็นที่อยู่ของ checklist วันแรก

ISO/IEC/IEEE 12207 แบ่ง process เป็นสี่กลุ่ม Agreement, Organizational project-enabling, Technical management และ Technical และมีกระบวนการ tailoring ให้องค์กรปรับใช้ตามความต้องการของตัวเอง

ผมเทียบเอง: กองวันแรกใกล้กับการวางแผนโครงการของ 29110 กองมีลูกค้าจริงใกล้กับการควบคุมโครงการและการส่งมอบ กองโตใกล้กับกลุ่ม Organizational และ Technical management ของ 12207

จิ๊กซอว์ชิ้นที่เติมแล้ว#

จิ๊กซอว์ 11 ชิ้นของภาค 2 วางครบ:

ตอน 2 ลูกค้าและทิศทาง ตอน 3 แบบ ตอน 4 กฎของบ้าน ตอน 5 identity ตอน 6 ช่องรับงาน ตอน 7 ด่าน ตอน 8 หลาย repo ตอน 9 ตีสาม ตอน 10 เงิน ตอน 11 สัญญา ตอน 12 รอบทบทวน

ตอนนี้ไม่ได้เพิ่มชิ้นใหม่ แต่ย้ายทั้งภาพไปที่กรอบว่างของบริษัทที่สอง โดยเริ่มจาก checklist 10 ข้อของวันแรก

แฟ้มหนาจากภาค 1#

ในภาค 1 ตอนที่ 3 มีภาพแฟ้มเอกสารหนาของยุค waterfall

เอกสารพวกนั้นไม่ได้หายไปไหน มันย้ายที่

กฎย้ายไปอยู่ใน AGENTS.md และ check (ตอน 4)

การอนุมัติย้ายไปอยู่ในด่าน (ตอน 7)

ขั้นตอนย้ายไปอยู่ใน runbook (ตอน 9)

บันทึกย้ายไปอยู่ใน log (ตอน 10)

คำสัญญาย้ายไปอยู่ในสามหน้า (ตอน 11)

การทบทวนย้ายไปอยู่ใน 30 นาที (ตอน 12)

แฟ้มบางลง เพราะระบบถือมันไว้แทน และบริษัทที่สองเริ่มจากฉบับบางตั้งแต่วันแรก

แฟ้มหนา ภาค 1 มีแถบสีหกแถบ ลูกศรจากแต่ละแถบไปที่ AGENTS.md ตอน 4 ด่าน ตอน 7 runbook ตอน 9 log ตอน 10 สามหน้า ตอน 11 และหน้าทบทวน ตอน 12

ขอบคุณที่อ่านมาจนจบภาค 2

ถ้าคุณมี checklist วันแรกของตัวเอง เล่าให้ผมฟังได้

สิ่งที่ผมได้จากตอนนี้#

ลองทำเอง#

ใช้เวลาราว 30 ถึง 40 นาที ไม่เสียเงิน (ตัวอย่าง)

  1. เอาตารางสามกอง ไล่ทั้ง 28 เรื่องกับโปรเจกต์ของคุณ ว่ามีแล้ว ต้องมีตอนนี้ หรือไว้ทีหลัง
  2. นับข้อในกองวันแรกที่ยังขาด
  3. ทำข้อที่ถูกที่สุดตอนนี้เลย มักเป็นเพดานเงินหรือการลองกู้ backup

ผมลองแล้ว: __ นาที ฿0 มีแล้ว __/28 วันแรกที่ยังขาด __ ข้อ ทำไปแล้ว: __

เก็บศัพท์#

  • capability map: แผนที่ 28 เรื่องที่บริษัทซอฟต์แวร์ต้องมี
  • day-1 checklist: รายการที่ต้องเสร็จในวันแรก
  • template: repo ต้นแบบที่ copy ไปเริ่มใหม่ได้
  • retrofit: การเติมของเข้าไปทีหลัง
  • profile: ชุดขั้นตอนของ 29110 ตามขนาดงาน
  • Entry และ Basic: profile ระดับแรกและระดับที่สองของ 29110
  • tailoring: การปรับมาตรฐานให้เข้ากับองค์กร
  • lessons log: บันทึกบทเรียนที่กลายเป็นกฎ

จดบันทึก#

วันแรก 10 ข้อ ที่เหลือรอให้ปัญหาจริงมาถึง แต่รู้ไว้ก่อนว่ามันจะมา

ถ้าต้นเริ่มใหม่#

ถ้าต้นเริ่มใหม่ เขาจะทำเรื่องนี้ตั้งแต่วันแรกไหม?

ตอนนี้คือต้นเริ่มใหม่จริงๆ

checklist 10 ข้อ: ทำ เพราะเขารู้ปลายทางแล้ว

อีก 19 เรื่องในกองมีลูกค้าจริงและกองโต: ยังไม่ทำ แต่ละเรื่องรอจุดเปลี่ยนของมัน เช่น ลูกค้าคนแรก repo ที่สอง หรือคนแรกที่จ้าง

ตอนต่อไป#

ภาค 2 จบที่ตอนนี้

ตอนนี้ผมยังไม่ได้กำหนดว่าภาคต่อไปจะเริ่มเมื่อไหร่

ระหว่างนี้ ลองเอา checklist วันแรกไปใช้กับโปรเจกต์ของคุณ แล้วดูว่าข้อไหนยังขาด

คำถามที่พบบ่อย#

ต้องทำครบ 28 เรื่องไหม?

ไม่ต้อง 10 ข้อในวันแรก ที่เหลือทำเมื่อถึงจุดเปลี่ยน

บริษัทแรกยังไม่ได้ทำอะไรเลย ควรเริ่มตรงไหน?

เรียงแบบนี้: identity และ secrets แล้ว backup ที่ลองกู้แล้ว แล้วเพดานเงิน แล้ว CI gate แล้วค่อยเรื่องอื่น

ใช้กับทีม 3 คนได้ไหม?

ได้ และการแยกหน้าที่ในตอน 7 จะกลายเป็น peer review จริง

ต้องได้ใบรับรอง ISO 29110 ไหม?

ไม่ต้อง ใช้เป็น checklist ได้เลย ขอใบรับรองเมื่อลูกค้าขอเท่านั้น

อยากเริ่มจากต้น อ่าน ภาค 2 ตอนที่ 1 หรือย้อนไปภาค 1 ที่ ตอนที่ 3

Next → ภาคต่อไป: ยังไม่กำหนดวัน