Monday, 28 April 2014

How to develop a software like a pro !

How to develop a software like a pro !

This blog is written assuming the waterfall development model - but it will be applicable to Agile methodology also.

1. Requirement gathering phase
This is first document which lands on a developer’s table before developing the code.
You must document every business requirement no matter how hard pressed you are for time. This will only ease your life in the future. Do not miss the headings in this documents, such as:
a: Exact requirements
b: Assumptions
c: Schedule
d: Limitations

2: Don’t reinvent the wheel
First learn the frameworks/ design patterns / best practices  which are available to solve a particular problem. Discuss the problems with your team members and look at the problem from various perspectives.

Do not try invest your energy and time in inventing your own frameworks when thousands of them are available from open source. Most of these frameworks work fine as they have already been used in numerous other applications. Inventing your own framework may unnecessarily complicate the things.

Many solutions are already available, just reuse them and move ahead.

3. Do not complicate things
Do not try to develop complicated solutions for problems that can be resolved easily. Sometimes the programmers implement frameworks that are not needed at all. There are others who add property files, object-oriented solutions or threads to the applications that unnecessarily complicate the things.


4: Code phase
a. Add comments to your code
Although required but do not over do it.

b. Always avoid hard coding
Java developers often forget this rule or omit it for shortage of time. Hard coding may mess up the things.For eg:  Always try to add one extra line of code that defines a static final variable.


c. Provide the requisite code
Unnecessary economy with code may prove harmful because writing fewer code lines may hamper the efficiency of the code. So write the full code required for the project.

5: Unit Test
Do not write the entire code in one go. Write small modules, test it and then proceed.
Present the unit test results to all the stakeholders - development team members, testers, managers and client. Get their feedback and approvals.


6. Recognize the importance of Graphical User Interface—GUI
In today’s world, everything is going mobile. Hence the need for a great looking and working UI cannot be undermined.Try to make user-friendly rather than computer friendly designs.


Realize that as a developer, you should provide the following things:
1: Design documents (high level and low level)
2: Code
3: Unit test document and the results
4: Information document about the application (or feature). Eg: manual pages.

No comments:

Post a Comment