Development cycles are extremely interesting, you have an idea and a core problem that you are out to solve. Early on in development you will study other apps, core user interface designs, and really map out your application. After this it is time to code and get serious. The following months you set a core foundation that you will build the apps off of, core user interface principles you want to implement, and of course start knocking features off one at a time.
Fast forward a few months, you have finished most of the core features, done internal testing and it is time to do a little alpha or beta testing with your users. If you are lucky you will have some great testers that really provide feedback, bug reporting, and will take time out their day to help you personally. I have been pretty lucky that my testers have been fantastic, although there is no possible way to ever catch any and all bugs unfortunately. During this period of beta testing and pushing towards a release candidate it is basically non stop. Welcome to the weeks of 60 to 70 hours at the office plus weekends. Not to mention that you have already been working 50 to 60 hour weeks before this. You do this though because you love it and this is kind of what software engineers do.
So now you are grinding away, fixing bugs, putting on layers upon layers of polish onto your app. Using it non stop at home, on the bus, and any spare time you possibly can. Then the day comes… it is done. This is the RC, you have done it… alright well probably not as you will most likely continue to grid out and pump out a few more RCs and to the extent that you are working so much and so fast that your testers can not possibly keep up. Alright for real this time RTM it is time to submit.
At this point in the development cycle you are the most nervous, anxious, and overwhelmed as you have just submitted your app to be certified by 1 or more app stores. You are handing your app over to someone that has NEVER seen it before, never heard of you, and now you have given the power over to someone that can simply with a click of a mouse destroy all of your hopes and dreams and reject your app from certification. Oh did I mention that this could take anywhere from 24 hours to a full week. Your app is most likely to get rejected for no good reason and then you will try to figure out what the tester found as they most likely didn’t provide you any information at all to even try to help you.
Grind, grind, grind and then boom you submit again, and again until you get that golden ticket “Your app has been approved!” Yes you are soooooo excited you made it, it is your time to shine. You plan out your release for a specific day and time and prep your website, press, twitter, and whatever you can to get ready.
Now it is an interesting time for the developer. You have done it all your hard work is about to pay off. However you now more than ever are scared. Scared that your app is going to come out and get slaughter, sell nothing, no one will care, or something will go horribly wrong with you app. This is the most stress you will ever experience throughout the entire development cycle. What will people think, is it good enough, what about this tiny bug that you just found that will probably effect no one but you are freaking out. This app is you, your hours, days, and life pour into this app that you are about to give away for free or for a few dollars.
The day comes and your app is released, anyone can get it, all the stress is off your shoulders? Correct? Probably not, as now it is time for that backlash from users. Your users that you love so much because they downloaded your app. Things wont work, something they didn’t like, that little bug might pop up, who knows what else. Then it happens the reviews & emails pour in as by far you first day and week will be your highest sales ever. 1 star, 2 star, you read through taking each and every word personal. Like a stab to the heart all you want to do is reach out and say PLEASE EMAIL ME, PLEASE TWEET ME, LET ME HELP YOU with the issue that you might experience!!! Then there is the feedback that really hurts and there is nothing you could possible do about.
Now is the time where you want to run away. You question your development talent and if what you have sunk your time and energy is worth it. You enter a pretty deep state of depression and frustration. You want to help everyone and not read all the feedback so you can clear up any issues people are having and push out updates… updates that will force you to suffer the same certification process over and over again. Your app will stabilize, your users will be happy, and then you will start work on new features, or a new app and live it all over again.
You remember that you do this because you love it. Each 5 star review, positive comment from a user reinforce the fact why you pour in the hours that you do.
*This entry is not only from a bit of personal experience, but also from a large number of developers that I personally follow on twitter and have talked to myself over the last few years I have been developing applications.