Skip to content

For Contributors Software Engineering FAQ

immjunjie edited this page May 30, 2025 · 1 revision

❓ Software Engineering FAQ

0. Organization

  • How should we organize the team project information?
    Here are some tools and channels we could use for effective team collaboration:
    • Project Management Tools: Trello, Jira, Miro, Notion
    • Live Communication:
      • WhatsApp group chat
      • Discord – General channel
    • Topic-Based Discussions: Dedicated channels on Discord
    • Version Control & Code Collaboration: GitHub

1. Process

  • What development process should we adopt?
    • Should we follow Agile methodology or another approach?
    • Perhaps a hybrid model — using Agile for new feature development and Kanban for task iterations?

2. Requirements

  • Do we need User Stories, Use Cases, or both?
    • Should we define high-level stories from the user's perspective, and/or detailed use cases for system behavior?

3. Models

  • What kinds of models should we design?
    (e.g., domain models, data flow diagrams, state machines, etc.)

4. Design Principles & Patterns

  • What design principles and design patterns should we follow?

5. Architecture

  • Which architectural patterns are most suitable for this project?
    (e.g., layered architecture, microservices, MVC, etc.)

6. Testing

  • What testing strategy should we adopt?
    (e.g., unit testing, integration testing, test-driven development)

7. Documentation

  • How should we handle documentation throughout the project?
    • Internal notes, API docs, user guides, etc.

8. Refactoring

  • When and how should we plan for refactoring?
    • Establish checkpoin## # ts or cycles for code improvements.

9. Tech Stack & References

  • Collect and document the technology stack and useful resources.

Clone this wiki locally