SlideShare une entreprise Scribd logo
1  sur  16
Chapter 4
Software Project Scheduling
Project Scheduling
Project scheduling is a mechanism to communicate what tasks need to get done and
which organizational resources will be allocated to complete those tasks in what
timeframe. A project schedule is a document collecting all the work needed to deliver the
project on time.
To schedule the project plan, a software project manager wants to do the
following:
1. Identify all the functions required to complete the project.
2. Break down large functions into small activities.
3. Determine the dependency among various activities.
4. Establish the most likely size for the time duration required to complete
the activities.
5. Allocate resources to activities.
6. Plan the beginning and ending dates for different activities.
7. Determine the critical path. A critical way is the group of activities that
decide the duration of the project.
Project Scheduling principles
COMPARTMENTALIZATION :
A given software project is compartmentalized into a number of manageable activities. The
project is divided into a number of small tasks.
INTERDEPENDENCY :
Interdependent tasks are accomplished first. Certain tasks occur in sequence whereas other
tasks occur in parallel. Therefore tasks which occur in sequence has to be performed in a
sequential order since the output of one task will be the input of the next task. Other tasks can
occur independently.
TIME ALLOCATION :
Each and every task has to be assigned a specific time period i.e a start date and a
completion date based on whether the work will be performed in a full time or part time basis.
EFFORT VALIDATION :
Every project is assigned to a software team. The project manager has to make sure that the
effort allocated should not be more than the number of people available to do the work.
DEFINED RESPONSIBILITIES :
Each of the scheduled task is assigned to a specific member of the software team.
DEFINED OUTCOMES :
Each task has a defined outcome. Work product is the outcome of a software project.
DEFINED MILESTONES :
Every task is associated with a milestone. A milestone is an action or event marking a significant
change in development process.
Task definition & Parallelism
Effort Distribution
The number of effort required to develop the software as a whole. To produce
cost estimation in the software development project, we need to know the
percentage of each phase of software development, in this case called the effort
distribution.
Early stage effort estimations can be defined as making software development
effort estimations at the initial stages more precisely the Design stage of SDLC.
Carrying out effort estimations at the early stages is beneficial because the
design stage prediction implies fewer overheads at the later stages of
software development. Figure 1 above signifies that the total project effort
comprises of the efforts (given in percentage) which goes into surpassing each of
the individual phases.
It is evident from the Figure 1 that most of the efforts(nearly 60 per cent) are
spread over two initial phases of Analysis and Design. Hence if the accurate
effort requirements can be predicted from the initial or early phases of the SDLC,
then an efficient project development schedule can easily be prepared so as to
complete the project well within the targeted time and budget constraints.
Project Scheduling Methods:PERT and CPM
PERT and CPM are techniques of project management useful in the basic
managerial functions of planning, scheduling and control. PERT stands for
“Programme Evaluation & Review Technique” and CPM are the abbreviation for
“Critical Path Method”. These days the projects undertaken by business houses are
very large and take a number of years before commercial production can start.
Program Evaluation & Review Technique(PERT)
PERT is a way to schedule the flow of tasks in a project and estimate the total time
taken to complete it. This technique helps represent how each task is dependent on the
other. To schedule a project using PERT, one has to define activities, arrange them in an
orderly manner and define milestones.
Weighted average duration and not estimates are used by PERT to calculate different
time frames.The best thing about PERT is its ability to integrate the uncertainty in
project times estimations into its methodology.It also makes use of many assumption
that can accelerate or delay the project progress. Using PERT, project managers can
have an idea of the possible time variation for the deliveries and offer delivery dates to
the client in a safer manner.
Advantages of PERT:
1. It provides a graphical display of project activities that helps the users
understand the relationships among the activities.
2. It is the ideal technique for tactical level planning and operational level control
of projects.
3. It is effective in planning single project activities in any type of industry.
4. It allows project managers to do 'what if' analysis on project activities.
Critical Path Method (CPM)
Every project’s tree diagram has a critical path. The Critical Path Method estimates the
maximum and minimum time required to complete a project. CPM also helps to
identify critical tasks that should be incorporated into a project. Delivery time changes
do not affect the schedule. The scope of the project and the list of activities necessary
for the completion of the project are needed for using CPM. Next, the time taken by
each activity is calculated. Then, all the dependent variables are identified. This helps
in identifying and separating the independent variables. Finally, it adds milestones to
the project.
Critical path identification is required for any project-planning phase. This gives the
project management the correct completion date of the overall project and the
flexibility to float activities.
A critical path diagram should be constantly updated with actual information when the
project progresses in order to refine the activity length/project duration predictions.
Advantages of Critical Path Method
● Offers a visual representation of the project activities.
● Presents the time to complete the tasks and the overall project.
● Tracking of critical activities.
Software Prototyping
Software prototyping is similar to prototyping in other industries. It is an
opportunity for the manufacturer to get an idea of what the final product will look
like before additional resources, such as time and money, are put into finalizing
the product. Prototyping gives the software publisher the opportunity to evaluate
the product, ensure it's doing what it's intended, and determine if improvements
need to be made.
Often, the software prototype is not complete. Sometimes, only certain aspects of
the program are prototyped, such as those elements the publisher is most
concerned about or areas where user interface may be tricky.
The Software Prototyping Process
There is typically a four-step process for prototyping:
1. Identify initial requirements: In this step, the software publisher decides what the software
will be able to do. The publisher considers who the user will likely be and what the user will
want from the product, then the publisher sends the project and specifications to a software
designer or developer.
2. Develop initial prototype: In step two, the developer will consider the requirements as
proposed by the publisher and begin to put together a model of what the finished product
might look like. An initial prototype may be as simple as a drawing on a whiteboard, or it may
consist of sticky notes on a wall, or it may be a more elaborate working model.
3. Review: Once the prototype is developed, the publisher has a chance to see what the
product might look like; how the developer has envisioned the publisher's specifications. In
more advanced prototypes, the end consumer may have an opportunity to try out the product
and offer suggestions for improvement. This is what we know of as beta testing.
4. Revise: The final step in the process is to make revisions to the prototype based on the
feedback of the publisher and/or beta testers.
Software Prototyping Methods
INCREMENTAL PROTOTYPING
Incremental prototyping involves a series of prototypes being created, each one
representing a refined version and intended to represent the final product. Once the
client is completely satisfied with the product, the different versions are married
together into one fully functional design.
THROWAWAY PROTOTYPING
As the name suggests, throwaway prototyping is a model created with the intention
of discarding it after the testing process. This is opposed to other methods of
prototyping, which assume the prototype will later be built into the working system.
It does mean that throwaway is often the quickest and cheapest software
prototyping method.
EXTREME PROTOTYPING
Extreme prototyping is used mostly for web-based applications and is a process
of three clearly defined stages. These different stages could be compared to the
three levels of prototyping – as low, mid, and high fidelity models.
EVOLUTIONARY PROTOTYPING
The key purpose of evolutionary prototyping is to create a model which is refined
over time. Like stages of evolution, each stage of the process involves resolving
any issues and implementing any changes to the prototype.

Contenu connexe

Tendances

Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineeringSweta Kumari Barnwal
 
Presentation of waterfall model
Presentation of waterfall modelPresentation of waterfall model
Presentation of waterfall modelRohitkumar3723
 
Lecture 3 software process model
Lecture 3   software process modelLecture 3   software process model
Lecture 3 software process modelIIUI
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process ModelStephen Raj
 
Software Development Life Cycle Testingtypes
Software Development Life Cycle TestingtypesSoftware Development Life Cycle Testingtypes
Software Development Life Cycle Testingtypesvladimir zaremba
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5Abhimanyu Mishra
 
Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validationaliraza786
 
Lecture 5 software process model (3)
Lecture 5   software process model (3)Lecture 5   software process model (3)
Lecture 5 software process model (3)IIUI
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelssaurabhshertukde
 
Evolutionary Software Process Module in Easy Terminology by Taha Shahid
Evolutionary Software Process Module in Easy Terminology by Taha ShahidEvolutionary Software Process Module in Easy Terminology by Taha Shahid
Evolutionary Software Process Module in Easy Terminology by Taha ShahidTahaa Shahid
 

Tendances (20)

Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 
Presentation of waterfall model
Presentation of waterfall modelPresentation of waterfall model
Presentation of waterfall model
 
Lecture 3 software process model
Lecture 3   software process modelLecture 3   software process model
Lecture 3 software process model
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process Model
 
Bai giang-se-06mar14
Bai giang-se-06mar14Bai giang-se-06mar14
Bai giang-se-06mar14
 
Software Development Life Cycle Testingtypes
Software Development Life Cycle TestingtypesSoftware Development Life Cycle Testingtypes
Software Development Life Cycle Testingtypes
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Testing software development
Testing software developmentTesting software development
Testing software development
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
 
Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validation
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
2. Software process
2. Software process2. Software process
2. Software process
 
Bai giang-se-17feb14
Bai giang-se-17feb14Bai giang-se-17feb14
Bai giang-se-17feb14
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Lecture 5 software process model (3)
Lecture 5   software process model (3)Lecture 5   software process model (3)
Lecture 5 software process model (3)
 
Verification & Validation
Verification & ValidationVerification & Validation
Verification & Validation
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Evolutionary Software Process Module in Easy Terminology by Taha Shahid
Evolutionary Software Process Module in Easy Terminology by Taha ShahidEvolutionary Software Process Module in Easy Terminology by Taha Shahid
Evolutionary Software Process Module in Easy Terminology by Taha Shahid
 
Sdlc
SdlcSdlc
Sdlc
 

Similaire à Software project scheduling

Project scheduling
Project schedulingProject scheduling
Project schedulingJaafer Saeed
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Managementghayour abbas
 
223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.pptDeepgaichor1
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software EngineeringMuhammad Yousuf Abdul Qadir
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningAmr E. Mohamed
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 
1 2. project management
1 2. project management1 2. project management
1 2. project managementakashsaini8
 
SE18_Lec 13_ Project Planning
SE18_Lec 13_ Project PlanningSE18_Lec 13_ Project Planning
SE18_Lec 13_ Project PlanningAmr E. Mohamed
 
(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptx(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptxgarkapifye
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdfShivareddyGangam
 
Chapter7 database management system.pptx
Chapter7 database management system.pptxChapter7 database management system.pptx
Chapter7 database management system.pptxMohammedNouh7
 
Management of time uncertainty in agile
Management of time uncertainty in agileManagement of time uncertainty in agile
Management of time uncertainty in agileijseajournal
 

Similaire à Software project scheduling (20)

Project scheduling
Project schedulingProject scheduling
Project scheduling
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt223417 Diploma_Sem4_software_engg-chap-05.ppt
223417 Diploma_Sem4_software_engg-chap-05.ppt
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
MIS Project management
MIS Project managementMIS Project management
MIS Project management
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project Planning
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Software
SoftwareSoftware
Software
 
1 2. project management
1 2. project management1 2. project management
1 2. project management
 
SE18_Lec 13_ Project Planning
SE18_Lec 13_ Project PlanningSE18_Lec 13_ Project Planning
SE18_Lec 13_ Project Planning
 
Ch23
Ch23Ch23
Ch23
 
(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptx(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptx
 
CH. 5.pdf
CH. 5.pdfCH. 5.pdf
CH. 5.pdf
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdf
 
Chapter7 database management system.pptx
Chapter7 database management system.pptxChapter7 database management system.pptx
Chapter7 database management system.pptx
 
Management of time uncertainty in agile
Management of time uncertainty in agileManagement of time uncertainty in agile
Management of time uncertainty in agile
 

Dernier

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Dernier (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Software project scheduling

  • 2. Project Scheduling Project scheduling is a mechanism to communicate what tasks need to get done and which organizational resources will be allocated to complete those tasks in what timeframe. A project schedule is a document collecting all the work needed to deliver the project on time. To schedule the project plan, a software project manager wants to do the following: 1. Identify all the functions required to complete the project. 2. Break down large functions into small activities. 3. Determine the dependency among various activities. 4. Establish the most likely size for the time duration required to complete the activities. 5. Allocate resources to activities. 6. Plan the beginning and ending dates for different activities. 7. Determine the critical path. A critical way is the group of activities that decide the duration of the project.
  • 3. Project Scheduling principles COMPARTMENTALIZATION : A given software project is compartmentalized into a number of manageable activities. The project is divided into a number of small tasks. INTERDEPENDENCY : Interdependent tasks are accomplished first. Certain tasks occur in sequence whereas other tasks occur in parallel. Therefore tasks which occur in sequence has to be performed in a sequential order since the output of one task will be the input of the next task. Other tasks can occur independently. TIME ALLOCATION : Each and every task has to be assigned a specific time period i.e a start date and a completion date based on whether the work will be performed in a full time or part time basis.
  • 4. EFFORT VALIDATION : Every project is assigned to a software team. The project manager has to make sure that the effort allocated should not be more than the number of people available to do the work. DEFINED RESPONSIBILITIES : Each of the scheduled task is assigned to a specific member of the software team. DEFINED OUTCOMES : Each task has a defined outcome. Work product is the outcome of a software project. DEFINED MILESTONES : Every task is associated with a milestone. A milestone is an action or event marking a significant change in development process.
  • 5. Task definition & Parallelism
  • 6. Effort Distribution The number of effort required to develop the software as a whole. To produce cost estimation in the software development project, we need to know the percentage of each phase of software development, in this case called the effort distribution.
  • 7. Early stage effort estimations can be defined as making software development effort estimations at the initial stages more precisely the Design stage of SDLC. Carrying out effort estimations at the early stages is beneficial because the design stage prediction implies fewer overheads at the later stages of software development. Figure 1 above signifies that the total project effort comprises of the efforts (given in percentage) which goes into surpassing each of the individual phases. It is evident from the Figure 1 that most of the efforts(nearly 60 per cent) are spread over two initial phases of Analysis and Design. Hence if the accurate effort requirements can be predicted from the initial or early phases of the SDLC, then an efficient project development schedule can easily be prepared so as to complete the project well within the targeted time and budget constraints.
  • 8. Project Scheduling Methods:PERT and CPM PERT and CPM are techniques of project management useful in the basic managerial functions of planning, scheduling and control. PERT stands for “Programme Evaluation & Review Technique” and CPM are the abbreviation for “Critical Path Method”. These days the projects undertaken by business houses are very large and take a number of years before commercial production can start.
  • 9. Program Evaluation & Review Technique(PERT) PERT is a way to schedule the flow of tasks in a project and estimate the total time taken to complete it. This technique helps represent how each task is dependent on the other. To schedule a project using PERT, one has to define activities, arrange them in an orderly manner and define milestones. Weighted average duration and not estimates are used by PERT to calculate different time frames.The best thing about PERT is its ability to integrate the uncertainty in project times estimations into its methodology.It also makes use of many assumption that can accelerate or delay the project progress. Using PERT, project managers can have an idea of the possible time variation for the deliveries and offer delivery dates to the client in a safer manner.
  • 10. Advantages of PERT: 1. It provides a graphical display of project activities that helps the users understand the relationships among the activities. 2. It is the ideal technique for tactical level planning and operational level control of projects. 3. It is effective in planning single project activities in any type of industry. 4. It allows project managers to do 'what if' analysis on project activities.
  • 11. Critical Path Method (CPM) Every project’s tree diagram has a critical path. The Critical Path Method estimates the maximum and minimum time required to complete a project. CPM also helps to identify critical tasks that should be incorporated into a project. Delivery time changes do not affect the schedule. The scope of the project and the list of activities necessary for the completion of the project are needed for using CPM. Next, the time taken by each activity is calculated. Then, all the dependent variables are identified. This helps in identifying and separating the independent variables. Finally, it adds milestones to the project. Critical path identification is required for any project-planning phase. This gives the project management the correct completion date of the overall project and the flexibility to float activities. A critical path diagram should be constantly updated with actual information when the project progresses in order to refine the activity length/project duration predictions.
  • 12. Advantages of Critical Path Method ● Offers a visual representation of the project activities. ● Presents the time to complete the tasks and the overall project. ● Tracking of critical activities.
  • 13. Software Prototyping Software prototyping is similar to prototyping in other industries. It is an opportunity for the manufacturer to get an idea of what the final product will look like before additional resources, such as time and money, are put into finalizing the product. Prototyping gives the software publisher the opportunity to evaluate the product, ensure it's doing what it's intended, and determine if improvements need to be made. Often, the software prototype is not complete. Sometimes, only certain aspects of the program are prototyped, such as those elements the publisher is most concerned about or areas where user interface may be tricky.
  • 14. The Software Prototyping Process There is typically a four-step process for prototyping: 1. Identify initial requirements: In this step, the software publisher decides what the software will be able to do. The publisher considers who the user will likely be and what the user will want from the product, then the publisher sends the project and specifications to a software designer or developer. 2. Develop initial prototype: In step two, the developer will consider the requirements as proposed by the publisher and begin to put together a model of what the finished product might look like. An initial prototype may be as simple as a drawing on a whiteboard, or it may consist of sticky notes on a wall, or it may be a more elaborate working model. 3. Review: Once the prototype is developed, the publisher has a chance to see what the product might look like; how the developer has envisioned the publisher's specifications. In more advanced prototypes, the end consumer may have an opportunity to try out the product and offer suggestions for improvement. This is what we know of as beta testing. 4. Revise: The final step in the process is to make revisions to the prototype based on the feedback of the publisher and/or beta testers.
  • 15. Software Prototyping Methods INCREMENTAL PROTOTYPING Incremental prototyping involves a series of prototypes being created, each one representing a refined version and intended to represent the final product. Once the client is completely satisfied with the product, the different versions are married together into one fully functional design. THROWAWAY PROTOTYPING As the name suggests, throwaway prototyping is a model created with the intention of discarding it after the testing process. This is opposed to other methods of prototyping, which assume the prototype will later be built into the working system. It does mean that throwaway is often the quickest and cheapest software prototyping method.
  • 16. EXTREME PROTOTYPING Extreme prototyping is used mostly for web-based applications and is a process of three clearly defined stages. These different stages could be compared to the three levels of prototyping – as low, mid, and high fidelity models. EVOLUTIONARY PROTOTYPING The key purpose of evolutionary prototyping is to create a model which is refined over time. Like stages of evolution, each stage of the process involves resolving any issues and implementing any changes to the prototype.