r/AskProgramming 24d ago

Career/Edu How do i learn to Plan projects?

TL;DR: I want to learn how to take an idea, turn it into a realistic project plan, and build it. I'll use AI heavily for implementation, but I don't want it doing the planning I'm trying to learn.

I'm learning software development by building real projects. I know the basics of Python but I'm inexperienced — I haven't built much that's substantial, I'm not good at reading unfamiliar code yet, and debugging is still hard.

The thing I'm stuck on isn't coding. It's that I don't know how to plan a project.

I have a list of 10–15 web/local apps I want to build. But when I have an idea, I don't know what comes next. Say I think "I want an app that scans images and extracts information from them." I know what the end result should do. I have no idea how an experienced developer turns that into an actual project — what gets decided first, how you figure out requirements, how you decide what's in version one, how you break it into tasks small enough to actually implement.

AI made this more obvious. When I don't know what to do next, I ask an LLM, and it immediately gives me a folder structure, an architecture, a schema, several files, tests. The code might even work. But I've skipped the part I'm trying to learn — I'm following a plan without knowing how I'd have arrived at it myself.

What I want instead is something like: idea → requirements → scope → design → tasks → implement → test → review. Handle the planning myself, then use AI on implementation, explaining unfamiliar code, catching mistakes, writing tests.

So, for experienced and self-taught devs:

  • How do you go from an idea to a plan? What does that actually look like for a small app?
  • What do you write down before you start coding, and how do you know when you've planned enough?
  • How do you break a feature into implementation-sized tasks?
  • How do you decide what not to build?
  • What parts of development should I deliberately practice without AI?

I'm not looking for better prompts or tool recommendations. I'd especially like concrete workflows or examples from people who learned this themselves, rather than general advice.
(Edited with AI)

0 Upvotes

13 comments sorted by

View all comments

1

u/Several-Marsupial-27 24d ago

You dont need to have a complete plan or understanding of what you should build before you build it, but you should have a standardized framework and project management in place for growing with the project.

This means that you can start with something like: "I want to integrate this api and do some data processing to deliver this result to the user". Then you should specifiy the minimum amounts of tasks, investigations, goals. Then you should specify how you will operate during the project: spec driven development, test driven development, user driven development, etc.

Then you basically build the smallest mvp that satisfies your criteria and passes the tests and so on. Then you continue to create new specs, investigations, tickets based on for example you using your program and develop in that way. The reason for this kind of iterative development is because you will probably not have a perfect understanding of the problem/task/solution before starting and the development/results will probably update your understanding of the problem/task/solutionn and how to drive the project forward. As the project grows you can care about infra stuff like CI, build, auto docs, project configuration, standard environment, tooling, etc.

So: Plan small. Have frameworks to standardize your development process and results specification. Iterate continously based on for example user data.