Top 8 Areas to Consider for Application Architecture Review

This article represents top 8 areas to consider when you are going to review an application architecture. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.
  1. Hardware and Operating System: Following areas need to be reviewed:
    • Hardware and operating system choices
    • Financial analysis
    • Processes for evaluating hardware and operating system
    • System capabilities involved in high-frequency, high volume data transfers
  2. Software Services and Middleware: Following areas need to be covered:
    • Coding standards
    • Data structures
    • Architecture layers
    • Design patterns (stateful vs stateless)
    • Design for change
    • Communication protocols
    • Code review processes
    • Unit testing
  3. Applications
    • Infrastructure: In case, the applications are infrastructure applications, one must examine if the functionaility provided is unique and not met by one or more of the standard products.
    • Business: As like above, one must validate the functionaility provided are unique enough.
    • Integration Approach: Integration touch-points and techniques are reviewed.
  4. Information Management
    • Data values: Business processes/actions around data management (creation, update, delete)
    • Data Definition: Data model definitions, data modeling
    • Data security
    • Hosting, Data types, and sharing: Which DBMS and why?
    • Common services: Standardized distributed data management services (consistency checks, data edits, validation, encryption etc).
    • Access methods
  5. Security: Following key areas need to be reviewed:
    • Authentication: Process flow of user authentication with the application
    • Authorization: Process flow in relation with how users access the application and associated data.
    • Access controls including external access considerations
    • Audit trails, Audit logs
    • Data security (Data at rest, Data in motion): How data is protected in rest (sitting in database) and in motion is reviewed.
  6. System Management: Following areas are covered as part of system management review:
    • Software configuration management
    • System administration
    • Monitoring
    • System audit logs
  7. Overall Architecture
    • General: Areas such as following needs to be reviewed:
      • Integration touchpoints
      • Computing resources requirements
      • Programming languages
      • Performance requirements (User requests volume, stress test techniques etc)
    • Client-server architecture
    • Client: Following areas need to be reviewed:
      • Look & feel consistency
      • Whether functions other than presentation is performed on UI side
      • Screen-to-screen user navigation
      • Async and sync coomunication support from the client
      • Local data storage
    • Application server: Areas such as dedicated vs shared server need to be investigated. Dependencies with other applications on same application server need to be examined.
    • Data server: Areas such as dedicated vs shared data server need to be investigated.
  8. Methods & Tools: It is mostly focused around reviewing the processes laid down for SDLC governance. Following areas need to be reviewed:
    • Processes used to manage different part of the projects
    • Documentation around processes
    • Team awareness of these processes
    • Tools in place to support the processes
    • Issues management and related processes
    • Metrics to review the processes
    • Process improvement metrics
Ajitesh Kumar

Ajitesh Kumar

Ajitesh is passionate about various different technologies including programming languages such as Java/JEE, Javascript, PHP, .NET, C/C++, mobile programming languages etc and, computing fundamentals such as application security, cloud computing, API, mobile apps, google glass, big data etc.Recently, he has been digging deep into the field of data science and machine learning.

Follow him on Twitter and Google+.
Ajitesh Kumar

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.