ทุกอย่างมีพื้นที่ของมัน และทุกอย่างถูกจำกัดไว้ในพื้นที่นั้น … รวมถึงซอฟต์แวร์ที่ดี รวมถึงนวัตกรรมที่ดี
วันแรกที่เราเริ่มต้นจากไอเดีย เรารู้สึกเหมือนมีพื้นที่สนามเด็กเล่นที่กว้างขวางไกลสุดลูกหูลูกตา ทุกอย่างเป็นไปได้ ทุกอย่างน่าตื่นเต้น ทุกอย่างช่างเย้ายวน
เดือนแรกผ่านไปแลกกับโปรโตไทป์ที่ได้มา พื้นที่ยังกว้างอยู่ (แต่เริ่มแคบลง) เมื่อเราได้ลงมือทำ เมื่อมีซอฟต์แวร์ตัวแรกให้ทดลองใช้
ทุกๆวันที่เราเพิ่มอะไรใหม่ๆเข้าไปในซอฟต์แวร์นั้น เรากำลังถมดินลงไปบนสนามเด็กเล่น … ทุกวัน
พื้นที่ของความน่าตื่นเต้นจะเริ่มลดลงเพราะเราเริ่มเจอปัญหาที่ไม่คาดคิดอยู่เรื่อยๆ
พื้นที่ของนวัตกรรมจะเริ่มแคบลงเพราะของที่เราพัฒนาและใส่เพิ่มลงไปมันไปปิดช่องการเจริญเติบโตที่น่าจะเป็นไปได้
เรานิยามคำว่า “ซอฟต์แวร์ที่ดี” ไว้อย่างไร? ถ้าเราซื่อสัตย์ต่อตัวเองมากพอ เราจะรู้ตัวเองดีว่าฟีเจอร์ที่เพิ่มเข้าไป (จากคำสั่งของลูกค้า ผู้บริหาร คู่แข่ง และจากตัวเอง) นั้นไม่ได้ช่วยให้ซอฟต์แวร์ของเราดีขึ้น
ยิ่งเราพยายามจะแก้ปัญหาด้วยการเพิ่มๆ (ถมดิน) โดยไม่คิดจะดึงออกบ้าง (ขุดดิน) เราจะใช้พื้นที่ที่จำกัดนั้นอย่างไม่คุ้มค่า เราจะพบว่าสิ่งที่เรามีในมือตอนนี้ไม่ใช่ซอฟต์แวร์ที่ดีอีกต่อไป มันเยอะ มันยาก มันบวม และมันช้า
การสร้างซอฟต์แวร์ที่ดีรวมถึงการรักษาโมเมนตัมและสถานะของซอฟต์แวร์ที่ดีไว้เป็นเรื่องของศิลปะพอๆกับวิทยาศาสตร์ ศิลปะที่เราจะต้องรู้ว่าเมื่อไรควรเพิ่ม รู้ว่าเมื่อไรควรหยุด … เพราะทำให้แน่ใจว่าเราใช้พื้นที่นั้นอย่างคุ้มค่าและเรายังมีช่องว่างเหลือไว้ให้ความน่าตื่นเต้นอยู่เสมอ
เพิ่มไม่ใช่ทางเลือกที่ดีเสมอไป เมื่อซอฟต์แวร์อยู่ตัวแล้ว เมื่อมันทำงานได้ครบตามสิ่งที่ควรจะเป็นแล้ว … จงคิดให้หนักก่อนเพิ่ม เพราะเพิ่มแล้วลดยาก เพราะเมื่อพื้นที่เต็มแล้ว เราต้องมองหาพื้นที่ผืนใหม่ในการเริ่มต้นใหม่ และนั่นไม่ใช่งานที่สนุกสักเท่าไรเลย