I just graduated with an M.S. in computer science. I did not have a background in CS before I started the program. Unfortunately, halfway through my degree, I decided I did not want to be a developer and skimped on all software-engineering and development courses in order to take more math classes that would help me out with my new career goals.
Good news: I got a job in the new field I wanted my career in.
Bad news: After 3 happy months, they decided to stick me on this huge software development project with one other developer. Neither of us have any experience developing and distributing software on a large-scale.
We have "succeeded" in getting a prototype working, but in reality, we are the only two people who actually know how to run the program. The amount of "special" knowledge required to get the program to run as expected is enormous. Every time we are asked to test a new scenario (this is a microsimulation model), we have to make major programming changes because the model was not designed to handle that scenario. When we finally get that scenario working, the requirements change again.
I really really want this project to succeed, but I am getting really really nervous, as both of my bosses (who also don't really have experience leading software projects or managing software development on this scale) expect this program to be distributed for company wide use very soon.
Problem is, I've made a few suggestions for how to improve the development process (slow things down and test), but they never seem to go anywhere. The response is always that we are on tight deadline and we just need to keep going going going. My nightmare is the day when we decide the model is working and that we need to distribute it. Things are going to go wrong when users input a set of assumptions that model can't handle or use a starting dataset with characteristices different than we expect. Then, I think, it will be my ass on the line.
I'm doing the best I can and working about 65-80 hours a week, but I don't think I'm going to be able to pull this off.
Any advice? I'm scared to make suggestions or suggest that the project is failing under the current conditions, but I'm also scared about what will happen if I don't speak up.
Thanks.
EDIT - I also wanted to add that another reason I am afraid to speak up is that I know what we should be doing (testing, design, etc.), but I don't have lots of experience with that either. I have general ideas for how we need to go about changing our ways, but I don't think I'm experienced enough myself to implement them.