I go to a meeting every Monday in which the question is asked, "How do you feel about [next release]?"
That's not the easiest question to answer. We're still in active development, so I certainly wouldn't want to see it shipping! However, there are a lot of nuances between "not started" and "ready to ship".
There are a lot of things to consider when you're thinking about how a development effort is going:
- What's implemented. You said you'd do n features. Have you done some of them?
- Burndown. If everything that's ready is small stuff and the harder/larger stuff is left, that might be a problem. Check your remaining estimated tasks against the time you have left to see if you're on track or not.
- Bugs. Are you finding lots of bugs? This may be a good thing. If you're finding the same numbers of bugs, but two weeks earlier, then you're improving. If your find rate is far higher, though, that's a red flag.
- Can you get it running? If you're in a good state, you can probably install the software and get it basically running in a QA environment. If you can't do this, you're in a pretty unstable state. If this is planned, that's okay. If it's not planned, we have a big red flag going on.
- How far are you? Early in the release cycle instability, inability to install, etc. are generally not a big deal. Late in the release cycle, those things start to become problems.
When you're asked how things are going, don't just go with your gut. Take a few minutes and do a little research. Get a good picture of everything - dev, testing, etc. - and only then talk about how the release is going.