Hello:
You review and speak about lot of pattern and practices.
You apply many of them in your IT products.
You create test harness and keep changing them.
You create solutions and keep improving them, while we fix one we break others.
You code weeps when on heavy load and huge data.
Try all your best, only one thing is constant in your code which is change.
What to think when you are proposing the Web or Windows solution at system leval?
1. How Many users to serve for.
2. Will I have the control to their environment?
3. How do we ship our changes to the client?
4. What will be our error handling and reporting capabilities?
5. How easily can we change our code without affecting other area?
6. How can we care about scalability?
7. How can we Extend our architecture?
8. How do we segregate our DATA, DATA Transformations, Disconnected and Connected Data stores, Harmonization, Extensions and metamorphosis before we deliver data in the fast efficient, required manner to our Business, Domain and UI workflow to serve or act on one of the actions [In or Out] to the system, time, application and Human based actors.?
9. How do we manage Generalization, specification, aggregation, association, composition and decomposition based needs of our Target architecture as an Universe as well as multiple systems and their components as their sub systems.
10. How do we Visualize the data delivery, Objects and data transfers between object's inside and beyond system boundaries.
11. Do we really need to break the interfaces as in thousands or keep the common interface for all sorts of communication.
12. Does the common interface handles normalization?
13. Is the common interface is their to serve Large Objects to make the client work in disconnected fashion? Or has a chatty interface to make the data transfer in chunk and keep connected?
14. Does the in memory transformations has frequent call's to multiple systems out side the sub systems or out side the domain boundaries?
To Be continued...
While you choose the technology?
At Code Level?
While we choose the data delivery mode and connection to the system data source?
Security considerations?
Funding considerations?
Resource Considerations?
Support considerations?
Infrastructure and Development Environment Readiness and leval?
The Simple Pattern:
What?
How?
Why?
When?
Where?
Whom?
--
Posted By Anjani kumar to
Microsoft Techies Blog at 10/21/2011 10:35:00 AM