Application Development Design Process
WHERE DO I START?
Thats a question I get a lot and if you haven't been in the mainstream of development you may be a little lost. There are so many ways to arrive at building an application so im going to explain the standard process.
Usually Defining what the application is to do is the funnest and easiest part of the process. In this stage you really need to connect the dots as it will help in teh latter processes. You will need to figure out several things like are you going to allow other people to use or is this an internal application or is the application going to help you do a particular task. The difference could define what framework , code, database, or look and feel of the application.
The next is Design. Do yourself a favor and let the experts handle the UI Design. Developers are not designers and they often cant create "pretty" pages. Not saying they cant but its usually a good idea to let a designer create a PSD for you that will layout every page. I know thats an extra cost and step but if you don't want issues its really the best way to do it. The advantage is that you can change it on the fly and when it reaches the developers they are not constantly changing code or UI. You may think your great idea will be awesome but if you keep adding things to the developers you will 100% get behind in tasks. I know you think not but my 15 years have taught me sometimes a Phase 2 situation is better than not even having a phase 1. This means you can wait unless its something that is going to impact users. The beauty of design is you know exactly where you are in the development cycle. If the developers haven't gotten there yet then change it, if they have just leave it alone till next build.
Develop the application. This is my favorite part and is where all that time preparing comes together. You should by now have a timeline, UI Design, A features list with what its suppose to do , the database tables defined an d mapped, and developers to do the job. If the first two process are followed you are going to have a happy development environment. The fact is that most developers like things laid out. If that's not possible in some fashion confusion sets in. You loose time, money, and miss deadlines and screaming at the developers is not an option because your the one at fault. I am not saying there wont be issues popping up because there will be, in fact its a guarantee. The difference is you will have already planned for this in your design phase. Its a good rule of thumb to calculate for each hour you should add 15 minutes to the project timeline.
Example:
8 hour Project
8*15 =120/60 = 2 hours
Total Job 10 Hours. Its not a perfect system but its usually true more than not.
The next up is TESTING. We all understand this word but do we really know what it means in an application. Unit- testing has to be done during the development process so make sure you do that because it will make this process less labor intensive. Test everything and get sign offs. Do testing logically form a user standpoint and do not let the Dev team do the user testing. The only thing the dev team should test is the test units. Of course they will test their own work and then another dev will test them. You can get testers for a much lower wage than developers so why on earth would you waste that time,money, and their expertise doing user testing.
DEPLOY
To be really honest this should be kind of happening throughout the development application. The only thing that i would suggest is that the only code that goes into production is the modules that have been signed off. If you break down development into sections and grouped by features it will make deployment easier.
If you are considering creating a new application please consider this process as a great starting point. The actual process of defining,designing,developing,testing, and deployment will have many more components inside each process.
If you need any help I will review your application and help you create a clear map of what you need to do to take a concept to completion. Email me any time.
Insightful and definitely the best way to create and deploy any computer application.
Very clear and concise.