Software project planning in detail

Software project planning is a skill that can be acquired through experience

Software project planning consists of

  1. Project estimation
  2. Project scheduling
  3. Project risk analysis
  4. Project quality management
  5. Project change management

You can think, The plan as a road map that tells you which way to go, how many people involved and what task assigned to them, the method used for evaluating risks and quality, and the actions that need to be taken for a change

A project will exist for  a limited time and budget also, Always remember that the smaller the project the lesser the planning required furthermore if the project is large then planning need to be done in detail

Why?

Because suppose you want to build a door of a house, to build it you need less planning as it is a simple structure on the other hand if you want to construct  a house then you would need more planning as it requires a complex structure

Software scope  and feasibility

Software scope means  the description of input and output function that need to deliver to the client and we can develop this description through discussion with the client

As you have captured the software scope then the next step would be to ask a question is it feasible? Or is it an illusion trap?

Understand one thing that  everything which comes to mind will not be feasible

  1. Time feasibility
  2. Cost feasibility
  3. Resource feasibility
  4. Technology feasibility

Time feasibility

Will the project time to market is sufficient enough to defeat your competition?

Cost feasibility

Do we have the required amount to complete the project?

Technology feasibility

Do we have the required skill set or framework that we have expertise?

Resource feasibility

Do we have enough resource that is required to complete the project?

Determine the number of people required with what skillset

Determine the software developments tools and hardware that is required for a project

determine whether you have elements of reusable software,(from past project, or purchased from third party ) code snippets which were internally developed in previous projects

As we know, from the software development world point of view. original work is less effective

why?

Because it is alway better to use reuse the existing code, design, use cases  which you have developed in the previous projects

Understanding the scope and evaluating whether you fall in that skill set that is required to complete the project

Remember planning helps you understand what you going to build and on the other hand capture software scope accurately. firstly, it will be easier for you  to take a step in the right direction, and secondly, you won’t waste your time, energy, money  by going in the wrong direction

Tradeoff b/w business need and project feasibility

What do you think? which is a more important business need or project feasibility at the end of the day business need is the king which determines the choice

It doesn’t matter if you have built the greatest product which no one wants, so we can say that the business need also the most thing that needs to be considered

Project scheduling:

Project scheduling means project break down structure where you divide the whole project into small manageable tasks to accomplish a common goal

  • define work tasks
  • define dependencies b/w tasks
  • assign tasks to people with a specific time slot
  • start date, end date

consider a simple object-oriented software project break down structure

task1: define problem definition

          requirement development

task 2: design software architecture

task 3: develop code from design

task 4:unit testing, debugging

why we need project scheduling?

because we can’t control a large project and access its progress towards deadline suppose in case if you surpassed the deadline then it won’t be nice that you visit the client and request to change the product delivery date

Mohammed Anees

Hey there, welcome to aneescraftsmanship I am Mohammed Anees an independent developer/blogger. I like to share and discuss the craft with others plus the things which I have learned because I believe that through discussion and sharing a new world opens up

Leave a Reply

Your email address will not be published.