Jump to content

How (detailed) are you planning your projects?


huseyin
 Share

Recommended Posts

Hello,

i usually make a very basic plan (say a A5 paper) and start my project. (We say this is a turkish type of project planning)
This way i need to correct many thing later while work on the peoject.

Want to how others make the planning of a project.
How detailed are you planning in advanced before begin coding or templating?
Write down all workflow with tables and field names and relations?
Drawing every page layout?
Do you use ant tools or software for planning the outline of a project?

Thank you in advance for your shares...
 

Link to comment
Share on other sites

Hi huseyin,

just to put things into the right perspective.
I studied design with an emphasis on concepting digital media and I am a certified scrum product owner. 
My projects are in the range of 100 - 500 dev days with usually 5 - 10 project members and a variety of stakeholders on top.

Usually I start with a blank piece of paper writing down my ideas, thoughts, possible workflows etc. call it a typical mindmap. This should give me a brief understanding of the problem we try to solve. 
From this first rough idea I iterate into several pieces our project may need, something trivial like a login or newsletter register. 

The output of the second phase usually are all needed views and workflows we try to tackle. This could but doesnt have to include wireframes.
Lets call it the refined product/project concept. Depending on the team, client and project we involve UI/UX for information architecture and design or use an existing Frontend Framework. 
But, not involving UI/UX doesnt mean we dont need a rough Design Wireframe. 

It is in yours, your developers and your clients best interest to atleast provide rough wireframes of every single view.

At this point we should have the following documents

  • project mindmap
  • Initial concept with workflows
  • wireframes for every view

What could help to understand your project/product better is to create a product canvas. I attached 2 examples below. 
I highly recommend to try this method out. It helps to communicate, share and maintain a general overview of your project troughout the whole team including your client.

Next we start to refine the concept into a technical concept, which means my developers have to provide an architecture blueprint. 
What servers are needed? How do they communicate? etc...
What we also need is a planned database, how do our models look like? How are they organized? What services do we need? You get the point. 

This looks like a lot of work and it is. Usually 30-40% of our billable time is from concepting. If your client says a conecpt isnt needed, he knows what he wants. Believe me, he dont and he needs. 

Do yourself a flavor and plan your projects èn detail before touching your IDE. It will save you a lot in the longrun. 

[edit] 

You asked about tools, we use the following

  • JIRA
  • Confluence
  • Slack
  • good ol Excel

If you need any help I would be happy to anyswer your questions.

Product-vision-example.png

AGILE-SCRUM-VISUAL-scrum-product-canvas.jpg

  • Like 7
  • Thanks 3
Link to comment
Share on other sites

To elaborate a lil bit more on this topic ? yeah yeah yeah I know I know. Project Management sucks and we have a self-organized team yada yada... 
Could be but...who is the person communicating with clients and stakeholders? 

This should be the project lead. Therefor you should always have a good understanding about project progress. 
Lets asume you are not a freelancer and have to manage a dedicated developer team or ui team or whatever. 

Try to have a minimum viable project (MVP) defined and refined. What does this mean? 
You have carefully planned and refined a piece of software which is able to provide the basic feature set to satisfy the End-Users needs. 
In case of an eCommerce project this could be a piece of software with the following set of methods

  • a cart
  • a product page
  • the possibility to create a product
  • the possibility to put a product into the cart
  • the possibility to order the items in your cart

We try to cut out every single thing which is not needed to have a running eCommerce system. Things like newsletters, categories, payment methods via modules etc etc. 
Why should I do this you may ask, well we are humans and we have simple minds. The greater and more complex a problem is, the more problems we have to understand the system. 

Next comes an refinement. Tackle each component and identify sub-components. Something like this

CART

  • Order button -> createOrder()
  • Remove Product -> removeItemFromCart()
  • List my Products -> getCartItems()

Every bits and pieces we need to develop a basic version of our Cart. 

Next should be an estimation meeting. What do we think each component of our MVP would take to be completed? Depending how granular you have been in your refinement you could come up with something like this (estimation in hours, you could use days, story points, apples, eggs what ever)

CART

  • Order button - 4h
  • Remove Product -> 2h
  • List my Products -> 2h
  • Total: 8h

 Do this for every single component! You, your team and your client now know what it takes to create V1.0. But be carefull, v1.0 doenst necessary mean you have a shippable product. We just try to cut out complexity ?

Once done with every component create an estimation matrix, example below. 
The power of project management starts to unfold ?

You can start to create tasks based on your refinement and estimation and furthermore you can prioritize. 
You have to discipline yourself to do all this work, I know. It could be a bit tedious and boring, but once implemented you have the knowledge and the insights about project progress AND your project is well planned, well tought and manageable. 

 

figure1.jpg

  • Like 6
Link to comment
Share on other sites

And the next piece of information... 
 

Have you ever asked yourself on mondays, what should I do now with my project? Could I start with $method1 or would I like to do $method2? 
The right answer is, none of them!

PLAN YOUR TIME AND TASKS! 


So far we have learned about basic conceptional work, estimation matrix and components/sub-components. 
The next logical step would be to use this knowledge and start to manage ourself. 
 

Lets say we have 183 Tasks as a result from all our work we have done upfront. Great. We also know how long each and every task would possible take. Better.
We can now use a method called TimeBoxing. If you are familiar with Scrum you probably know about sprints. Which is nothing else than a timebox. I dont want to dig deep into the Scrum Framework. So lets take this method and use it for ourself.

The typical dev timebox in my teams runs for 2 Weeks. So on mondays we plan what we want to achieve in the next 2 weeks. 
How can I timebox myself? 

Lets assume you work 40h a week, for a 2-week timebox we have 80h pure worktime. 
Typically you dont work 8h straight on your tasks. Maybe your phone rings, you have to answer some emails or you help a colleague. 
We assume a "task efficency" of 80%. So 80% of our time could be put straight into tasks.
Which means 80h * 0.8eff = 64h of effective Worktime for our project in a 2-week timebox.

Lets have a look at our tasks now. There are 183 Tasks in our "Backlog". Wow thats a lot. 
Lets start to prioritize them. What is essential for our project and so on. 
Once done, great. But there are still 183 Tasks?!

You remember our estimation we did? Create a new Backlog for the next 2 Weeks. This could be a Excel file or what ever. 
Take all your prioritized tasks which fit into your 64h. 

Congratulations you have now planned your very first timebox. Your timebox should now include so much work to keep you busy for the next 2 Weeks. 
 

The core concept of project management is to break complex systems into smaller much more easier and understandable fragments. 
Therefor, see yourself as a project which has to be managed ?

An example Project Backlog and Timebox Backlog down below.
Left is the timebox, right is the project

446402600_image(11).thumb.png.8724ae41b72a527ec8f5f0631e8b0867.png

 

  • Like 6
Link to comment
Share on other sites

  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...