> you lay out a huge specification that would fully work through all of the complexity in advance, then build it. This has never happened and never will. You simply are not omniscient. Even if you're smart enough to figure everything out the requirements will change underneath you. But I do still think there's a lot of value into coming up with a good plan before jumping in. A lot of software people like to jump in a…
>> you lay out a huge specification that would fully work through all of the complexity in advance, then build it. > This has never happened and never will. You simply are not omniscient. Even if you're smart enough to figure everything out the requirements will change underneath you. I am one of those "battle-scarred twenty-year+ vets" mentioned in the article, currently working on a large project for a multinationa…
Systems Thinking
121–123 of 123 posts
Re: Systems Thinking
#122Earlier quoted context omitted.
A complex system is one that has chaotic behavior. (And no, this is not "my" definition, it's how it's defined in the systems-related disciplines.)
What's considered chaotic? Multiple causes, hard to track?
Re: Systems Thinking
#123A major factor supporting evolution over big up-front design is the drift in system requirements over time. Even on large military like projects, apparently there's "discovery"--and the more years that pass, the more requirements change.
This isn't my experience. Requirements tend to settle over time (unless they're stupidly written). Users tend to like things to stay the same, with perhaps some improvement to performance here and there. But if anything, all development is the search for the search for the requirements. Some just value writing them down.
They do change, especially if projects take years.
Not only do people tend not to read, or read well, there is a lot on inherent ambiguity in english--so even if not written stupidly there may be surprises.
"Requirements" changed on just about every project I was on. I remember once asking the business owner if he could simplify some requirements cuz they were really complicated to develop well, and he replied Certainly--he was trying to put out something he thought would be easy for us to build.