Friday, June 18, 2010

"Reduce repetitive work" [REDUCE RE-WORK] - Software Development And Asp.net

One critical issue might slow down software development process is repetitive work.
Where this happen:
Analysing: Understanding problem domain 100% and delivering the ideal solution to the client will be the ideal case. However in reality lack of understanding problem domain cause less achievement of client goals which can cause a re-work.
Agreements: Lack of understanding to end point and clear objectives, both developer and clients get confused causing clients to change their mind at the last minute which can cause re-work.
When you are coding: If we can write a programme like we write a love letter, it will be the ideal case. But this is not. But having a proper plan what you are going to implement you can write programmes. But in really we develop programmes. Development involves revisions and iteration and re-work.
How to minimise repetitive work:  
  1. Spend fair time of background study and understanding the problem. For example if you implement an accounting system, it is better to have some background knowledge of accounting.
  2. Produce mock-up as much as possible. Get mock-ups agreed by the client.
  3. Document requirements properly and re-wise and get sign off by the client.
  4. Provide a good architecture to the solution. Consider using multi-tier-architecture. Use object oriented programming concepts. Occupy common software patterns as much as possible like MVC and Active Records
  5. Document the plan. I know this is painful but this save time a lot. What I would do is at least implement high level ER-Diagram and Class Diagram.
  6. Avoid copy and paste. If you use a common mark-up in several places implement a user control. Even better, if little repetitive segments of code you can implement custom server controls.
  7. Use asp.net master pages and asp.net themes and skins.

No comments:

Azure Storage Account Types

Defferent Types of Blobs Block blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually...