As a software engineer or architecture, you should really understand your customer's needs. If customer demands a 100 meter length truck with features like carrying 500 tons and high speed. It's almost impossible. Think in one second, if it's possible, can you imagine cost and effectiveness and time which is required to finish. No doubt, it would be failure project.
I will tell you a true story in history. There is a war between Sweden and Poland in 1620. The king of Sweeden wanted to build a ship called the Vasa. Because, this was is really costly war and he wanted to end quickly. But the ship was not an ordinary ship. It was to be more than 200 feet long, have the ability to transport 300 troops safely across the waters into Poland and carry 64 guns on two gun on decks. Time was of the essence and money was limited. The ship architect was not experienced to build this kind of big ship. He never designed before. But he accepted this task. After finishing to build the ship, vasa, the big day came. The ship sailed into the harbor and immediately sank less than 2km into her maiden voyage.
The ship architect tried to fulfill all of the king's requirements. Finally, the project was failure.
Ship architect behavior is similar to software architect-engineer. As a software leader, engineer or architect, you should avoid accept all requirements. You may think, "i have to satisfy my customer." That's correct. But if you accept all wishes, you creates unstable application it would be failure project after releasing. You should warn your customer, and try to understand what customer really needs.
I will tell you a true story in history. There is a war between Sweden and Poland in 1620. The king of Sweeden wanted to build a ship called the Vasa. Because, this was is really costly war and he wanted to end quickly. But the ship was not an ordinary ship. It was to be more than 200 feet long, have the ability to transport 300 troops safely across the waters into Poland and carry 64 guns on two gun on decks. Time was of the essence and money was limited. The ship architect was not experienced to build this kind of big ship. He never designed before. But he accepted this task. After finishing to build the ship, vasa, the big day came. The ship sailed into the harbor and immediately sank less than 2km into her maiden voyage.
The ship architect tried to fulfill all of the king's requirements. Finally, the project was failure.
Ship architect behavior is similar to software architect-engineer. As a software leader, engineer or architect, you should avoid accept all requirements. You may think, "i have to satisfy my customer." That's correct. But if you accept all wishes, you creates unstable application it would be failure project after releasing. You should warn your customer, and try to understand what customer really needs.
