Some of y'all may have been noticing I've been a bit stressed-looking lately... or maybe I've just come out and said "I'm really stressed right now, sorry" and then sat in the corner and, I dunno, emitted stress lines.
I feel a tad better this morning after fighting some stuff out in my dreams last night (oh yeah, my favorite way to spend the night), but yesterday I reached a fever pitch of cranky.
Okay, so I'm working on this program that runs on a board that controls stuff. Here is the context for this program.
The hardware it runs on is designed and managed by my other team member, and includes OTHER hardware designed by ANOTHER engineer, plus a communications interface from a German company. This hardware was designed well before I came on board, and in that design there was a good big chunk of memory I thought I could use. I thought wrong, because when I went to the H/W guy to option its use, I got shot down... so I had to spend a significant chunk of time doing unnecessary and complicated memory management and optimization. That cost a lot of time.
The German company also defines the protocol we are communicating with. So I'm writing to a German spec, and need to conform to it to be called "good". Our company and this German company are the ONLY people with usable software under this new spec, so to test and validate my work I need to compare it to the German stuff. However, the German program doesn't work right (yet) and we won't have a functional version until.... June? Maybe? These guys are notoriously slow and late, and it's because they go on vacation, I swear, two weeks out of three. Every time I write, they are on vacation and then get back to me one or two weeks later. So that's useless.
To verify that systems conform to their standard, the Germans are writing a conformance tool, of which we have a broken and mostly nonfunctional version. They say they will have the final version by end of June, two weeks or so after we are supposed to have been entirely done with the project. This tool WAS promised for Jan/Feb, but those dates are long past. So, July? Maybe. And I fully expect monkeys to fly out my ass too.
This is the same German company that changed the core, heart, critical aspect of the specification in radical and annoying ways during development. Twice. We still haven't entirely recovered from that chaos.
My device and software are controlled by a computer with its own big program, and our company of course is writing that, since we can't ship the German stuff with our label on it, that would just not work. Of course, the team writing OUR software is green, doesn't communicate well, and is primarily located in China. They do things "differently" there. If, by "different" you mean "badly". Not all of them, there's fine work coming out of some teams there I hear. No, it's just been our team. We won the crap lottery.
Certain critical aspects of this system that SHOULD have been working and tested six to nine months ago finally started working in shaky baby steps about one month ago. And things keep coming up from that team that surprise the hell out of me, things that have been in place in my side for, in some cases, a year or more, and in others, three to six months. Why am I getting feedback just now? What the hell are these guys doing? Writing a slave device in a vacuum is not a recipe for success. We are supposed to be bootstrapping, building this up together, and that requires lots of things that have not been happening until very very recently.
This project as a whole is part of a larger software and hardware platform, and a significant aspect of my system is that there are 35 or so modules that can plug into my device, in combinations of up to 8 at a time (you do the math). Which is tough, since my software has to manage all of these modules, and more in the future, with not enough memory (see above). But, with cleverness and hacks, I've made it work. Mostly. We're still testing to be sure.
These plug in devices have existed here for a while, and are nice little bricks of hardware, if a tad under-documented (don't TALK to be about internal deliverables and documentation, unless you want me to go off on a long and angry rant).
Our assumption, critical to our schedule, is that the wrinkles have been worked out in the controlling code for these modules, by the team that actually OWNS them (which, hint, is NOT US). This assumption is false, so now I'm finding serious flaws in the control code and parameters for this other team... because my team's testing is actually looking at the details and not giving it a quick eyeball from 10,000 feet up.
Of course, it doesn't help that the documentation and supporting details for these things is scattered all over hell and back, is inconsistent at times, and is sometimes just plain wrong. It doesn't give me the confidence I'm looking for when working on a project.
I'm not alone in working on these things, which is good, because this project is just too huge for one person. I've got a great testing resource who, what? Oh, some other team fucked up (again) and now the company is in a panic (again) and I'm losing my testing resource? Again? Thanks guys. Remember that internal deliverable and documentation rant? A lot of our recent panics can be traced back to our failures in that arena... do you still think that it takes too much time and resources to do the damned development correctly?
How about the guy writing our validation tests for manufacturing? Oh, right, he's on three other projects too.
My tech lead? I have a tech lead? Oh, there he is, yeah; he's a great guy, I honestly like him and he's bright and helpful, but he's also overloaded.
How about my resource for understanding and FIXING the interface code to the modules? She's great too! Very helpful, very supportive, when she's actually available. Too bad that everything else her manager owns is more important than this. Some of that is my fault; I think I had a brief window where I could have captured her attention on my project, but some panic or failure on my side took me away from modules for that...week. Nice big window there guys, thanks.
So -- yeah -- stress. Trying to squeeze success out of a project that is aimed about 30 degrees off target and is flying quickly and steadily into the weeds.
Posted by Edwin at May 16, 2008 07:34 AM