DEV Community

Yasunori Tanaka
Yasunori Tanaka

Posted on

The things I noticed in mysterious project

Tech

DB design

Don't use binary format tool like MySQL Workbench

It's not easy to share a binary file in a team or VCS.

Design tables incrementally

Create only the tables that we can know so far. Do not spend time to create entire system tables by estimating the future of the tables. But we should make a sequence diagram of our business at the beginning.

Use plural or singular table name for

Plural or singular is not essential. But we should decide which one we use at first.

Architecture design

Don't use an architecture that is over-engineering

We should not use a big architecture like the Clean Architecture at the beginning. That is just wasting your team's time.

Protocol Buffers

We used Protocol Buffers initially, but I think It was over-engineering because we just created a web service that doesn't have special tech. It was enough to use JSON format for communicating between and front-end and back-end.

CI and CD

We should prepare an app for checking an overview of it by business members at the first beginning. To reduce uncertainty.
Updating prototyping and web pages.

Remote work

Our all team members worked from home and used Zoom and Discord. We use Zoom for only video and Discord for only voice chat. There are great communication tools so far. We feel as if we work at an office together. We don't have any walls between us.

research what tech we use

update our workflow and diagram constantly

Use a sequence diagram on the web, not a local file. It's easy to collaborate.
paper prototyping -> write detail in Figma

model

Create a specific model for requesting and receiving data, not use entity.

Create a prototype view

Share your app's prototype and discuss it with your team. Prototyping should not be costly to create and share.

Updating prototype for accuracy

Project management

Set a final goal and deadline and make a plan to get there in time. Use the milestone in GitHub to make small goals.

Iterate this

  1. create specs
  2. data structure
  3. create app
  4. launch

Stakeholders can check this app

create issues by the members want/suggestion

Use the Milestone and Project in GitHub.

We should not put pressure too much on members.
Don't do use complex project management schemes and tools like the Scrum in a small team.

we should share our goal

Team

communication

We should have an environment that makes us easy to communicate each other anytime.

respect our team members

Top comments (0)