Content deleted Content added
Isaacbowman (talk | contribs) named the ref tag |
No edit summary |
||
Line 15:
== Requirements ==
Everyone needs to be on the same page before jumping into programming. This is a fundamental truth to almost any endeavor and even more so when accomplishing a group driven programming task. If you are programming alone you may find yourself adding or tweaking your application which depending on who you ask can be a good thing, but when you are looking at an enterprise piece of software everyone involved in the project needs to understand clearly the requirements and goals of the project before moving forward. End of story.<ref name="bcp"/>
== Architecture ==
This almost goes without saying, but we're going to say it anyway. Choosing the appropriate architecture for your application is key. You have to know what you are building on before you can start a project. Check the architecture of the target. Read as much as you can about the ins and outs of the platform and note any pitfalls before you start your code. It will go a long way to heading off any bugs that might be 'show stoppers' later on.<ref name="bcp"/>
== Design ==
Even if you feel great about knowing the architecture of your target platform without a good design you are going to be sunk. Try not to fall into the trap though of over-designing the application - a common saying is 'dont bite off more than you can chew' and it makes sense here too. The two basic principles are to "Keep it Simple" and to utilize information hiding (Dont show the user more than they need to see). Often this is where [[OO Analysis]] and [[UML]] comes in. Do a Google search on UML and you'll find dozens of articles on using it.<ref name="bcp"/>
== Code Building ==
Building the code is really just a small part of the total project effort even though its what most people equate with the whole process since its the most visible. Other pieces equally or even more important include what we have already gone over above namely [[requirements]], [[architecture]], [[analysis]], [[design]], and [[testing]]. A best practice for building code involves daily builds and testing.<ref name="bcp"/>
== Peer review==
It's ok, really! Look at other peoples work. Learn from it. Chances are if you have a problem that someone else has already had and resolved the same problem. And don't be afraid to ask questions. Let others see your code and learn from their knowledge. Wisdom in programming is knowing where to look for answers as well as knowing how to solve a problem yourself.<ref name="bcp"/>
== Testing ==
Testing should not be an afterthought. It is an integral part of software development that needs to be planned. It is also important that testing is done proactively; meaning that test cases are planned before coding starts, and test cases are developed while the application is being designed and coded.<ref name="bcp"/>
== Deployment ==
Deployment is the final stage of releasing an application for users. If you get this far in your project your in the minority. Sorry, its the truth. Most programs dont make it this far. So take a break and pat yourself on the back!<ref name="bcp"/>
== References ==
|