Inexperience with databases is certainly a factor that influences the data analysis. The time frame for this can vary according to the size of the application and the capability of the company to define what they want, but lets take a rough period of 1 to 3 weeks. Once the data analysis is finished the technical details can be filled in. Time frame is about 1 tot 2 weeks, also depending on how detailed this is done. In this stage the company is hardly involved.
Programming is an expert's job and requires concentration and dedication.
Nevertheless it would be good if at the start of the programming, the company could already see some prototypes of the data entry screen. Depending on the requirements the programming might take from a couple of weeks to a couple of months. The testing phase is very essential in the life cycle of an application. Any application comes with bugs and bad testing means shortening the life cycle of the application. While working with it, the company finds bugs, gets dissatisfied and throws the application away.