TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How do you split up the initial work on a complex project?

9 pointsby bigblindabout 9 years ago
When a project is up and running, it's usually quite easy to divide tasks, but I find this harder when getting started. Do you do a lot of whiteboard design, and split it into classes/other units of code? How do you make sure these work well together? Or does every project best get started with work by one person, that others can add upon later?

3 comments

MalcolmDiggsabout 9 years ago
For complex backend projects we usually whiteboard&#x2F;flowchart as a team first (high level), and use that diagram to pick which parts should be assigned to which person.<p>At that point we start individually writing documentation for our respective pieces, (as if those services already existed). This might take the form of Readme files, wikis, or formal API documentation.<p>Normally the process of writing documentation (and getting feedback on it) flushes out of a lot of issues. When everything is documented and everyone is on the same page about what everybody else is doing, then we write our tests and repeat the same feedback process. Once everyone&#x27;s tests are on the same page, then we write our code, and do a code-review when that is done.<p>Even with all those checks and balances, mistakes and confusions and miscommunications still happen. But having those regular check-ins to flush out issues before the real code gets written can save a lot of headache. If you get to the code review and find an issue, it&#x27;s probably not going to be a huge one.
staunchabout 9 years ago
Someone creates the user interface and someone creates each of the backend APIs that powers it.<p>Prototyping the user interface can be done by any number of people any number of times, since the goal is to experiment with different ideas. The backend APIs are usually mandated by what the user interface requires.
ianpurtonabout 9 years ago
To me it&#x27;s about finding the critical path.<p>You find what things might stop your project going live and work on those things first. If they can be worked on in parallel even better.