เป้าหมายนั้นเป็นสิ่งสำคัญต่อการเดินต่อไปข้างหน้าอย่างมั่นคง ก่อนเริ่มโครงการใด ๆ เราควรศึกษาหาข้อมูลให้มั่นใจว่า สิ่งที่ต้องการจะทำนั้น คือ อะไร มีลักษณะเช่นไร ผลลัพธ์ที่เราต้องการจากโครงการมีหน้าตาเป็นอย่างไร มีการวัดผลอย่างไร
หากการสำรวจเป้าหมายเปรียบเหมือนการศึกษาเส้นทางก่อนออกเดินทาง การตั้งงบประมาณคงเปรียบเหมือนการออกเดินก้าวแรกที่สำคัญมาก หลังจากเรารู้หน้าตาของความสำเร็จคร่าว ๆ แล้ว เราควรกำหนดให้ชัดเจนว่า งบประมาณเท่าไรที่พอดี มีราคาประมาณการอยู่ที่เท่าไหร่ เหมาะสมกับขนาดของโครงการหรือไม่ ทั้งหมดที่กล่าวมาย่อมส่งผลกระทบต่อโครงการในระยะยาว ซึ่งนักพัฒนาที่มีประสบการณ์จะสามารถให้คำแนะนำในส่วนนี้ได้
โครงการทุกโครงการ ทั้งที่กำลังเริ่มดำเนินการหรือที่สร้างเสร็จแล้ว ไม่สามารถตอบโจทย์การใช้งานได้ตลอดไป การลงทุนในช่วงแรกของโครงการนั้นก็เหมือนกับการสร้างบ้าน เมื่อเราใช้งานบ้านหลังนั้นไปเรื่อย ๆ เราต้องบำรุงรักษาอย่างต่อเนื่อง และเมื่ออายุไขของมันมาถึง การทุบสร้างใหม่ เสริมโครงสร้าง หรือการปรับเปลี่ยนรูปลักษณ์คงเป็นสิ่งที่หลีกเลี่ยงไม่ได้ โครงการต่าง ๆ ก็เช่นกัน
รูปแบบผลิตภัณฑ์ที่หลากหลาย ทั้งโครงการออกแบบและโครงการพัฒนาซอฟต์แวร์ ย่อมมีความท้าทายที่ต่างกัน คำแนะนำเรื่องระยะเวลาและการแก้ปัญหาย่อมเปลี่ยนไปตามปัจจัย เช่น เทคโนโลยี แนวคิด และบริบทรอบข้างที่เปลี่ยนไป ธุรกิจต้องปรับตัวตามตลอดเวลา การสำรวจตัวเอง ตรวจสอบ และปรับปรุงจึงเป็นสิ่งที่ต้องให้ความสำคัญ หากมีผู้เชี่ยวชาญคอยให้คำปรึกษา การเดินทางในเส้นทางนี้ก็เบาแรงมากขึ้น
เชื่อหรือไม่ lost in translation หรือการที่ข้อมูลตกหล่นระหว่างการสื่อสาร สามารถเกิดขึ้นได้แม้เราจะใช้ภาษาไทยเหมือนกัน อาการเหล่านี้มักเกิดจากความไม่เข้าใจธรรมชาติของทีม การทำงาน หรือวิธีการสื่อสาร ดังนั้น การค้นหาทีมนักพัฒนาที่มีความสามารถอย่างเดียวอาจไม่พอ ความเข้ากันได้ของทุกฝ่าย ทั้งในแง่แนวคิด ประสบการณ์ และวิธีการทำงาน มีความสำคัญเป็นอย่างมาก หากทุกฝ่ายใช้เวลาเพื่อทำความเข้าใจซึ่งกันและกัน จะช่วยเพิ่มความชัดเจนและลดระยะเวลาในการสื่อสาร เพิ่มโอกาสสร้างสรรค์สิ่งใหม่ ๆ ให้เกิดขึ้น
คำศัพท์เฉพาะ เช่น คำว่า การผสมเทคโนโลยี (technology stack) หรือคำว่า ส่วนต่อประสานกับผู้ใช้งาน (user interface) อาจสร้างความสับสนให้กับผู้ที่ไม่รู้จัก แต่ถ้าเราให้เวลากับมันโดยเริ่มต้นทำความรู้จักความหมายเบื้องต้น และต่อยอดความเข้าใจร่วมพื้นฐานที่ตนเองมี จะสามารถทำความเข้าใจคำศัพท์เฉพาะได้มากขึ้น เช่น หากต้องการเข้าใจคำว่า ภาษาเพื่อการพัฒนาโปรแกรม (programming language) เราอาจนำมาเชื่อมโยงกับภาษาที่มนุษย์ใช้ในการพูดคุย ไม่ว่าจะเป็นภาษาจีน ภาษาไทย หรือภาษาญี่ปุ่น ที่สุดท้ายนักเขียนผู้ใช้ภาษานั้น ๆ ย่อมมีวิธีการสื่อสารและน้ำเสียงของตนเอง
ในการพัฒนาซอฟต์แวร์ก็เช่นเดียวกัน หากมีการเปลี่ยนมือทีมนักพัฒนา ย่อมมีโอกาสสูงที่จะต้องเริ่มต้นใหม่ แม้ว่า จะใช้ภาษาในการพัฒนาที่เหมือนกันก็ตาม เพราะนักพัฒนาแต่ละคนย่อมมีวิธีการใช้ภาษาที่ต่างกันออกไป หมายความว่า การพัฒนางานต่อจากทีมเดิมนั้นเป็นไปได้ยากมากในทางปฎิบัติ หากสามารถการปรับแก้ได้ มักจะทำได้เพียงแค่ส่วนเล็ก ๆ ไม่สามารถทำได้ทั้งหมด และการลงทุนที่ผ่านมาอาจเสียเปล่า ทั้งนี้ก็ขึ้นอยู่กับปัจจัยอีกมากมาย เช่น เทคโนโลยี ระยะเวลาดำเนินการ หรือแนวคิดในการพัฒนาที่ต่างกัน อาจทำให้โครงสร้างเก่าไม่สามารถนำมาพัฒนาต่อได้ หรืออาจจะใช้งานได้ แต่ต้องมีการปรับปรุงคุณภาพการเขียนโคดใหม่ (code refactor) เป็นต้น
การทำความเข้าใจความหมายและขอบเขตคร่าว ๆ ของศัพท์เฉพาะเหล่านี้ เป็นจุดเริ่มต้นของการสื่อสารที่ตรงกันทุกฝ่าย ประหยัดเวลา และเป็นการซื้อใจทีมงานผู้พัฒนาอีกด้วย
เริ่มจากทำความรู้จักทีมที่จะใช้บริการให้มากขึ้น โดยการศึกษาผลงาน แนวคิด หรือวิธีการทำงาน เพื่อเป็นตัวช่วยในการตัดสินใจ หรือลองติดต่อเพื่อสอบถามรายละเอียดเพิ่มเติม ถามหาความเป็นไปได้ แนวทางในการดำเนินงาน ลักษณะของการส่งมอบงาน ขอบเขตความรับผิดชอบ พร้อมพูดคุยเกี่ยวกับรูปแบบของโครงการที่ต้องการจะพัฒนาร่วมกันว่า มีแนวโน้มที่ความสำเร็จมากน้อยขนาดไหน ควรเริ่มพัฒนาในส่วนใดก่อน และร่วมกันกำหนดตัวชี้วัดที่สามารถตรวจสอบได้อย่างชัดเจน
ให้ตั้งวัตถุประสงค์ในการพัฒนาและฟีเชอร์ที่ต้องการ เพื่อใช้ในการปรึกษากับทีมพัฒนา และสอบถามถึงวิธีการ ขั้นตอนในการพัฒนา รวมไปถึงความเป็นไปได้ของฟีเชอร์เหล่านั้น ในบางครัง ทีมอาจไม่สามารถทำได้ในทันที แต่ถ้าเขามีแนวโน้มที่จะพัฒนาหรือทีมมีทักษะในการเรียนรู้มากพอ ก็จะสามารถพัฒนาให้ออกมาเสร็จสมบูรณ์ได้ในเวลาที่เหมาะสม
ให้ศึกษารูปแบบของงานประกอบการตัดสินใจ นอกจากความสวยงามของสื่อที่ผลิตออกมาแล้ว งานออกแบบยังครอบคลุมไปถึงการศึกษาวิจัยและการพัฒนาแนวคิด ซึ่งล้วนเป็นส่วนหนึ่งของต้นทุนเช่นกัน ค่าใช้จ่ายที่ต้องลงทุนที่สัมพันธ์กับขนาดของโครงการ จะนำมาซึ่งผลลัพธ์ที่สอดคล้องกับวัตถุประสงค์ ในส่วนของงานออกแบบทุกโครงการ รายละเอียดเล็ก ๆ ที่ซ่อนอยู่ การวางแผนแนวคิด การศึกษารายละเอียด และเวลาที่ถูกใช้ไปเพื่อสร้างผลงานที่ดีที่สุด ล้วนมีค่าใช้จ่ายทั้งในด้านของงบประมาณและเวลา แม้แต่คำสั้น ๆ ที่อยู่บนปุ่ม ที่เรียกว่า ไมโครก๊อบปี้ (microcopy) ยังมีกระบวนการคิดที่ใช้เวลาและความแยบคาย