Seriously, that's pretty much the best way to sum up today. Wow.
You aren't likely to be able to understand what a big deal today was, but it's worth many wows. Let me try to explain. Remember how yesterday I suspected that I might be called upon to take on the task lead position weeks ahead of schedule? Well, that happened, and it happened in a pretty big way. Most of the day was nothing particularly special - discussions with some of the engineers about the situation of the project and what they're up to these days, looking into a problem I've heard a lot about and narrowing down a highly probable suspect for what's causing it as well as a way to fix a related problem that leads to most cases of it occurring, that sort of thing. Then our working group meeting started, and I had to lead it without any real agenda in mind other than the one I copied from the previous week, before the code freeze. It was a pretty normal start, with me just trying to keep people mostly on task and focused on the agenda. Then we got to what people are working on, and I quickly got the impression that at least some of our developers were planning to continue business as normal - they had outstanding tickets, so they were going to continue working on them. It's a corporate culture that the project has been laboring under for years, and I guess it's had enough momentum that nobody's ever put a stop to it. Well, I plan to. I said right there, in that meeting, that any work to be done after today has to be approved by me or someone above me in the decision change. NO EXCEPTIONS. This undoubtedly means a lot of work for me, since I know everyone will be clamoring for approvals and I really have to get them done as soon as possible, but I intend to stick to my guns here and hold everyone to the new standard. It's not as if this was a surprise - the code freeze has been on the schedule for months, so the only thing I can figure is that people didn't understand what a "code freeze" means. Or perhaps, what a "deadline" is. It's not a still twitching, clinging to life, crawling desperately toward any salvation it can reachline. The habit of letting deadlines slip has to stop somewhere, if for no other reason than the customer will expect delivery on the specified date. I say it should stop before then, and long before then. Of many questions I've been asked concerning when certain things should happen, my answer has been "Always, and since you're not doing it now, you're already deficient. Fix that ASAP." I have the support of management and the engineering leads on this, which helps give my words weight, and I'm committed to putting in the work to help everyone get to where we need to be. I fully intend to lead by example and will be examining my own ticket with the same scrutiny that the others will get, including a study of impacts to the system. I'm just familiar enough with the problem to know that it can cause a complete failure, which is probably bad enough to be worth fixing if I can determine for sure that my fix will work. We're letting it run overnight to test. But that's more detail than we really need in a Livejournal entry. I expect I'll be putting out a lot of fires tomorrow from people misinterpreting my directive. The only work that's stopped is coding. I still want to do reviews and testing, but the results from those are subject to the same scrutiny before we allow them to be added to the baseline - I expect we'll file a lot of them for future inclusion when we're not working toward a deadline. We should also continue documenting and researching problems - any that we don't fix now, we may fix later, and having the designs will be a great start. I just think it's more important at this point to know what's in our baseline than try to cram more stuff into it at the last minute. I'm not going to refuse to allow any changes at all - in fact, given what I'm hearing, there are lots of critical fixes we still need. But that's a big black mark for our development efforts so far, and we've only got a month to do all of the work we decide to do. That doesn't change - failing to meet THAT deadline isn't necessarily the end for the project, but it means we miss a rather prominent test, and that's going to look really bad for us.
So no pressure, really. And if you didn't read that wall of text after clicking the cut... I don't blame you. It's pretty much intended for you to skip over it.
So, in conclusion... Wow.