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

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.
Posted in Application Assessment, Architecture, Enterprise Architecture, Software Engg.