Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you begin breaking your project up into smaller pieces? [closed]

I have seen this thread:

Breaking down the project into small tasks

and it is helpful. I'm just not sure where to begin. Do I just read a book on agile and use that methodology as the project manager? Is agile a complete system from the absolute beginning to the end? Any software for a suggestion is also welcome, any platform.

It is a facebook app of moderation complexity, if that matters. I'm trying to "do it right" instead of by the seat of my pants. I know everyone's "do it right" may be different but I need some systemization techniques.

I don't expect perfect project management just the right general direction. I know I'll never deliver unless I break this down and maintain enthusiasm. It will get overwhelming very quickly - just the thought of it is.

Thank you.

like image 364
johnny Avatar asked Feb 27 '23 21:02

johnny


2 Answers

You could read a book on Agile development but that won't write the code for you. I would sit down away from a computer and write out a list of about 5-10 small tasks in your project. They should be small enough you should be able to finish them all in a day or two of work. Next, write a time estimate for them. Then do as many of those as you can. As you go back over your time estimates you can reflect on your time management.

As you go, try and focus on isolating key functionality and abstractions that are present in your project. If you have a customer besides yourself, talk with them at each iteration and see how they think the project is going.

As you do this you could also be reading up on agile development. Agile development attempts to solve a lot of problems encountered when working on a team. If you can then I would get a friend to work on this too and you might find you learn more that way.

like image 145
Pace Avatar answered Mar 02 '23 11:03

Pace


Here are some suggested steps based on Scrum.

  1. Create a list of features (‘Product Backlog’) your application will perform. Ideally this should be done with the customer.

  2. Assign gross estimates to those features with the developers doing the work (Maybe that’s just you).

  3. Prioritize those features. Again with the customer (if available).

  4. Allocate those features into 30 day buckets (Sprints).

  5. Using the feature(s) allocated to the Sprint, create a list of tasks (Sprint backlog) that can be completed in 8-16 hour increments.

    Here are some examples:

    • Create data tables for feature X.
    • Create UI layout for screen 1.
    • Create event(s) for controls on screen 1

    You also don’t have to limit yourself to programming tasks. Tasks can also include things like research, as long as an end result is achieved. Ex. Research Facebook’s API and determine an interface approach.
  6. At the conclusion of the Sprint, do an evaluation based on how quickly you/your team is getting things done (your velocity). This might require adjustments to estimates in both the Product and/or Sprint Backlog.

like image 44
Curt Avatar answered Mar 02 '23 09:03

Curt