Let me share with you guys what goes in to developing and testing commercial s/w. I don’t know exactly how HTC approaches it but it’s a pretty standard process.
I’d guess there are different teams that work on different components of a ROM.
– These are the nuts and bolts that support the OS calls and include things like drivers, low-level code, and the kernel. This team also liaises with third-parties like Nvidia.
- This include the radios; cellular, BT, GPS, and Wi-Fi.
– This includes the OS, Sense 4.0, any HTC proprietary apps, bundled third-party apps (EG: Polaris) and the integration of things like the accessories (desk dock, car dock, Media Link HD).
So to release an update, multiple teams are working on various aspects of it at the same time. Each team tests their work but can only do so much with their individual pieces. As work is completed it’s glommed together in the form of a single ROM for the first time. That’s when internal testing begins in earnest. At the same time, the now complete ROM is placed in a version control system so all the teams are working on it together rather than focusing on their individual components.
Typically there’s a team of testers pulled from various departments in the company because you can’t have 10-30 people standing by to test full time because the work ebbs and flows. The test scripts that are followed are probably the size of a phone book. As issues are identified during internal testing the person overseeing testing tries to isolate it, logs it, and reports it to the team most likely responsible for resolving it. Each time a team or member of a team identifies and resolves an issue, depending on how core the issue is to the entire ROM, testing may have to start again from the very beginning of the script. This repeats dozens of times until the ROM passes internal testing cleanly.
Once internal testing’s complete testing is opened up to a broader user audience. Most likely having HTC employees and/or Elevate members starting to use the ROM on their personal devices. They provide feedback via a problem tracking system and the developers look for commonality in the problems reported and make changes to the code accordingly. If major issues are uncovered it’s back to square one which includes another full round of internal scripted testing followed by pushing the revised ROM out to the larger user group. This repeats until the ROM is deemed “acceptable.” Since no s/w is ever perfect, “acceptable” usually means shippable.
So the six-week old 2.05 test ROM passed internal testing and was distributed to a larger user group. Something must have been discovered that caused the developers to make some major changes. So it’s somewhere in the (re)testing process right now.
Like I said, this is the way s/w development is done. HTC may have their own unique spin but it’s not going to be much different than I described. So, while we want it now, we don’t always get what we want. And I’d personally rather wait until it’s done than have to suffer through some of the issues we all faced with the original shipped ROM. I'm guessing but the actual coding of an update could take anywhere from four to twelve weeks with testing always being as long (or longer) than coding. And based on the way this process works you can pretty much take as a given that JB isn’t “right around the corner.”
And that's how the sausage is made.