Expensify: Advanced Approvals Design Doc Review

Alex Johnson
-
Expensify: Advanced Approvals Design Doc Review

Introduction

This document outlines the review process for the design document related to the Advanced Approvals feature within the Expensify application. The review is targeted towards a diverse audience, including Expensify employees from various backgrounds such as engineering, non-engineering graduates, and project managers. The goal is to ensure that the design is well-understood, comprehensive, and addresses the needs outlined in the tracking issue. Your careful consideration and feedback are invaluable in shaping the successful implementation of this feature.

The Advanced Approvals feature aims to enhance the existing approval workflow in Expensify, providing more granular control and flexibility for expense approvals. This includes functionalities like multi-level approvals, conditional approvals based on expense characteristics, and automated routing based on predefined rules. A robust and well-designed approval system is crucial for maintaining financial compliance, streamlining expense management, and ensuring that expenses are reviewed and approved by the appropriate personnel.

Before diving into the specifics, let's clarify the scope of this review. We are focusing on the design document itself, assessing its clarity, completeness, and feasibility. This includes evaluating the proposed architecture, data models, user interface designs, and potential challenges. We also want to determine if the design aligns with the overall product vision and integrates seamlessly with existing Expensify features. Ultimately, the review will help identify potential issues early on, ensuring a smooth development process and a high-quality end product.

Review Process

The review process is straightforward and designed to be as efficient as possible. First, you will need to access the design document. The link is provided in the initial task assignment. Take your time to read through the document carefully, paying attention to the details and understanding the overall design. Make notes of any questions, concerns, or suggestions you may have. It is important to consider the design from your specific perspective, whether you are an engineer, a non-engineering graduate, or a project manager. Each viewpoint brings unique insights that contribute to a comprehensive review.

After reviewing the document, you can provide your feedback directly within the document itself, using comments or annotations. Alternatively, you can compile your feedback in a separate document or a structured list. Be specific and constructive in your comments, explaining your reasoning and offering suggestions for improvement. If you identify any potential issues, highlight them clearly and propose possible solutions. The more detailed and well-articulated your feedback, the more valuable it will be to the design team. The goal is not just to point out problems but to help find solutions that lead to a better design.

Once you have completed your review and provided your feedback, the final step is to update the master tracking issue. This involves pressing the ๐Ÿ“ƒ โœ… Reviewed Doc button in the Comments Shortcuts โฌ†๏ธ menu on the right-hand side K2 panel. This action signifies that you have completed your review and your feedback is available for the design team to consider. After updating the tracking issue, you can close this review issue as done. Remember that your review plays a crucial role in ensuring the quality and success of the Advanced Approvals feature. Your insights and suggestions will help shape the final product and ensure that it meets the needs of Expensify users.

Key Areas of Focus

When reviewing the design document, consider these key areas to ensure a comprehensive evaluation:

  • Clarity and Understandability: Is the document clear and easy to understand for individuals with varying technical backgrounds? Are the concepts explained in a concise and accessible manner? Ensure that the terminology used is well-defined and avoids jargon that may be unfamiliar to non-engineering audiences.
  • Completeness: Does the document cover all aspects of the Advanced Approvals feature, including functionality, data models, user interface designs, and potential edge cases? Are there any gaps in the design that need to be addressed? Verify that the document includes sufficient detail to guide the development team in implementing the feature.
  • Feasibility: Is the proposed design technically feasible and scalable? Are there any potential technical challenges that need to be considered? Evaluate the design in terms of performance, security, and maintainability. Consider whether the proposed architecture can handle the expected load and complexity of the Advanced Approvals feature.
  • User Experience: Does the design provide a positive user experience? Is the user interface intuitive and easy to use? Consider the needs of different user roles and ensure that the design accommodates their specific requirements. Evaluate the workflow from the user's perspective and identify any potential pain points or areas for improvement.
  • Integration: How well does the Advanced Approvals feature integrate with existing Expensify features? Does the design ensure seamless compatibility and avoid conflicts? Consider the impact on other parts of the application and ensure that the integration is well-planned and executed.
  • Security: Does the design adequately address security concerns? Are there any potential vulnerabilities that need to be mitigated? Consider the security implications of the Advanced Approvals feature and ensure that appropriate security measures are in place to protect sensitive data.

Specific Considerations for Different Roles

To ensure a thorough and well-rounded review, it's important to consider the design document from the perspective of different roles within Expensify. Each role brings a unique set of skills and experiences, which can contribute to a more comprehensive evaluation.

Engineering Perspective

As an engineer, your focus should be on the technical feasibility and scalability of the design. Consider the following questions:

  • Is the proposed architecture sound and well-suited for the Advanced Approvals feature?
  • Are the data models efficient and scalable?
  • Are there any potential performance bottlenecks?
  • Can the design be implemented using existing technologies and infrastructure?
  • Are there any security vulnerabilities that need to be addressed?
  • How maintainable and testable is the design?

Non-Engineering Graduate Perspective

As a non-engineering graduate, your focus should be on the clarity, usability, and overall value of the design. Consider the following questions:

  • Is the design document easy to understand, even without a technical background?
  • Does the Advanced Approvals feature address a real need for Expensify users?
  • Is the user interface intuitive and easy to use?
  • Does the feature provide a clear and compelling value proposition?
  • Are there any aspects of the design that are confusing or unclear?
  • How does the feature compare to similar solutions in the market?

Project Manager Perspective

As a project manager, your focus should be on the feasibility, timeline, and resource requirements of the design. Consider the following questions:

  • Is the design achievable within the given timeline and budget?
  • Are the resource requirements realistic and attainable?
  • Are there any potential risks or challenges that could impact the project?
  • Does the design align with the overall product roadmap and strategy?
  • Are there any dependencies on other projects or teams?
  • How will the project be managed and tracked?

Tracking Issue and Next Steps

Remember to head over to the master tracking issue (https://github.com/Expensify/App/issues/56386) and simply press the ๐Ÿ“ƒ โœ… Reviewed Doc button (in the Comments Shortcuts โฌ†๏ธ menu) in the right-hand side K2 panel or follow these instructions.

After that, you can close this issue as done. Happy reviewing!

By following these guidelines and carefully reviewing the design document, you can contribute to the successful implementation of the Advanced Approvals feature and help Expensify continue to provide innovative and valuable solutions to its users.

Conclusion

Your contribution to the design document review is highly valued. By providing your unique perspective and expertise, you help ensure that the Advanced Approvals feature is well-designed, user-friendly, and meets the needs of Expensify users. Remember to focus on clarity, completeness, feasibility, user experience, integration, and security when reviewing the document. Consider the specific questions and concerns relevant to your role, whether you are an engineer, a non-engineering graduate, or a project manager. Your feedback will play a crucial role in shaping the final product and ensuring its success.

Thank you for your time and effort in reviewing the design document. Your insights are essential to the success of this project.

For more information on design document reviews, you can visit Atlassian's Guide to Document Reviews. This external resource provides valuable insights and best practices for conducting effective document reviews.

You may also like