Yeah I would not like that situation at all. I was very adamant about not starting our latest project until we had firm requirements. Of course that didn’t happen but I was very careful about designing in a way to be flexible enough to change to requirements. Had a major change halfway through but only lost a week or two which could’ve been much worse.
Only losing a week on a major change is a good sign. I wish the people who started the project had that same attitude with regards to clarifying requirements. They also did the opposite of designing a flexible solution. No thought to the actual problem, picking a contrived problem to “tackle”. Full on blinders on event driven architecture, split a simple thing into multiple nano-services, yet tightly coupled by sharing the same model which is de/serialized at every step, and then throw in application level filtering on the events… no schemas, no semantic versioning.
Yeah I would not like that situation at all. I was very adamant about not starting our latest project until we had firm requirements. Of course that didn’t happen but I was very careful about designing in a way to be flexible enough to change to requirements. Had a major change halfway through but only lost a week or two which could’ve been much worse.
Only losing a week on a major change is a good sign. I wish the people who started the project had that same attitude with regards to clarifying requirements. They also did the opposite of designing a flexible solution. No thought to the actual problem, picking a contrived problem to “tackle”. Full on blinders on event driven architecture, split a simple thing into multiple nano-services, yet tightly coupled by sharing the same model which is de/serialized at every step, and then throw in application level filtering on the events… no schemas, no semantic versioning.