---
title: "Comment by Dave Murray on \"5 lessons I learned working on a real life application\" | Hashnode"
description: "Going forward, I would want the goals and outcomes to be defined and approved by all stakeholders, before a single line of code has been written. In my experien"
url: "https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9/comment/61d33f9498628373c7a04e5e"
---

[Discussion](https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9)

Comment [5 lessons I learned working on a real life application](https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9)

[Dave Murray](https://hashnode.com/@Irongut)

[Jan 3, 2022](https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9/comment/61d33f9498628373c7a04e5e)

> Going forward, I would want the goals and outcomes to be defined and approved by all stakeholders, before a single line of code has been written.

In my experience that is almost impossible to acheive. I think only one project I've worked on had defined goals and outcomes before the code was written that did not subsequently change and that was a very short contract making a small addition to an existing system.

"No plan survives contact with the enemy" is as true today as it was in 19th century Prussia.

[Chadwin J Deysel](https://hashnode.com/@chadwindeysel)

[Jan 4, 2022](https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9/comment/61d33f9498628373c7a04e5e#reply-61d4072498628373c7a05da5)

Hi, Dave. Thank you for the comment. Love the quote. I'm always looking for ways to improve the way I approach my work. Based on your experience, how would you recommend I approach new projects and problems in the future?

[Dave Murray](https://hashnode.com/@Irongut)

[Jan 4, 2022](https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9/comment/61d33f9498628373c7a04e5e#reply-61d48fa446e56e75ab37469a)

Hi Chadwin. Some of your other points will help with a spec that is not defined 100%, particularly designing a system that is flexible to change and communication. If the system is easy to change then finding out you need to make a change at a late stage isn't as much of a problem and by communicating with the client often you should spot such things a bit earlier.

Sometimes all you can do is know a particular client can be problematic and schedule extra time to deal with the inevitable changes.

[Chadwin J Deysel](https://hashnode.com/@chadwindeysel)

[Jan 5, 2022](https://hashnode.com/posts/5-lessons-i-learned-working-on-a-real-life-application/61d313f6d335286be6cde6b9/comment/61d33f9498628373c7a04e5e#reply-61d53a34220e98797766a3a2)

[Dave Murray](https://hashnode.com/@Irongut) I definitely had my fair share of indecisive and difficult clients, but we pivot to change and adapt. Thank you for the advice 🙌
