Geeks With Blogs

News Ashraful Alam Joy

Create Your Badge

Ashraful Alam is a Software Architect, who has 8 years of professional experience in Software Development industry. This Bangladeshi national is involved with project management and development of several US based software projects from his country. Already he has managed and developed several software projects, which are being used by several users of different countries, such as USA, Canada, Australia, and Bangladesh. While developing and managing a team, he contains and maintains a set of well defined engineering practices developed by him and other online developer communities.

Due to his willingness to give effort to improve and share better software development practices, Ashraf has been awarded as “Most Valuable Professional” (MVP) in ASP.NET category by Microsoft since year 2007 multiple times, which is a rare honor and prestigious reorganization among the developers around the world.

Check his portfolio to know more about him and his works.

.NETTER Characters... Every part of your life is best, if you can know yourself and thus create your life like an artist!


In perfect world you can get all of the best things in one place. But in real world it’s not. In software development there are some basic trade-offs when you consider a specific design feature. Exploring these considerations will help you to create the architecture that matches best with the given context.


Security (code level, encryption etc) VS Performance (code level)

Caching: Memory VS Performance

Object Oriented/Layered Code VS Performance

Scalability VS Deployment (n-tier)

User Experience


Security (user level) VS Usability (user level)

Usability (user level) VS Functionality (user level)

Robustness (user level) VS Usability (user level)

Rich User Experience

AJAX VS Browser Compatibly Issue

Rich Function (FAT Client) VS Poor Function (Thin Client)

Developer Experience

Development Time

Analysis and Design Time VS Development Time

Object Oriented Programming VS Development Time

Quality Assurance and Control VS Time

Well Engineering VS Modification/Change/Reuse (Understandability) Time

System Data Reliability (back up) VS Maintenance Time

Development Structure

Readability (code level) VS Writability (code level)

Reliability (code level) VS Flexibility (code level)

Developer Improvement

Own Study VS External Resources

Latest/New Practices VS Learning Time (PHP VS .NET etc)

kick it on Posted on Wednesday, February 6, 2008 6:01 PM Implementation , Architecture , Software Development | Back to top

Comments on this post: Software Design Tradeoff Factors

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Ashraf Alam | Powered by: