This document discusses project management principles and processes. It covers topics such as the importance of project management, knowledge areas, project identification and planning, risk management, and project execution. The document provides examples of projects and defines characteristics that distinguish projects from routine tasks. It also discusses project life cycles, activities involved in project execution like requirements analysis and testing, and potential problems in software projects.
This document provides an introduction to software project management. It defines software, projects, and management. Software project management aims to deliver software on time, within budget, and meeting requirements. The document discusses the differences between software and other projects, as well as contract management, common project activities, plans and methodologies used. It also covers categorizing projects, project charters, stakeholders, objectives, success and failure factors, the project management lifecycle, and differences between traditional and modern approaches.
ESOFT Metro Campus - Diploma in Software Engineering - (Module VII) Introduction to Project Management
(Template - Virtusa Corporate)
Contents:
What is a Project?
History of the Project Management
Attributes of a Project
What is Project Management?
Why Project Management Important?
The Triple Constraints of a Project
Project Stakeholders
Performing Organizational Structures
Project Management Life Cycle
Project Management Processes
Nine Knowledge Areas
Integration Management
Scope Management
Time Management
Cost Management
Quality Management
Human Resource Management
Communication Management
Risk Management
Procurement Management
This document discusses key concepts in software project management. It covers defining the scope and requirements of the software project, decomposing the problem into functions and classes, establishing a development process, organizing the project team, tracking progress, and making decisions. The document emphasizes understanding stakeholder needs, maintaining momentum, and conducting a post-mortem review.
The document describes the key activities and concepts in software development processes including requirements analysis, specification, architecture, design, implementation, testing, deployment, and maintenance. It discusses various process models like waterfall, agile, iterative, RAD, and XP. It also covers supporting disciplines such as configuration management, documentation, quality assurance, and project management as well as development tools.
Software Process Models, The Linear Sequential Model, The Prototyping Model, The RAD Model, Evolutionary Process Models, Agile Process Model, Component-Based Development, Process, Product and Process.
This document summarizes a seminar presentation on project management. It defines key terms like project, management, and project management. It also discusses the software development life cycle including requirements gathering, design, implementation, testing, deployment, and maintenance. Common software development models are outlined like waterfall, V-shaped, prototyping, spiral, iterative, and agile. Data flow diagrams are introduced as a way to graphically represent data flows in a system.
The document discusses software process models. It describes a generic process framework that includes five main activities: communication, planning, modeling, construction, and deployment. It also discusses "umbrella activities" that help manage quality, risk, changes, and progress. The process should be adapted to each specific project's needs and can vary in terms of activities, work products, quality assurance, and other factors. The document contrasts prescriptive models, which stress detailed definition and application of processes, with agile models that emphasize flexibility and adaptability.
The document discusses various approaches for selecting a project methodology, including whether to build a system in-house or outsource it. It covers the waterfall model, spiral model, prototyping, and incremental delivery. The key aspects addressed are identifying project characteristics and risks to determine the most appropriate software process model. Structured versus agile approaches are weighed in terms of balancing requirements specification with delivery speed.
This document provides an introduction to software project management. It defines software, projects, and management. Software project management aims to deliver software on time, within budget, and meeting requirements. The document discusses the differences between software and other projects, as well as contract management, common project activities, plans and methodologies used. It also covers categorizing projects, project charters, stakeholders, objectives, success and failure factors, the project management lifecycle, and differences between traditional and modern approaches.
ESOFT Metro Campus - Diploma in Software Engineering - (Module VII) Introduction to Project Management
(Template - Virtusa Corporate)
Contents:
What is a Project?
History of the Project Management
Attributes of a Project
What is Project Management?
Why Project Management Important?
The Triple Constraints of a Project
Project Stakeholders
Performing Organizational Structures
Project Management Life Cycle
Project Management Processes
Nine Knowledge Areas
Integration Management
Scope Management
Time Management
Cost Management
Quality Management
Human Resource Management
Communication Management
Risk Management
Procurement Management
This document discusses key concepts in software project management. It covers defining the scope and requirements of the software project, decomposing the problem into functions and classes, establishing a development process, organizing the project team, tracking progress, and making decisions. The document emphasizes understanding stakeholder needs, maintaining momentum, and conducting a post-mortem review.
The document describes the key activities and concepts in software development processes including requirements analysis, specification, architecture, design, implementation, testing, deployment, and maintenance. It discusses various process models like waterfall, agile, iterative, RAD, and XP. It also covers supporting disciplines such as configuration management, documentation, quality assurance, and project management as well as development tools.
Software Process Models, The Linear Sequential Model, The Prototyping Model, The RAD Model, Evolutionary Process Models, Agile Process Model, Component-Based Development, Process, Product and Process.
This document summarizes a seminar presentation on project management. It defines key terms like project, management, and project management. It also discusses the software development life cycle including requirements gathering, design, implementation, testing, deployment, and maintenance. Common software development models are outlined like waterfall, V-shaped, prototyping, spiral, iterative, and agile. Data flow diagrams are introduced as a way to graphically represent data flows in a system.
The document discusses software process models. It describes a generic process framework that includes five main activities: communication, planning, modeling, construction, and deployment. It also discusses "umbrella activities" that help manage quality, risk, changes, and progress. The process should be adapted to each specific project's needs and can vary in terms of activities, work products, quality assurance, and other factors. The document contrasts prescriptive models, which stress detailed definition and application of processes, with agile models that emphasize flexibility and adaptability.
The document discusses various approaches for selecting a project methodology, including whether to build a system in-house or outsource it. It covers the waterfall model, spiral model, prototyping, and incremental delivery. The key aspects addressed are identifying project characteristics and risks to determine the most appropriate software process model. Structured versus agile approaches are weighed in terms of balancing requirements specification with delivery speed.
The document discusses various aspects of requirements engineering including processes, techniques, challenges, and importance. It describes requirements elicitation, analysis, specification, validation, and management. Key points covered include feasibility studies, types of requirements, characteristics of good requirements, requirements traceability and evolution. Diagrams like use cases, activity diagrams and data flow diagrams are presented as examples of requirements specification outputs.
This document provides an overview of software processes and the Capability Maturity Model Integration (CMMI). It defines what a software process is, characteristics of processes, and that different project types require different processes. It then describes the key elements of the CMMI, including its five maturity levels from Initial to Optimizing. Each level is defined in one sentence or less. It also briefly outlines some of the key process areas assessed at levels 2 through 5.
This document provides an introduction to software engineering. It discusses the evolving role of software, characteristics of software like correctness and maintainability, and categories of software like system software and web applications. It also covers legacy software, common software myths, project management processes, and challenges with project estimation. The key aspects of software engineering like the definition, development, and maintenance phases are summarized.
This chapter discusses software development processes, project planning, and effort estimation. It introduces several key concepts:
- Software development processes involve a series of steps and activities that produce intended outputs. Common process models include waterfall, iterative development, and agile methods.
- Project planning involves tracking progress, organizing personnel, and estimating effort and schedule. Tools like Gantt charts, histograms, and expenditure tracking can be used.
- Effort estimation methods include expert judgment, algorithmic techniques like COCOMO II, and machine learning approaches. Estimates should be refined repeatedly as uncertainty decreases over the project lifecycle.
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
This document provides an overview of several software development life cycle (SDLC) models, including Waterfall, V-Shaped, Prototyping, Incremental, Spiral, and Agile models. It describes the key phases and characteristics of each model, and provides guidance on when each model is best applied based on factors like requirements stability, technology maturity, and risk level. The document aims to help readers understand the different SDLC options and choose the model that is most suitable for their specific project needs and context.
This slide is for software engineering subject which may help you to better understanding. You can also gain knowledge in software engineering subject.
This document discusses requirements analysis and design. It covers the types and characteristics of requirements, as well as the tasks involved in requirements engineering including inception, elicitation, elaboration, negotiation, specification, validation, and management. It also discusses problems that commonly occur in requirements practices and solutions through proper requirements engineering. Additionally, it outlines goals and elements of analysis modeling, including flow-oriented, scenario-based, class-based, and behavioral modeling. Finally, it discusses the purpose and tasks of design engineering in translating requirements models into design models.
Software engineering by Dr. vishnu sharmaVishnu Sharma
The document discusses software engineering and related concepts. It defines software engineering as the application of scientific principles and methods to the development of software. It describes the different stages of software development like planning, requirements analysis, design, coding, testing and maintenance. It also discusses the qualities of good software like maintainability, correctness, reusability, reliability and portability. Finally, it outlines some common challenges in software development such as understanding complex requirements and dealing with changing requirements.
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
The document discusses planning for a software engineering project. It begins by outlining the key steps in planning: defining the problem, developing a solution strategy, planning the development process, and planning the organizational structure. For the development process, it recommends using a phased lifecycle model with milestones, documents, and reviews. It also discusses estimating costs and scheduling. The organizational structure could follow a project, functional, or matrix format. Programming teams may use different structures like democratic, chief programmer, or hierarchical models. Overall, the document provides guidance on the essential activities needed to properly plan a software engineering project.
The document discusses software testing terminology, principles, and phases. It defines errors, faults, failures, and their relationships. It also covers software quality metrics and attributes like correctness, reliability, and maintainability. Twelve principles of software testing are outlined around test planning, invalid/unexpected inputs, regression testing, and integrating testing into the development lifecycle. The phases of a software project are described as requirements gathering, planning, design, development, and testing.
This document discusses software cost estimation. It begins by distinguishing between effort, which is the number of hours of work required, and time, which is the duration from start to finish. It then describes factors that influence cost estimation, such as project type and size, and development team size. Finally, it outlines several techniques used for cost estimation, including algorithmic models, expert judgment, top-down estimation, and bottom-up estimation.
This document discusses requirement engineering and outlines its key tasks. It describes common problems with requirements practices like misunderstanding customer needs and lack of change control. The main tasks of requirements engineering are inception to understand the problem, elicitation using techniques like meetings and quality function deployment, and managing requirements throughout the project. The goal is to properly define what the customer wants to establish a strong foundation for software design and development.
This document discusses requirement engineering and outlines its key tasks. It describes common problems like misunderstanding customer needs and lack of change control. The tasks are inception to understand the problem, elicitation using techniques like meetings and quality function deployment, and requirements management throughout the project. Elicitation aims to identify all requirements through collaboration with stakeholders.
The document discusses the system development life cycle (SDLC), which is a conceptual model used in project management that describes the stages involved in developing an information system. It is a multistep, iterative process that provides a structured framework for technical and non-technical activities to deliver a quality system. The SDLC gives structure and defines the phases and steps involved in developing a system, and serves as a foundation for project planning, scheduling, and estimating. It also assists in lowering project risk and increasing visibility. The SDLC framework includes activities such as requirements gathering, design, implementation, testing, and maintenance.
This document provides an overview of various software engineering process models, including:
- Waterfall model which divides the software development life cycle into sequential phases like requirements, design, implementation, testing and maintenance.
- Iterative waterfall model which allows for feedback loops between phases to catch errors earlier.
- Prototyping model which involves building prototypes to refine requirements before development.
- Incremental/evolutionary model which develops the system in modules through successive versions.
- Spiral model which represents the software process as iterative loops to progressively develop and test the product.
- Agile models like Scrum and XP which emphasize adaptive planning, evolutionary development, team collaboration and frequent delivery of working software.
System and Infrastructure Lifecycle Management.pptxPangeranSilalahi
This document discusses system and infrastructure lifecycle management as it relates to the CISA examination. It covers topics such as business realization, project management structures and practices, application development approaches, infrastructure development, maintenance practices, and auditing controls. The key areas covered include ensuring management practices meet organizational objectives, understanding different development approaches, auditing system development and maintenance, and providing assurance on controls.
This document discusses how lean principles can be applied to package implementation projects involving commercial off-the-shelf software. It recommends defining requirements using user stories and test cases instead of detailed specifications. It also advocates for implementing the package in iterations where each iteration is tested and deployed to production, rather than a "big bang" approach. Other lean aspects discussed include co-locating the project team, vendor, and client to improve communication, and including contractual incentives to encourage finishing early.
1. The document discusses various software engineering process models including waterfall, prototyping, RAD, incremental, and spiral models. It describes the key phases and advantages/disadvantages of each.
2. It also covers system engineering and how software engineering occurs as part of developing larger systems. Business process engineering and product engineering are introduced for developing information systems and products respectively.
3. Key aspects of developing computer-based systems are outlined including the elements of software, hardware, people, databases, documentation and procedures.
The document discusses techniques for decomposing software projects to aid in cost estimation. It describes decomposing by problem or process. Process decomposition breaks down framework activities like communication. For complex projects, communication can be broken into smaller tasks. The document also discusses software sizing methods, empirical estimation models, and making buy versus build decisions. It outlines manual and automated cost estimation techniques from project-level to activity-level estimates.
Creativity for Innovation and SpeechmakingMattVassar1
Tapping into the creative side of your brain to come up with truly innovative approaches. These strategies are based on original research from Stanford University lecturer Matt Vassar, where he discusses how you can use them to come up with truly innovative solutions, regardless of whether you're using to come up with a creative and memorable angle for a business pitch--or if you're coming up with business or technical innovations.
The document discusses various aspects of requirements engineering including processes, techniques, challenges, and importance. It describes requirements elicitation, analysis, specification, validation, and management. Key points covered include feasibility studies, types of requirements, characteristics of good requirements, requirements traceability and evolution. Diagrams like use cases, activity diagrams and data flow diagrams are presented as examples of requirements specification outputs.
This document provides an overview of software processes and the Capability Maturity Model Integration (CMMI). It defines what a software process is, characteristics of processes, and that different project types require different processes. It then describes the key elements of the CMMI, including its five maturity levels from Initial to Optimizing. Each level is defined in one sentence or less. It also briefly outlines some of the key process areas assessed at levels 2 through 5.
This document provides an introduction to software engineering. It discusses the evolving role of software, characteristics of software like correctness and maintainability, and categories of software like system software and web applications. It also covers legacy software, common software myths, project management processes, and challenges with project estimation. The key aspects of software engineering like the definition, development, and maintenance phases are summarized.
This chapter discusses software development processes, project planning, and effort estimation. It introduces several key concepts:
- Software development processes involve a series of steps and activities that produce intended outputs. Common process models include waterfall, iterative development, and agile methods.
- Project planning involves tracking progress, organizing personnel, and estimating effort and schedule. Tools like Gantt charts, histograms, and expenditure tracking can be used.
- Effort estimation methods include expert judgment, algorithmic techniques like COCOMO II, and machine learning approaches. Estimates should be refined repeatedly as uncertainty decreases over the project lifecycle.
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
This document provides an overview of several software development life cycle (SDLC) models, including Waterfall, V-Shaped, Prototyping, Incremental, Spiral, and Agile models. It describes the key phases and characteristics of each model, and provides guidance on when each model is best applied based on factors like requirements stability, technology maturity, and risk level. The document aims to help readers understand the different SDLC options and choose the model that is most suitable for their specific project needs and context.
This slide is for software engineering subject which may help you to better understanding. You can also gain knowledge in software engineering subject.
This document discusses requirements analysis and design. It covers the types and characteristics of requirements, as well as the tasks involved in requirements engineering including inception, elicitation, elaboration, negotiation, specification, validation, and management. It also discusses problems that commonly occur in requirements practices and solutions through proper requirements engineering. Additionally, it outlines goals and elements of analysis modeling, including flow-oriented, scenario-based, class-based, and behavioral modeling. Finally, it discusses the purpose and tasks of design engineering in translating requirements models into design models.
Software engineering by Dr. vishnu sharmaVishnu Sharma
The document discusses software engineering and related concepts. It defines software engineering as the application of scientific principles and methods to the development of software. It describes the different stages of software development like planning, requirements analysis, design, coding, testing and maintenance. It also discusses the qualities of good software like maintainability, correctness, reusability, reliability and portability. Finally, it outlines some common challenges in software development such as understanding complex requirements and dealing with changing requirements.
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
The document discusses planning for a software engineering project. It begins by outlining the key steps in planning: defining the problem, developing a solution strategy, planning the development process, and planning the organizational structure. For the development process, it recommends using a phased lifecycle model with milestones, documents, and reviews. It also discusses estimating costs and scheduling. The organizational structure could follow a project, functional, or matrix format. Programming teams may use different structures like democratic, chief programmer, or hierarchical models. Overall, the document provides guidance on the essential activities needed to properly plan a software engineering project.
The document discusses software testing terminology, principles, and phases. It defines errors, faults, failures, and their relationships. It also covers software quality metrics and attributes like correctness, reliability, and maintainability. Twelve principles of software testing are outlined around test planning, invalid/unexpected inputs, regression testing, and integrating testing into the development lifecycle. The phases of a software project are described as requirements gathering, planning, design, development, and testing.
This document discusses software cost estimation. It begins by distinguishing between effort, which is the number of hours of work required, and time, which is the duration from start to finish. It then describes factors that influence cost estimation, such as project type and size, and development team size. Finally, it outlines several techniques used for cost estimation, including algorithmic models, expert judgment, top-down estimation, and bottom-up estimation.
This document discusses requirement engineering and outlines its key tasks. It describes common problems with requirements practices like misunderstanding customer needs and lack of change control. The main tasks of requirements engineering are inception to understand the problem, elicitation using techniques like meetings and quality function deployment, and managing requirements throughout the project. The goal is to properly define what the customer wants to establish a strong foundation for software design and development.
This document discusses requirement engineering and outlines its key tasks. It describes common problems like misunderstanding customer needs and lack of change control. The tasks are inception to understand the problem, elicitation using techniques like meetings and quality function deployment, and requirements management throughout the project. Elicitation aims to identify all requirements through collaboration with stakeholders.
The document discusses the system development life cycle (SDLC), which is a conceptual model used in project management that describes the stages involved in developing an information system. It is a multistep, iterative process that provides a structured framework for technical and non-technical activities to deliver a quality system. The SDLC gives structure and defines the phases and steps involved in developing a system, and serves as a foundation for project planning, scheduling, and estimating. It also assists in lowering project risk and increasing visibility. The SDLC framework includes activities such as requirements gathering, design, implementation, testing, and maintenance.
This document provides an overview of various software engineering process models, including:
- Waterfall model which divides the software development life cycle into sequential phases like requirements, design, implementation, testing and maintenance.
- Iterative waterfall model which allows for feedback loops between phases to catch errors earlier.
- Prototyping model which involves building prototypes to refine requirements before development.
- Incremental/evolutionary model which develops the system in modules through successive versions.
- Spiral model which represents the software process as iterative loops to progressively develop and test the product.
- Agile models like Scrum and XP which emphasize adaptive planning, evolutionary development, team collaboration and frequent delivery of working software.
System and Infrastructure Lifecycle Management.pptxPangeranSilalahi
This document discusses system and infrastructure lifecycle management as it relates to the CISA examination. It covers topics such as business realization, project management structures and practices, application development approaches, infrastructure development, maintenance practices, and auditing controls. The key areas covered include ensuring management practices meet organizational objectives, understanding different development approaches, auditing system development and maintenance, and providing assurance on controls.
This document discusses how lean principles can be applied to package implementation projects involving commercial off-the-shelf software. It recommends defining requirements using user stories and test cases instead of detailed specifications. It also advocates for implementing the package in iterations where each iteration is tested and deployed to production, rather than a "big bang" approach. Other lean aspects discussed include co-locating the project team, vendor, and client to improve communication, and including contractual incentives to encourage finishing early.
1. The document discusses various software engineering process models including waterfall, prototyping, RAD, incremental, and spiral models. It describes the key phases and advantages/disadvantages of each.
2. It also covers system engineering and how software engineering occurs as part of developing larger systems. Business process engineering and product engineering are introduced for developing information systems and products respectively.
3. Key aspects of developing computer-based systems are outlined including the elements of software, hardware, people, databases, documentation and procedures.
The document discusses techniques for decomposing software projects to aid in cost estimation. It describes decomposing by problem or process. Process decomposition breaks down framework activities like communication. For complex projects, communication can be broken into smaller tasks. The document also discusses software sizing methods, empirical estimation models, and making buy versus build decisions. It outlines manual and automated cost estimation techniques from project-level to activity-level estimates.
Creativity for Innovation and SpeechmakingMattVassar1
Tapping into the creative side of your brain to come up with truly innovative approaches. These strategies are based on original research from Stanford University lecturer Matt Vassar, where he discusses how you can use them to come up with truly innovative solutions, regardless of whether you're using to come up with a creative and memorable angle for a business pitch--or if you're coming up with business or technical innovations.
Brand Guideline of Bashundhara A4 Paper - 2024khabri85
It outlines the basic identity elements such as symbol, logotype, colors, and typefaces. It provides examples of applying the identity to materials like letterhead, business cards, reports, folders, and websites.
How to Create User Notification in Odoo 17Celine George
This slide will represent how to create user notification in Odoo 17. Odoo allows us to create and send custom notifications on some events or actions. We have different types of notification such as sticky notification, rainbow man effect, alert and raise exception warning or validation.
Information and Communication Technology in EducationMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 2)-𝐏𝐫𝐞𝐥𝐢𝐦𝐬
𝐄𝐱𝐩𝐥𝐚𝐢𝐧 𝐭𝐡𝐞 𝐈𝐂𝐓 𝐢𝐧 𝐞𝐝𝐮𝐜𝐚𝐭𝐢𝐨𝐧:
Students will be able to explain the role and impact of Information and Communication Technology (ICT) in education. They will understand how ICT tools, such as computers, the internet, and educational software, enhance learning and teaching processes. By exploring various ICT applications, students will recognize how these technologies facilitate access to information, improve communication, support collaboration, and enable personalized learning experiences.
𝐃𝐢𝐬𝐜𝐮𝐬𝐬 𝐭𝐡𝐞 𝐫𝐞𝐥𝐢𝐚𝐛𝐥𝐞 𝐬𝐨𝐮𝐫𝐜𝐞𝐬 𝐨𝐧 𝐭𝐡𝐞 𝐢𝐧𝐭𝐞𝐫𝐧𝐞𝐭:
-Students will be able to discuss what constitutes reliable sources on the internet. They will learn to identify key characteristics of trustworthy information, such as credibility, accuracy, and authority. By examining different types of online sources, students will develop skills to evaluate the reliability of websites and content, ensuring they can distinguish between reputable information and misinformation.
The Science of Learning: implications for modern teachingDerek Wenmoth
Keynote presentation to the Educational Leaders hui Kōkiritia Marautanga held in Auckland on 26 June 2024. Provides a high level overview of the history and development of the science of learning, and implications for the design of learning in our modern schools and classrooms.
2. Project Management
Introduction
Principles & Importance of PM
Knowledge Areas
Processes
Project identification and Planning
Organisational structure and issues
PERT and CPM
Resource management
Risk management
Quality management
Contract management
Project schedule using software
Project execution
Project closure
I
3. Great Examples
Olympic Games
Taj Mahal
Launching of a Product or Book
Vaccination Program
Building a Metro
Developing a commercial Software App
Launching a satellite in Space
Development of commercial aircraft
4. Project
• Non-routine tasks are involved
• Planning is required
• Specific objectives are to be met or a specified
product is to be created
• The project has a predetermined time span
• Work involves several specialisms
• Work is carried out in several phases
• The resources that are available for use on the
project are constrained
• The project is large or complex
5. Project Objectives
• Projects are undertaken to fulfill objectives by producing
deliverables.
• An objective is defined as
– an outcome toward which work is to be directed,
– a strategic position to be attained,
– a purpose to be achieved,
– a result to be obtained, or
– a service to be performed.
• A deliverable is defined as any unique and verifiable
product, result, or capability to perform a service that is
required to be produced to complete a process, phase,
or project. It may be tangible or intangible.
6.
7. Project Management
Project Management is the dynamic process that utilizes
the appropriate resources of the organization in a
controlled and structured manner, to achieve some clearly
defined objectives identified as strategic needs. It is
always conducted within a defined set of constraints.
8. Importance of PM
• Meet objectives
• Satisfy stakeholder expectations
• Be more predictable
• Increase chances of success
• Deliver the right products at the right time
• Resolve problems and issues on time
• Respond to risks in a timely manner
• Optimize the use of organizational resources
• Manage constraints
• Manage change effectively
• Identify, recover, or terminate failing projects
9. Organization
• Systems:
– A system is a collection of various components that
can produce results not obtainable by the individual
components alone.
• Principles:
– Systems are dynamic
– Systems can be optimized
– System components can be optimized
– Systems and their components cannot be optimize at
the same time, and
– Systems are nonlinear in responsiveness
10. Organization – Governance
• Governance Framework:
– This framework includes but is not limited to: Rules,
Policies, Procedures, Norms, Relationships, Systems,
and Processes.
• This framework influences how:
– Objectives of the organization are set and achieved
– Risk is monitored and assessed, and
– Performance is optimized
11. Management Elements
Components that comprise the key functions or principles
of general management in the organization.
The key functions or principles of management:
Division of work using specialized skills and availability
Authority given to perform work
Responsibility to perform work appropriately assigned
Discipline of action
Unity of command
Unity of direction
Goals of the organization take precedence over individual goals
Paid fairly for work performed
Optimal use of resources
Clear communication channels
12. Factors in Organization Structure Selection
Major factors to consider selecting an organizational
structure:
Degree of alignment with organizational objectives
Specialization capabilities
Span of control, efficiency, and effectiveness
Clear path for escalation of decisions
Clear line and scope of authority
Delegation capabilities
Accountability assignment
Adaptability and Simplicity of design
Efficiency of performance
Cost considerations
Physical locations, and
Clear communication
13. Software Projects Vs Other types of
project
• Invisibility – Progress is not immediately visible.
• Complexity – Software products contain more
complexity than other engineered artefacts.
• Conformity – Traditional engineering projects
though complex are governed by physical laws
that are consistent. Software developers have to
conform to the requirements of human clients
• Flexibility – Software systems are likely to be
subject to a high degree of change. The ease
with which software can be changed is usually
seen as one of its strength
15. Activities
• Feasibility study – investigates whether a
prospective project is worth starting – that it has
a valid business case
• Planning – Formulation of outline plan for the
whole project and a detailed one for the first
stage. Detailed planning for the later stages
would be done as they approach.
• Project execution – Often contains design and
implementation sub-phases
16. Project Execution
• Requirement analysis – Process of investigating what the
potential users and their managers and employers require as
features and qualities of the new system. These ‘customer-
facing’ requirements then have to be translated into technical
requirements from which the developers of the new system
can work
• Architecture design – This maps the requirements to the
components of the system that is to be built.
– Decision to be made about which processes in the new
system will be carried out by the user and which can be
computerized. This design of the system architecture thus
forms an input to the development of the software
requirements.
– A second architecture design process then takes place
which maps the software requirements to software
components.
17. • Detailed design – Each software component is made up of a
number of software units that can be separately coded and tested.
The detailed design of these units is carried out separately.
• Code and test – This could refer to writing code for each software
unit or could refer to the use of an application-builder. Initial testing to
debug individual errors.
• Integration – The individual components are collected together and
tested to see if they meet the overall requirements. Integration could
be at the level of
– Software where different components are combined,
– At the level of the system as a whole where the software and other
components of the system such as the hardware platforms and networks
and the user procedures are brought together
• Qualification testing – Testing the system, including the software
components to ensure that all the requirements have been fulfilled
18. • Installation – Process of making new system operational. Would
also include setting system parameters, installing the software onto
the hardware platforms and user training
• Acceptance support – Stage of resolving problems with the
newly installed system, error rectification, any extensions and
improvements
Case study
19. Project Life cycle
• Starting the Project
• Organizing and Preparing
• Carrying out the work
• Ending the Project
21. Problems identified by Software
professionals
• Inadequate specification of work
• Management ignorance
• Lack of knowledge of application area
• Lack of standards
• Lack of up-to-date documentation
• Lack of communication between users and technicians
• Deadline pressure
• Lack of quality control
• Remote management
• Lack of training
22. Business Case
• Most projects need to have a justification or a business
case – effort and expense
• Cost – benefit analysis
For e.g.
• That development costs are not allowed to rise to a level
which threatens to exceed the value of benefits;
• That the features of the system are not reduced to a
level where the expected benefits cannot be realized;
• That the delivery date is not delayed so that there is an
unacceptable loss benefits
23. Requirement Specification
• Functional requirements
These define what the end-product of the project is to do.
• Quality requirements
These define about the end-product should do. These are still
things that the user will be able to experience.
• Resource requirements
This would keep a record of how much the organization is willing to
spend on the system.
24. Case Study
ABC College is a higher education institution which used to
be managed by a local government authority but has
now become autonomous. Its payroll is still administered
by the local authority and pay slips and other output are
produced in the local authority’s computer centre. The
authority now charges the college for this serve. The
college management are of the opinion that it would be
cheaper to obtain an ‘off-the-shelf’ payroll package and
do the payroll processing themselves.
What would be the main stages of the project to convert to
independent payroll processing by the college? Bearing
in mind that an off-the-shelf package is to be used, how
would this project differ from one where the software was
to be written from scratch?
25. • Project evaluation – All the costs that would be incurred by the college if it
were to carry out its own payroll processing would need to be carefully
examined to ensure that it would be more cost effective than letting the
local authority carry on providing the service.
• Planning – The way that the transfer to local processing is to be carried out
needs to be carefully planned with the participation of all those concerned.
Some detailed planning would need to be deferred until more information
was available, for example which payroll package was to be used.
• Requirements elicitation and analysis – This is finding out what the users
need from the system. To a large extent it will often consist of finding out
what the current system does, as it may be assumed that in general the
new system is to provide the same functions as the old. The users might
have additional requirements, however, or there might even be facilities
that are no longer needed.
• Specification – This involves documenting what the new system is to be
able to do.
26. • Design/Coding – As an ‘off-the-shelf’ package is envisaged, these
stages will be replaced by a package evaluation and selection
activity.
• Verification and validation – Tests will need to be carried out to
ensure that the selected package will actually do what is required.
This task might well involve parallel running of the old and new
systems and a comparison of the output from them both to check for
any inconsistencies.
• Implementation – This would involve the things like installing the
software, setting system parameters such as the salary scales, and
setting up details of employees.
• Maintenance/support – This will include dealing with users’ queries,
liaising with the package supplier and taking account of new payroll
requirements.
27. Overview of Step Wise planning
4. Identify the products and
activities
0. Select project
1. Identify project scope
and objectives
2. Identify project
infrastructure
3. Analyze project
characteristics
5. Estimate effort for each
activity
6. Identify activity risks
7. Allocate resources
8. Review/ publicize plan
9. Execute plan
10. Lower level planning
For each
activity
Lower
level detail
28. 1. Identify project scope and objectives
1.1 Identify objectives and measures of effectiveness in
meeting them
1.2 Establish a project authority
1.3 Identify stakeholders
1.4 Modify objectives in the light of stakeholder analysis
1.5 Establish methods of communications with all parties
29. 2. Identify project infrastructure
2.1 Establish relationship between project and strategic
planning
2.2 Identify installation standards and procedures
2.3 Identify project team organization
30. 3. Analyze project characteristics
3.1 Distinguish the project as either objective- or product-
driven
3.2 Analyze other project characteristics
3.3 Identify high-level project risks
3.4 Take into account user requirements concerning
implementation
3.5 Select general life-cycle approach
3.6 Review overall resource estimates
31. 4. Identify project products and
activities
4.1 Identify and describe project products
4.2 Document generic product flows
4.3 Recognize product instances
4.4 Produce ideal activity network
4.5 Modify ideal to take into account need for stages and
checkpoints Project
products
System
products
Module
products
Tested
integrated
software
Integration test
cases
Overall
specification
Management
products
Module
design
documents
Module code Progress
report
32. 5. Estimate effort for each activity
5.1 Carry out bottom-up estimates
5.2 Revise plan to create controllable activities
33. 6. Identify activity risks
6.1 Identify and quantify activity-based risks
6.2 Plan risk reduction and contingency measures where
appropriate
6.3 Adjust plans and estimates to take account of risks
34. 7. Allocate resources
7.1 Identify and allocate resources
7.2 Revise plans and estimates to take account of resource
constraints
8. Review/publicize plan
8.1 Review quality aspects of project plan
8.2 Document plans and obtain agreement