Influenced design and architecture decisions

Today I read this article “Real Software Architectures, not the Fanciful ones Work “ and “User-Centered Software Engineering (UCSE)“.  Thanks Shailesh and Anil Pager. I appreciate you guys for writing these articles and sharing your learnings. I am sharing observed instances of not following “Focus on deployment”, “threat modeling for security” , “ “Regular user feedback”and the effect of “Lust for using latest technologies”,and its adverse impact on the customer and project delivery. One needs to avoid similar type of pitfalls(below) and take preventive actions, focus on deployment and validate the assumptions from their client

  • Office 2003 and Office 2007 do not have system need of .Net 2.0 and .Net 3.0. But when you create office add-ins with VS.Net 2005 or VS.Net 2008, our application ends up with a .Net version requirement, which is driven by the technology we selected and not the deployment environment.
  • Windows Vista come with new type of message boxes that allows you to be very creative, but it depends on .Net 3.0 framework specific libraries. So once your application is upgraded with vista style message boxes, your application forces installation of new  versions of .Net framework.
  • ASP.Net 2.0 is considered as a cool technology to work across multiple browsers. Single File Download works fine with module based approach, but  multiple file download has its own issues with consistent working. You can fix this with ISAPI approach.
  • Business application build for ASP.net 2.0 on the computer works the same way with Blackberry browser. But if you try anything fancy like file streaming or file transfer, you fail miserably and this is due to architecture followed by Blackberry.
  • Making use of WCF services and creates .Net 3.0 based WCF client reduces the development efforts. But this demands the availability of .Net 3.0 based WCF at client side.
  • Have the whole business logic in terms of store procedures and database, leading to the application not being ready for SOA type deployment and have security loop holes.
  • Customer always want to see the latest updated and created data in reports, but this does not get reported as requirement. if there are multiple business entities, what needs to be displayed for the different entities depends on business and performance and is not generic.