Software project managment - csactor

Breaking

csactor

computer science , software engineering ,information system and information technology lesson series like data structure and algorithm , computer networking , programming , database , web development , operating system , information system , digital marketing and business study.

Tuesday, August 21, 2018

Software project managment



               Software Project Management

What is a Project? 


• Something done to sustain the business. 

• Finishes when its objectives reached, or the project is terminated. 

• Projects can be large or small and take a short or long time to complete.




Software Project Management 

• Concerned with the activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organizations developing and procuring the software.


• Project management is needed because software development is always subject to budget and schedule constraints that are set by the organization developing the software.



Triple Constraints of PM

                      



                        



Project Management Process Groups 





SOFTWARE PROJECT MANAGEMENT ACTIVITIES


1. Project Planning and Scheduling  
2. Risk Management 
3. Cost Estimation  
4. Team Management



Project Planning 

Probably one of the most time consuming  project management activities 

• This is a continuous activity from initial concept through to system delivery 

• Plans must be regularly revised as new information becomes available 

• Various different types of plans may be developed to support the main software project plan that is concerned with schedule and budget



Contents of a Project Plan

• Hardware & software requirements 
Work breakdown 
• Project schedule 
• Monitoring and reporting mechanisms
• Reference to quality plan 


Project Scheduling

• Split project into tasks and estimate time and resources required to complete each task 

• Organize tasks concurrently to make optimal use of workforce 

• Minimize task dependencies to avoid delays caused by one task waiting for another to complete.





IMPORTANT OF PROJECT SCHEDULES






Problems in Project Scheduling 

• Estimating the difficulty of problems and hence the cost of developing a solution 

• Productivity is not proportional to the number of people working on a task 

• Adding people to a late project makes issues later because of communication overheads 

• The unexpected issues always happens therefore allow contingency in planning.




The Critical Path Method (CPM)








Risk Management 

• A risk is a probability that some adverse circumstance will occur 

• Risk is the possibility of loss or injury 

• Risk management is concerned with identifying risks and drawing up plans to minimize their effect on a project 

• The results of the risk analysis should be documented in the project plan along with the analysis of the consequences of risks occurring.


Risk Categories 

Project risks – affect the project schedule or resources 

Product risks – affect the quality or the performance of the software being developed 

Business risks – affect the organization developing or procuring the software.


Risk Management Process 

Risk identification – Identify project, product and business risks; 

Risk analysis – Assess the likelihood and consequences of these risks; 

Risk planning – Draw up plans to avoid or minimise the effects of the risk; 

Risk monitoring – Monitor the risks throughout the project;




Risk Analysis

• Assess probability and seriousness of each risk 

• Probability may be very low, low, moderate, high or very high 

• Risk consequences might be catastrophic, serious, tolerable or insignificant.



Risk Planning

• Consider each risk and develop a strategy to manage that risk 

Avoidance strategies – The probability that the risk will arise is reduced 

Minimisation strategies – The impact of the risk on the project or product will be reduced 

Contingency plans – If the risk arises, contingency plans are plans to deal with that risk.




Risk Monitoring 

• Assess each identified risks regularly to decide whether or not it is becoming less or more probable 

• Also assess whether the effects of the risk have changed 

• Each key risk should be discussed at management progress meetings.



Software Cost Estimation 

• Cost estimation is concerned with predicting the resources required for a software development process

• Fundamental estimation questions

1. How much effort is required to complete an activity ? 
2. How much calendar time is needed to complete an activity ?



Software Cost Components 

• Hardware and software costs
• Travel and training costs 
• Effort costs – Salaries of engineers  
                       – Social and insurance costs 
• Other overheads – Costs of air conditioning and lighting 
                                – Costs of networking and communications 
                                – Costs of other facilities.



Cost Estimation Techniques 

1. Expert judgment – Use expert knowledge 

2. Estimation by analogy – Use past similar projects to do the estimation 

3. Function point analysis – Uses the requirements specification to assess inputs, outputs, file accesses, user interactions and interfaces and calculates the size based on these 

4. Algorithmic cost modeling – Cost is estimated as a mathematical function of product and process attributes.



Team Management / HR Management 

• People are an organisation’s most important assets 

• The tasks of a manager are essentially people-oriented 

• Unless there is some understanding of people, management will be unsuccessful 

• Poor people management is an important contributor to project failure 

• Most professional software is developed by project teams ranging in size from two to several hundred people 

• Each group is responsible for a sub project 

• As a general rule, software engineering project groups should normally have no more than eight members.



People Management Factors 

• Consistency – Team members should all be treated in a comparable way without favourites or discrimination 

• Respect – Different team members have different skills and these differences should be respected 

• Inclusion – Involve all team members and make sure that people’s views are considered 

• Honesty – You should always be honest about what is going well and what is going badly in a project.



Future Project Management Trends/Issues

















































No comments:

Post a Comment