PLANNING

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

KT24602

SOFTWARE
ENGINEERING
PLANNING
CONTENT

Introduction

A. Def inition of sof tware planning phase

B. Importance of sof tware planning phase

C. Key goals of sof tware planning phase

D. Overview
DEFINITION OF SOFTWARE PLANNING
PHASE

• The software planning phase is a critical part of the software development life
cycle.

• It is the process of defining the project scope, identifying the software


requirements, designing the software architecture, and creating a project plan for
the successful delivery of the software product.

• The planning phase is essential because it lays the foundation for the entire
software development process, and the success of the project depends on the
quality of the planning.
IMPORTANCE OF SOFTWARE PLANNING PHASE

• The software planning phase is crucial because it helps to identify the software
requirements, project goals, and risks associated with the project.

• The software planning phase ensures that the project team has a clear
understanding of what is expected of them, and it helps to prevent any
misunderstandings or confusion that could lead to project delays or failure.
KEY GOALS OF SOFTWARE PLANNING PHASE

1 .D ef i n i n g t h e p ro j e c t s co p e a n d o b j e c t ive s

2 .I d e nti f yi ng s o f t wa re re q u i re me nt s a n d d e p e n d e nc ie s

3 .D e s i g n ing t h e s o f t ware a rc h i te c ture a n d syste m co m p one nts

4 .C re at ing a p ro j e c t p l a n w i t h t i m e l i n e s, m i l e stone s, a n d d e l i ve ra bl e s

5 .I d e nti f yi ng p o te nt ial p ro j e c t r i s ks a n d d eve l o p ing r i s k m a n age m ent st rate gie s

6 .E sta b li sh ing a co m m u ni cati on p l a n to e n s u re effe c t i ve co l l a borati on a n d co o rd inati on a m o ng


p ro j e c t sta ke hol de rs

7 .E n s u r i ng t h at t h e p ro j e c t i s a l i g ne d w i t h t h e o rgani zati on's st rate gic o b j e c ti ve s a n d b u s i n e ss go a l s.


OVERVIEW

In this lecture, we will cover the following topics:

1.Key concepts in the planning phase, including software requirements, software


architecture, and project planning

2.Techniques for software planning, including agile software development, waterfall


software development, and DevOps software development

3.Planning tools and techniques, including software estimation techniques, project


management tools, and collaborative software development tools
PROJECT PLANNING

1.Definition of project planning

• Project planning is the process of defining project objectives, scope, and


deliverables, as well as identifying the tasks, resources, and timelines required to
achieve the project goals.

• Effective project planning is essential for successful project completion, as it


ensures that all stakeholders have a clear understanding of the project
requirements, expectations, and constraints.
TECHNIQUES FOR PROJECT PLANNING

T h e re a re s eve ra l te c h ni que s t h at ca n b e u s e d fo r p ro j e c t p l a n ni ng , i n c l u di ng:

• Wo r k b re a kdow n st r u ctu re ( W B S ) : a h i e ra rc hi cal b re a kdow n o f p ro j e c t ta s ks a n d d e l i ve ra ble s .

• G a ntt c h a r t: a v i s u a l re p re s e ntati on o f t h e p ro j e c t s c h e d ul e , s h o w i ng ta s k d e p e n d e nc ie s ,
t i m e l i n e s, a n d m i l e stone s .

• C r i t i cal p at h m et h o d ( C P M ): a te c h n i que fo r i d e nt i f yi ng t h e c r i t i cal p at h , o r t h e s e q u e n ce o f ta s ks


t h at m u st b e co m p l ete d o n t i m e to avo i d p ro j e c t d e l ays.

• A g i l e p l a n ni ng: a n i te rati ve a p p roac h to p ro j e c t p l a n ning , fo c u s e d o n d e l i ve r i ng va l u e to t h e


c u stome r t h ro ugh s h o r t, i te rati ve d eve l o p me nt c yc l e s .
IDENTIFYI NG A PROJECT RISKS AND RISK MANAGEMENT TECHNIQ UES

• P ro j e c t r i s k s a r e e v e n t s o r s i t u a t i o n s t h a t c o u l d n e ga t i v e l y i m p a c t p ro j e c t o b j e c t i v e s , t i m e l i n e s , o r b u d g e t s .

• R i s k m a n a g e m e n t i s t h e p ro c e s s o f i d e n t i f y i n g , a n a l y z i n g , a n d m i t i ga t i n g p ro j e c t r i s k s t o r e d u c e t h e
l i ke l i h o o d a n d i m p a c t o f n e ga t i v e e v e n t s .

Ef fe c t i v e r i s k m a n a g e m e n t t e c h n i q u e s i n c l u d e :

• R i s k i d e n t i f i c a t i o n : t h e p ro c e s s o f i d e n t i f y i n g p o t e n t i a l p ro j e c t r i s k s a n d t h e i r ro o t c a u s e s .

• R i s k a n a l y s i s : t h e p ro c e s s o f a s s e s s i n g t h e l i ke l i h o o d a n d i m p a c t o f e a c h r i s k , a n d p r i o r i t i z i n g t h e m b a s e d o n
their potential impact.

• R i s k m i t i ga t i o n : t h e p ro c e s s o f d e v e l o p i n g st ra t e g i e s t o r e d u c e t h e l i ke l i h o o d a n d i m p a c t o f p ro j e c t r i s k s .

• R i s k m o n i t o r i n g : t h e p ro c e s s o f t ra c k i n g p ro j e c t r i s k s t h ro u g h o u t t h e p ro j e c t l i fe c y c l e a n d t a k i n g c o r r e c t i v e
action as needed.
PLANNING TOOLS AND TECHNIQUES

A. Software estimation techniques

Definition of software estimation:

• Software estimation is the process of predicting the amount of time, effort, and
resources required to complete a software project.

• Effective software estimation is essential for accurate project planning, budgeting,


and resource allocation.
COMMON SOFTWARE ESTIMATION TECHNIQUES

C o m m on s o f t ware e st i m ati on te c h ni que s i n c l u d e :

• E x p e r t j u d g me nt: u s i n g t h e k n o w l e d ge a n d ex p e r i e n c e o f s u b j e c t m atte r ex p e r t s to e st i m ate


p ro j e c t re q u i re me nts a n d t i m e l i n e s.

• A n a l ogous e st i m atio n: u s i n g h i stori cal d ata f ro m s i m i l a r p ro j e c ts to e st i m ate t h e re q u i re m e nts


a n d t i m e l i n e s fo r a n ew p ro j e c t.

• Pa ra met ri c e st i m ati on: u s i n g stat i sti cal d ata a n d m at h e mati cal m o d e l s to e st i m ate p ro j e c t
re q u i re m e nts a n d t i m e l i ne s .

• T h re e - p oi nt e st i m at ion : u s i n g o pt i m i stic , p e s s i m i sti c , a n d m o st l i ke l y e st i m ate s to ca l c u late a


we i g hte d ave ra ge.
SOFTWARE PROJECT MANAGEMENT TOOLS

1.Definition of software project management tools

• Software project management tools are software applications designed to help


project managers plan, execute, and monitor software projects.

• These tools typically include features for scheduling, task management, resource
allocation, budgeting, and reporting.
EXAMPLE OF POPULAR PROJECT MANAGEMENT TOOLS

E xa m p l e s o f p o p u l a r s o f t wa r e p ro j e c t m a n a g e m e n t t o o l s i n c l u d e :

• M i c ro s o f t P ro j e c t : a c o m p r e h e n s i v e p ro j e c t m a n a g e m e n t t o o l w i t h fe a t u r e s fo r s c h e d u l i n g , r e s o u rc e
allocation, budgeting, and reporting.

• J i ra : a p o p u l a r a g i l e p ro j e c t m a n a g e m e n t t o o l w i t h fe a t u r e s fo r s p r i n t p l a n n i n g , b a c k l o g m a n a g e m e n t , a n d
i s s u e t ra c k i n g .

• Tr e l l o : a s i m p l e , v i s u a l p ro j e c t m a n a g e m e n t t o o l w i t h fe a t u r e s fo r t a s k m a n a g e m e n t , c o l l a b o ra t i o n , a n d
p ro g r e s s t ra c k i n g .

• A s a n a : a v e rs a t i l e p ro j e c t m a n a g e m e n t t o o l w i t h fe a t u r e s fo r t a s k m a n a g e m e n t , t e a m c o l l a b o ra t i o n , a n d
p ro j e c t t ra c k i n g .

• B a s e c a m p : a u s e r - f r i e n d l y p ro j e c t m a n a g e m e n t t o o l w i t h fe a t u r e s fo r t a s k m a n a g e m e n t , t e a m c o m m u n i c a t i o n ,
and file sharing.
COLLABORATIVE SOFTWARE DEVELOPMENT TOOLS

1.Definition of collaborative software development tools

• Collaborative software development tools are software applications designed to


facilitate collaboration among software developers, testers, and other project
stakeholders.

• These tools typically include features for version control, code review, bug tracking,
and continuous integration and delivery.
EXAMPLES OF POPULAR COLLABORATIVE SOFTWARE
DEVELOPMENT TOOLS

E xa m p l e s o f p o p u l a r co l l a b o rat i v e s o f t wa re d e v e l o p m e nt t o o l s i n c l u d e :

• G i t : a d i s t r i b u t e d v e rs i o n co nt ro l sy s t e m fo r t ra c k i n g c h a n g e s i n s o f t wa re co d e a n d co l l a b o rat i n g a m o n g
d e v e l o p e rs .

• G i t H u b : a w e b - b a s e d p l a t fo r m fo r h o s t i n g , s h a r i n g , a n d co l l a b o rat i n g o n s o f t wa re co d e .

• B i t b u c ke t : a w e b - b a s e d p l a t fo r m fo r h o s t i n g , s h a r i n g , a n d co l l a b o ra t i n g o n s o f t wa re co d e , s i m i l a r t o
GitHub.

• J F ro g : a p l a t fo r m fo r m a n a g i n g s o f t wa re a r t i fa c t s , d e p e n d e n c i e s , a n d re l e a s e s , w i t h fe a t u re s fo r
a u t o m a t e d t e s t i n g a n d d e p l o y m e nt .

• J e n k i n s : a p o p u l a r co nt i n u o u s i nt e g ra t i o n a n d d e l i v e r y t o o l fo r a u t o m a t i n g s o f t wa re t e s t i n g a n d
d e p l o y m e nt .
Objective: To provide an interactive activity that
enables participants to apply the knowledge they
TASK: have learned about the software planning phase to
plan their own software project.
PLANNING Materials needed:

YOUR OWN • Pen and paper or a computer for taking notes

• A worksheet or template for planning a software

SOFTWARE project

• Access to software project management and


PROJECT collaborative development tools (optional)
1.Project Description
• Project name:
• Project description: 6.Project Documentation
• Project goals: • Types of documentation needed:
• Project scope: • Documentation tools to be used:
• Project stakeholders: • Documentation standards to be followed:
2.Software Estimation 7.Project Testing
• Estimated project duration:
• Types of testing to be performed:
• Estimated project budget:
• Software estimation technique used: • Testing tools to be used:
• Assumptions made during estimation: • Testing standards to be followed:
3.Project Planning 8.Project Deployment
• Project milestones: • Deployment plan:
• Project schedule: • Deployment tools to be used:
• Resource allocation: • Deployment standards to be followed:
• Risk identification and management plan: 9.Project Review
• Change management plan:
• Review process:
4.Project Management Tools
• Project management tool(s) used: • Review tools to be used:
• Features of project management tool(s) used: • Review standards to be followed:
• How project management tool(s) will be used in the project: 10.Project Sign-off
5.Collaborative Development Tools • Sign-off process:
• Collaborative development tool(s) used: • Sign-off criteria:
• Features of collaborative development tool(s) used: • Sign-off tools to be used:
• How collaborative development tool(s) will be used in the project

You might also like