Very recently I have been reminded multiple times of why it is important to plan and test your project (whether big or small), and attempt to account for as many possibilities and variations as possible at each step.
On the small scale, I was part of a small team that had a small but urgent project thrust upon us at the last minute. The project was such that each team member could independently do their own portion to complete the whole together. Before I started, I thought for a little bit about how I could do my part in the fastest, most efficient way possible. Everyone else didn’t give it a second thought and just dove right in. Because I took the initial time to prepare and think things through logically, I had far fewer problems and finished my portion in less than half the time of everyone else.
On the large scale, the state of Florida has a new computer-based testing platform this year that doesn’t seem to have been planned out very well (as far as the technical implementation). I don’t have very much visibility into the whole thing, so I can only go by what I have seen personally. It seems like the state has issued the platform with technological “recommendations” and not necessarily tested hard requirements. Every school district in the state is going to have a different operating environment and configuration. I feel like the people in charge of designing and implementing these tests did not plan out for enough variations in each school’s network infrastructure. Because these are high-stakes tests that determine things like funding, I feel quite badly for the students that the testing platform is not better tested and more resilient to problems. I think some of the problems with the platform itself are how it handles various single points of failure. There have been reports from other districts in the state all week about lots of issues. Today I find out how our district fares.
I feel very arrogant whenever I think or say this, but I really believe what sets me apart from many of the people I work with (and have worked with in the past) is the ability to think things through logically with regards to the flow of data. How will the data be affected at each point in the network? What will
make the network behave this way or that way? If there is a failure in this part of the network or on this system, what will be affected and how? These are the kinds of things I tend to think about, and I feel like not too many others do.