Breaking down a task is actually a challenging problem. Sometimes, without actually doing the work, it’s hard to determine how many sub-tasks are needed or how much time they will take. In the IT industry, time estimations are often inaccurate and not particularly useful.

Therefore, it's best to adapt dynamically as we go. By breaking down tasks, we can gradually identify which parts are essential and which might be unnecessary. Only by doing the actual work can abstract ideas take concrete shape, making it clearer what the next steps should be.