The document discusses key attributes of good software such as maintainability, dependability, efficiency, and usability. It also covers different types of software like system software, real-time software, business software, embedded software, and artificial intelligence software. Some challenges in software development are that software may not provide the desired functionality, take too long/cost too much to build, or cannot evolve to meet changing needs. The document then introduces software engineering as a systematic approach to software analysis, design, implementation and maintenance using processes, methods and tools to increase productivity, quality and reduce costs while meeting requirements. Software engineering work is categorized into definition, development and support phases.
The prototyping model involves building quick prototypes to help define requirements through an iterative process of evaluation and refinement with customers. It works well when requirements are unclear, but has problems if quality and maintainability are not prioritized. The RAD model is a variant of the linear sequential model that emphasizes extremely short development cycles through component reuse and automated tools. It is well-suited to modular projects with well-understood requirements and committed teams, but faces challenges with large or technically risky projects.
This document provides an overview of software engineering and outlines several key chapters that will be covered. It discusses software engineering as a systematic approach to software development that includes requirements analysis, modeling, design, quality assurance, implementation, testing, and maintenance. Several software process models are also summarized, including the linear sequential model, prototyping model, and RAD (rapid application development) model. The challenges of software development and goals of taking an engineering approach are also mentioned.
The document discusses key attributes of good software such as maintainability, dependability, efficiency, and usability. It also covers different types of software like system software, real-time software, business software, embedded software, and artificial intelligence software. Some challenges in software development are that software may not provide the desired functionality, take too long/cost too much to build, or cannot evolve to meet changing needs. The document then introduces software engineering as a systematic approach to software analysis, design, implementation and maintenance using processes, methods and tools to increase productivity, quality and reduce costs while meeting requirements. Software engineering work is categorized into definition, development and support phases.
The prototyping model involves building quick prototypes to help define requirements through an iterative process of evaluation and refinement with customers. It works well when requirements are unclear, but has problems if quality and maintainability are not prioritized. The RAD model is a variant of the linear sequential model that emphasizes extremely short development cycles through component reuse and automated tools. It is well-suited to modular projects with well-understood requirements and committed teams, but faces challenges with large or technically risky projects.
This document provides an overview of software engineering and outlines several key chapters that will be covered. It discusses software engineering as a systematic approach to software development that includes requirements analysis, modeling, design, quality assurance, implementation, testing, and maintenance. Several software process models are also summarized, including the linear sequential model, prototyping model, and RAD (rapid application development) model. The challenges of software development and goals of taking an engineering approach are also mentioned.
The document discusses software design concepts and principles. It describes design as translating the analysis model into representations of the software that can be built, including a data design, architectural design, interface design, and component design. It provides guidelines for the design process such as ensuring the design is traceable to requirements, avoids reinventing existing solutions, is structured to accommodate change and degrade gracefully when errors occur. The design should be reviewed to minimize errors and assessed for quality during creation.
The document discusses system modeling, requirements validation, requirements management, software requirements analysis, and software specification. It provides information on modeling a system's components and their relationships, validating requirements through reviews, managing requirements through traceability tables and unique identifiers, analyzing requirements to refine software allocation and build models, and specifying requirements to represent information for implementation.
Defining the Problem - Goals and requirementsStephennancy
This document discusses goals and requirements in software engineering projects. It makes the following key points:
- Goals define targets for both the development process and final work products, and can be qualitative or quantitative. Examples of each type are given.
- Requirements specify the capabilities needed to solve the problem, and include functional, performance, and interface requirements. They provide standards for the project and product.
- Both goals and requirements should be specified quantitatively when possible to avoid later misunderstandings, though this can be difficult in the planning phase. Methods for verification should also be defined.
- High-level goals can be translated into specific requirements related to quality attributes like reliability. Milestones can quantify goals
The waterfall model segments the software development process into sequential phases: planning, requirements definition, design, implementation, system testing, and maintenance. Each phase has defined inputs, processes, and outputs. The planning phase involves understanding the problem, feasibility studies, and developing a solution. Requirements definition produces a specification describing the required software functions and constraints. Design identifies software components and their relationships. Implementation translates the design into code. System testing integrates and accepts the software. Maintenance modifies the software after release. While the phases are linear, the development process is not always perfectly sequential.
Project planning is an important part of software project management that involves breaking down the work, allocating resources, and creating a schedule. It occurs at three stages: proposal, project startup, and periodically throughout the project. The project plan sets out the resources, work breakdown structure, and schedule. It identifies risks and describes the organization, requirements, activities, milestones, and monitoring mechanisms. The planning process establishes constraints and assesses parameters, defines deliverables and milestones, draws up and updates the schedule, and reviews progress, revising estimates as needed.
Project management involves planning, monitoring, and controlling software development from initial concept to deployment. Effective project management focuses on people, product, process, and project. There are five categories of stakeholders and four types of software development teams. The product scope and problem are decomposed and mapped to framework activities and work tasks. Process models are chosen based on project size and priorities. Common signs of potential project failure and a commonsense approach are discussed.
The document discusses various activities involved in managing software development projects. It describes key management activities like communication, rationale management, software configuration management, project management, and software life cycle. It also discusses concepts like communication tools and procedures, capturing and representing rationale, tracking changes and versions, planning and monitoring projects, and software development life cycle models. Testing is defined as the process of finding differences between expected and actual system behaviors using various testing techniques.
Microsoft Project is a project management software that helps plan, assign resources, track progress, manage budgets, and analyze workloads for projects. It was first released in 1984 and acquired by Microsoft in 1985. The latest version is Microsoft Project 2013. It allows creating project schedules and budgets, tracking resource allocation, and managing project progress through various phases from planning to closing. Enhancements have extended its capabilities with Project Server and Web Access.
The document describes a generic process model that includes framework activities, software engineering actions, tasks, work products, quality assurance points, and milestones. Each framework activity can have multiple software engineering actions associated with it. Each action can then be represented by different task sets that include specific work tasks. The document also discusses defining framework activities and identifying appropriate task sets. Finally, it outlines three types of process patterns: stage patterns related to framework activities, task patterns related to software engineering actions/tasks, and phase patterns related to sequences of framework activities.
This document discusses software project management. It states that managing software projects through their entire life cycle, from initial planning through monitoring and termination, is necessary to deliver high-quality products on time. The document outlines the key aspects of software project management, including project planning, monitoring and control, quality management, maintenance, and the overall processes involved. It provides details on planning, monitoring, quality assurance, quality control, maintenance activities and models.
RStudio is a free and open source integrated development environment (IDE) for R, a programming language for statistical computing and graphics. It was founded in 2010 and combines a source code editor, build automation tools and a debugger to help users write and test R code. The document then provides information on installing and using RStudio, including how to start the desktop or server versions, work with projects, read data files, debug code, and use the source code editor.
The elaboration phase of a software project involves capturing system requirements, baselining the architecture, and putting processes and standards in place. An interdisciplinary team elaborates the idea through iterative development of use cases, class diagrams, and package diagrams. The primary goals are to define objectives set in earlier phases, address risks, establish the system architecture, and validate the architecture.
This document outlines the process of taking an idea for a product and developing it into a finished product. It discusses key stages including defining requirements, developing prototypes, testing, and getting approval. For example, an initial idea for a weather app grew through iterations and user feedback into an acceptance requirement for a mobile app displaying temperatures in different cities and scales. The process involves actors like product owners, engineers, and testers collaborating using tools like stories, test cases, and proofs of concept to build the product.
The document discusses software design concepts and principles. It describes design as translating the analysis model into representations of the software that can be built, including a data design, architectural design, interface design, and component design. It provides guidelines for the design process such as ensuring the design is traceable to requirements, avoids reinventing existing solutions, is structured to accommodate change and degrade gracefully when errors occur. The design should be reviewed to minimize errors and assessed for quality during creation.
The document discusses system modeling, requirements validation, requirements management, software requirements analysis, and software specification. It provides information on modeling a system's components and their relationships, validating requirements through reviews, managing requirements through traceability tables and unique identifiers, analyzing requirements to refine software allocation and build models, and specifying requirements to represent information for implementation.
Defining the Problem - Goals and requirementsStephennancy
This document discusses goals and requirements in software engineering projects. It makes the following key points:
- Goals define targets for both the development process and final work products, and can be qualitative or quantitative. Examples of each type are given.
- Requirements specify the capabilities needed to solve the problem, and include functional, performance, and interface requirements. They provide standards for the project and product.
- Both goals and requirements should be specified quantitatively when possible to avoid later misunderstandings, though this can be difficult in the planning phase. Methods for verification should also be defined.
- High-level goals can be translated into specific requirements related to quality attributes like reliability. Milestones can quantify goals
The waterfall model segments the software development process into sequential phases: planning, requirements definition, design, implementation, system testing, and maintenance. Each phase has defined inputs, processes, and outputs. The planning phase involves understanding the problem, feasibility studies, and developing a solution. Requirements definition produces a specification describing the required software functions and constraints. Design identifies software components and their relationships. Implementation translates the design into code. System testing integrates and accepts the software. Maintenance modifies the software after release. While the phases are linear, the development process is not always perfectly sequential.
Project planning is an important part of software project management that involves breaking down the work, allocating resources, and creating a schedule. It occurs at three stages: proposal, project startup, and periodically throughout the project. The project plan sets out the resources, work breakdown structure, and schedule. It identifies risks and describes the organization, requirements, activities, milestones, and monitoring mechanisms. The planning process establishes constraints and assesses parameters, defines deliverables and milestones, draws up and updates the schedule, and reviews progress, revising estimates as needed.
Project management involves planning, monitoring, and controlling software development from initial concept to deployment. Effective project management focuses on people, product, process, and project. There are five categories of stakeholders and four types of software development teams. The product scope and problem are decomposed and mapped to framework activities and work tasks. Process models are chosen based on project size and priorities. Common signs of potential project failure and a commonsense approach are discussed.
The document discusses various activities involved in managing software development projects. It describes key management activities like communication, rationale management, software configuration management, project management, and software life cycle. It also discusses concepts like communication tools and procedures, capturing and representing rationale, tracking changes and versions, planning and monitoring projects, and software development life cycle models. Testing is defined as the process of finding differences between expected and actual system behaviors using various testing techniques.
Microsoft Project is a project management software that helps plan, assign resources, track progress, manage budgets, and analyze workloads for projects. It was first released in 1984 and acquired by Microsoft in 1985. The latest version is Microsoft Project 2013. It allows creating project schedules and budgets, tracking resource allocation, and managing project progress through various phases from planning to closing. Enhancements have extended its capabilities with Project Server and Web Access.
The document describes a generic process model that includes framework activities, software engineering actions, tasks, work products, quality assurance points, and milestones. Each framework activity can have multiple software engineering actions associated with it. Each action can then be represented by different task sets that include specific work tasks. The document also discusses defining framework activities and identifying appropriate task sets. Finally, it outlines three types of process patterns: stage patterns related to framework activities, task patterns related to software engineering actions/tasks, and phase patterns related to sequences of framework activities.
This document discusses software project management. It states that managing software projects through their entire life cycle, from initial planning through monitoring and termination, is necessary to deliver high-quality products on time. The document outlines the key aspects of software project management, including project planning, monitoring and control, quality management, maintenance, and the overall processes involved. It provides details on planning, monitoring, quality assurance, quality control, maintenance activities and models.
RStudio is a free and open source integrated development environment (IDE) for R, a programming language for statistical computing and graphics. It was founded in 2010 and combines a source code editor, build automation tools and a debugger to help users write and test R code. The document then provides information on installing and using RStudio, including how to start the desktop or server versions, work with projects, read data files, debug code, and use the source code editor.
The elaboration phase of a software project involves capturing system requirements, baselining the architecture, and putting processes and standards in place. An interdisciplinary team elaborates the idea through iterative development of use cases, class diagrams, and package diagrams. The primary goals are to define objectives set in earlier phases, address risks, establish the system architecture, and validate the architecture.
This document outlines the process of taking an idea for a product and developing it into a finished product. It discusses key stages including defining requirements, developing prototypes, testing, and getting approval. For example, an initial idea for a weather app grew through iterations and user feedback into an acceptance requirement for a mobile app displaying temperatures in different cities and scales. The process involves actors like product owners, engineers, and testers collaborating using tools like stories, test cases, and proofs of concept to build the product.
Este documento describe diferentes métricas para medir procesos y proyectos de software. Explica que las métricas cuantitativas permiten evaluar la eficacia del proceso de software y los proyectos. Describe métricas orientadas al tamaño, función, objetos, casos de uso e ingeniería web. También cubre métricas para medir calidad como corrección, mantenibilidad e integridad.
This document discusses project management concepts including the four P's of project management - People, Product, Process, and Project. It covers topics like stakeholders in a project, team leadership, defining the project scope, choosing an appropriate process model, and signs that a project may fail. It also discusses principles for starting and tracking a project successfully.
Las métricas permiten medir la eficacia de los procesos y proyectos de software mediante la recopilación de datos cuantitativos. Los ingenieros de software recopilan las métricas y los gestores de software las analizan para identificar tendencias y mejorar las estimaciones. Algunas métricas comunes incluyen defectos, líneas de código y esfuerzo de desarrollo.
Project management chapter_04 for MSBTEKalyan Ingole
This presentation is about the project management that contains project management spectrum,Risk management,change management,configuration management and clean room strategy
This involves specification of software systems using advanced design languages and formal logics, as well as verifying the correctness of such specifications using formal engineering analysis methods and various mechanical/automated tools
Project management involves planning, monitoring, and controlling a project from initial concept through deployment. It includes defining the project scope, decomposing problems, managing stakeholders, choosing an appropriate process model, and ensuring effective communication. Signs a project may be in jeopardy include poorly defined scope or needs, uncontrolled changes, unrealistic deadlines, lack of skills on the team, and failure to apply best practices.
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 discusses key aspects of Agile software development including the Agile Manifesto, values, principles, practices, and approaches. It describes that the Agile Manifesto was created in 2001 and emphasizes individuals, working software, customer collaboration, and responding to change. Common Agile practices mentioned include daily stand-ups, early feedback, user story creation, retrospectives, and continuous integration. Specific Agile approaches like Scrum, Kanban, and Extreme Programming are also summarized.
This document provides an overview of software project management. It discusses key topics like the project life cycle, stakeholders, tools and techniques, and challenges of software projects. Several studies found that 31-53% of IT projects were cancelled or over budget. Effective project managers balance scope, time and costs, use proven techniques, and have both technical and soft skills. Projects require defining goals, planning, execution, closure and evaluation to deliver value.
The document discusses key concepts in project management including concerns managers have around quality, risk, cost, schedule, resources, and communication. It identifies reasons why projects fail such as changing requirements or unrealistic deadlines. Effective project management focuses on people, product, process, and project. Key players include stakeholders, team leaders, and software teams. The document provides guidance on organizing teams, defining product scope, decomposing problems, defining processes, and monitoring projects.
Java programming presentations By Daroko blog
Do not just read java as a programmer, find projects and start making some Money, at DAROKO BLOG,WE Guide you through what you have learned in the classroom to a real business Environment, find java applications to a real business Environment, find also all IT Solutions and How you can apply them, find the best companies where you can get the IT jobs worldwide, Find java contract, Complete and start making some cash, find clients within your Country, refer and get paid when you complete the work.
Not Just a contact, at daroko Blog (www.professionalbloggertricks.com/),you are also being taught how you can apply all IT related field in real world.
Simply Google, Daroko Blog or visit (www.professionalbloggertricks.com/) to Know More about all these service now.
Do not just learn and go, apply them in real world.
This document discusses key aspects of software project management including definitions of a project, common causes of project failure, and the importance of project management. It outlines several principles and processes of project management including defining needs and scope, planning, execution, control, and closing. It emphasizes managing people, products, processes, and the overall project. Effective project management focuses on understanding problems, maintaining momentum, tracking progress, making smart decisions, and conducting postmortem analyses.
This document outlines the course objectives and units for a Project Management course. The course aims to develop skills for planning, managing, and delivering successful software projects. The key objectives are to manage projects through each stage of the software development life cycle, learn activity planning and risk management, and deliver projects that support organizational goals. The first unit covers project evaluation, planning, methodologies, objectives setting, risk evaluation, and stepwise project planning. It includes topics such as importance of software project management, project portfolio management, and cost-benefit evaluation.
This document outlines the course objectives and units for a Project Management course. The course aims to teach students to plan, manage, and deliver successful software projects throughout the software development lifecycle. The first unit covers evaluating and planning projects, including importance of project management, methodologies, project categorization, setting objectives, risk evaluation, and stepwise project planning. Additional details are provided on project phases, stakeholders, management skills, and challenges with software projects.
This document provides an overview of project management. It discusses the advantages of formal project management, defines what a project is, and outlines key project attributes such as having a unique purpose and being temporary. It also discusses project constraints like time, scope and cost. The document then covers topics like project stakeholders, knowledge areas, tools and techniques, success factors, and the importance of organizational support and culture for projects.
This document discusses key concepts in project management for software engineering projects. It covers the four Ps of project management - people, product, process, and project. It describes stakeholders and considerations for organizing software teams. Factors for selecting a team structure and paradigms are outlined. The document also discusses defining the product scope, decomposing problems, and melding the problem and process. It provides guidelines for a common-sense approach to managing projects.
The document discusses various aspects of managing software projects and processes. It covers tasks that a project manager would be responsible for, including planning, scheduling, directing teams, and monitoring progress. It also discusses different software development models like the waterfall model and agile development. Project managers play an important role in planning projects, estimating costs and schedules, and building effective teams to complete software work.
1. Software project management involves planning, organizing, and controlling software development activities using scientific principles and techniques. It includes functions like scoping, planning, scheduling, and controlling.
2. Effective software project management focuses on people, product, process, and the project. It is important to manage stakeholders, recruit and train practitioners, define requirements and scope, select appropriate processes, and plan and track the project.
3. Project scheduling involves decomposing work into tasks, estimating efforts, identifying dependencies, and allocating tasks to time periods using tools like Gantt charts, PERT, and CPM to track progress against the schedule. Managing risks is also important for project success.
The document discusses five parameters for improving software economics: reducing complexity, improving processes, using skilled personnel, using better tools, and adjusting quality thresholds. It focuses on reducing size through components, reuse, languages, and modeling. Improving processes involves optimizing activities at the meta, macro, and micro levels. Using skilled personnel and effective teams is important. Automation through tools can improve productivity by 20-40%. Achieving quality involves requirements management, architecture, configuration control, and testing.
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏)-𝐏𝐫𝐞𝐥𝐢𝐦𝐬
𝐃𝐢𝐬𝐜𝐮𝐬𝐬 𝐭𝐡𝐞 𝐄𝐏𝐏 𝐂𝐮𝐫𝐫𝐢𝐜𝐮𝐥𝐮𝐦 𝐢𝐧 𝐭𝐡𝐞 𝐏𝐡𝐢𝐥𝐢𝐩𝐩𝐢𝐧𝐞𝐬:
- Understand the goals and objectives of the Edukasyong Pantahanan at Pangkabuhayan (EPP) curriculum, recognizing its importance in fostering practical life skills and values among students. Students will also be able to identify the key components and subjects covered, such as agriculture, home economics, industrial arts, and information and communication technology.
𝐄𝐱𝐩𝐥𝐚𝐢𝐧 𝐭𝐡𝐞 𝐍𝐚𝐭𝐮𝐫𝐞 𝐚𝐧𝐝 𝐒𝐜𝐨𝐩𝐞 𝐨𝐟 𝐚𝐧 𝐄𝐧𝐭𝐫𝐞𝐩𝐫𝐞𝐧𝐞𝐮𝐫:
-Define entrepreneurship, distinguishing it from general business activities by emphasizing its focus on innovation, risk-taking, and value creation. Students will describe the characteristics and traits of successful entrepreneurs, including their roles and responsibilities, and discuss the broader economic and social impacts of entrepreneurial activities on both local and global scales.
Gender and Mental Health - Counselling and Family Therapy Applications and In...PsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
The chapter Lifelines of National Economy in Class 10 Geography focuses on the various modes of transportation and communication that play a vital role in the economic development of a country. These lifelines are crucial for the movement of goods, services, and people, thereby connecting different regions and promoting economic activities.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
Temple of Asclepius in Thrace. Excavation resultsKrassimira Luka
The temple and the sanctuary around were dedicated to Asklepios Zmidrenus. This name has been known since 1875 when an inscription dedicated to him was discovered in Rome. The inscription is dated in 227 AD and was left by soldiers originating from the city of Philippopolis (modern Plovdiv).
1. SOFTWARE PROJECT MANAGEMENT
Subject presented by:
Dr. Trần Khánh Dung
Department of Software Engineering
Email: khanhdung218@yahoo.com
01- 2014
2. Interest
● Basic software project management concepts and principles
● Process and project metrics
● Basis for effective management decision making
● Techniques used to
●
●
●
estimate cost,
resource requirements,
and establish an effective project plan
● Management
activities that lead to effective risk monitoring,
mitigation, and management
● Activities
●
required to define project tasks and establish a
workable project schedule
Techniques for ensuring quality and controlling changes
2
3. State of problem
“I've visited dozens of commercial shops, both good and
bad, and I've observed scores of data processing managers,
again, both good and bad. Too often, I've watched in horror
as these managers futilely struggled through nightmarish
projects, squirmed under impossible deadlines, or delivered
systems that outraged their users and went on to devour
huge chunks of maintenance time.”
[Page-Jones, M., Practical Project Management, Dorset
House, 1985]
3
5. Key concepts - Players
● Senior
managers who define the business
issues
● Project (technical) managers who must plan,
motivate, organize, and control the practitioners
who do software work.
● Practitioners who deliver the technical skills that
are necessary to engineer a product or
application.
● Customers who specify the requirements for the
software to be engineered
● End-users who interact with the software once it
is released for production use.
5
6. Key concepts – Team leader
● Motivation. The ability to encourage (by “push or
pull”) technical people to produce to their best
ability.
● Organization. The ability to mold existing
processes (or invent new ones) that will enable
the initial concept to be translated into a final
product.
● Ideas or innovation. The ability to encourage
people to create and feel creative even when they
must work within bounds established for a
particular software product or application.
6
7. Key concepts – Software Team
A project that will require n people working for k years:
1. n individuals are assigned to m different functional tasks,
relatively little combined work occurs; coordination is the
responsibility of a software manager who may have other
projects to be concerned with.
2. n individuals are assigned to m different functional tasks (
m < n ) so that informal "teams" are established; an ad hoc
team leader may be appointed; coordination among teams is
the responsibility of a software manager.
3. n individuals are organized into t teams; each team is
assigned one or more functional tasks; each team has a
specific structure that is defined for all teams working on a
project; coordination is controlled by both the team and
a software project manager..
7
8. Key concepts – Software Team
● To achieve a high-performance team:
• Team members must have trust in one another.
• The distribution of skills must be appropriate to
the problem.
• Mavericks may have to be excluded from the
team, if team cohesiveness is to be maintained.
8
9. Key concepts - Process
● the linear sequential model
● the prototyping model
● the incremental model
● the component-based development model
● the fourth generation techniques model
9
10. Framework activities
● Customer communication—tasks required to establish effective
requirements elicitation between developer and customer.
● Planning—tasks required to define resources, timelines, and
other project related information.
● Risk analysis—tasks required to assess both technical and
management risks.
● Engineering—tasks required to build one or more
representations of the application.
● Construction and release—tasks required to construct, test,
install, and provide user support (e.g., documentation and
training).
● Customer evaluation—tasks required to obtain customer
feedback based on evaluation of the software representations
created during the engineering activity and implemented during
the construction activity.
10
11. What can go wrong in a project?
1. Software people don’t understand their customer’s needs.
2. The product scope is poorly defined.
3. Changes are managed poorly.
4. The chosen technology changes.
5. Business needs change [or are ill-defined].
6. Deadlines are unrealistic.
7. Users are resistant.
8. Sponsorship is lost [or was never properly obtained].
9. The project team lacks people with appropriate skills.
10. Managers [and practitioners] avoid best practices and
lessons learned.
11
12. W5HH principle
●Why is the system being developed?
●What will be done, by When?
●Who is responsible for a function?
●Where are they organizationally located?
●How will the job be done technically and managerially?
●How much of each resource is needed?
12