SPM... Note

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

Project: A project is a sequence of unique, complex, and connected activities that have one goal

or purpose and that must be completed by a specific time, within budget, and requirements.
Attributes: Scope, Schedule and Resource
Nature
• Projects have a distinct beginning and end.
• Each project aims to achieve specific goals.
• Projects have clear boundaries and tasks.
• Resources like people, materials, and funds are allocated.
• Projects must be completed within a set timeframe.
• Tasks are linked and require coordination.
• Projects aim to deliver a tangible result or product.

Project management: refers to the systematic process of planning, organizing, executing, and
controlling the resources, tasks, and activities involved in a project to achieve its defined goals
within the constraints of time, budget, scope, and quality.
Problems with Software Project
People-Related Problems:
• Communication Issues
• Team Dynamics
• Skill Gaps
• Team Size and Composition
Process-Related Problems:
• Poor Planning
• Ineffective Project Management
• Unclear Requirements
• Scope Creep
Product-Related Problems:
• Quality Issues
• User Acceptance
• Incomplete Features
Technology-Related Problems:
• Inadequate Tools and Infrastructure
• Compatibility Issues
• Emerging Technology Challenges
Project Planning
1. Select Project:
• Choosing a project idea or concept that aligns with organizational goals and
priorities.
2. Identify Project Scope and Objectives:
• Clearly defining what the project will accomplish and the boundaries of its work.
3. Identify Project Infrastructure:
• Outlining the resources, tools, and technology needed to support project
execution.
4. Analyze the Project Characteristics:
• Understanding the project's complexity, risks, constraints, and potential
challenges.
5. Identify Project Products and Activities:
• Listing the specific deliverables (products) and tasks (activities) required to
achieve the project's objectives.
6. Estimate Effort for Each Activity:
• Determining the time, resources, and effort needed to complete each activity.
7. Identify Activity Risks:
• Identifying potential risks that could impact the project's success and planning risk
mitigation strategies.
8. Allocate Resources:
• Assigning the necessary resources (human, financial, materials) to each activity.
9. Review:
• Reviewing and validating the project plan to ensure it aligns with project goals and
feasibility.
Project Phases
1. Feasibility Study:
• Evaluating the project's technical, financial, and operational viability.
• Assessing potential risks, benefits, and constraints.
2. Requirements Specification:
• Defining and documenting detailed functional and non-functional requirements.
• Clearly stating what the system or software needs to accomplish.
3. System Design:
• Creating a high-level architecture and design for the system.
• Identifying major components, modules, and their interactions.
4. Detailed Design:
• Expanding on the system design to provide detailed specifications for each
module.
• Designing data structures, algorithms, and interfaces.
5. Code & Unit Test:
• Writing the actual code based on the detailed design.
• Performing unit testing to verify the correctness of individual code units.
6. Integrate & Test:
• Integrating different code modules to create a complete system.
• Conducting integration testing to ensure the modules work together as intended.
7. Acceptance:
• Performing user acceptance testing to validate that the system meets user
requirements.
• Gaining approval from stakeholders for the system's deployment and use.
Reasons of Project Failure
1. Inadequate Planning:
• Poorly defined project objectives, scope, or requirements.
• Unrealistic schedules or budget estimates.
• Lack of contingency plans for risks and uncertainties.
2. Scope Creep:
• Uncontrolled expansion of project scope beyond the original plan.
• Frequent changes in requirements during project execution.
3. Poor Communication:
• Inadequate communication among team members, stakeholders, or
management.
• Misunderstandings or unclear expectations leading to mistakes.
4. Lack of Leadership:
• Ineffective project management or leadership.
• Absence of clear decision-making and direction.
5. Unclear Requirements:
• Ambiguous or changing requirements that lead to confusion and rework.
• Stakeholder disagreements on project objectives.
6. Inadequate Resources:
• Insufficient budget, manpower, or tools to complete the project successfully.
• Resource conflicts or bottlenecks affecting progress.
7. Unrealistic Timeframes:
• Overly tight schedules that don't allow for proper planning, testing, or quality
assurance.
• Rushed development leading to errors and incomplete work.
8. Poor Risk Management:
• Failure to identify and mitigate project risks.
• Unexpected events or issues derailing the project.
9. Lack of User Involvement:
• Minimal engagement with end-users or stakeholders during development.
• Resulting in a product that doesn't meet user needs.
10. Technical Challenges:
• Complexity of technology or unfamiliar tools causing delays and errors.
• Inadequate technical skills or expertise among team members.
11. Scope Misalignment with Business Goals:
• The project's outcomes don't align with the organization's strategic objectives.
• Lack of business value in the delivered product.
12. Vendor or Supplier Issues:
• Delays, quality issues, or conflicts with external vendors or suppliers.
• Dependency on external parties causing project disruptions.
13. Lack of Change Management:
• Resistance to change from stakeholders or end-users.
• Poor adoption of the project's outcomes within the organization.
14. Poor Quality Control:
• Inadequate testing and quality assurance, leading to defects and user
dissatisfaction.
• Failure to meet quality standards.
15. Unforeseen External Factors:
• Economic changes, market shifts, legal issues, or external events impacting the
project.
• Lack of adaptability to changing circumstances.
Contract: A legally binding agreement outlining the terms, conditions, and expectations between
the client and the software development team for the delivery of a software project.
Contract Management: The process of effectively handling and overseeing all aspects of a
software project's contract, including negotiation, performance monitoring, changes, and
conflict resolution, to ensure the project's successful completion within the agreed-upon terms.
Benefits: Positive outcomes attained from proficient software project management, including
timely delivery of quality software, within budget and scope, efficient resource utilization, and
meeting user requirements, thereby enhancing client satisfaction and achieving project goals.
Project estimation:

• It is the process of predicting the time, resources, and costs needed to complete a
project.
• It involves analyzing the project's scope, requirements, and complexity to provide an
informed estimate of how long the project will take, how much it will cost, and what
resources will be required.
• Estimation helps in planning, budgeting, and making informed decisions about project
feasibility and execution.

Gantt Chart: A visual timeline that displays project tasks and their durations as horizontal bars.
It helps in scheduling, tracking progress, and understanding task dependencies.
Network Diagram/Analysis: A graphical representation of project activities and their logical
relationships, often using nodes and arrows. It helps in identifying critical paths and
dependencies.
CPM (Critical Path Method): CPM is a project management technique that identifies the critical
path, which is the sequence of tasks with the longest duration in a project schedule.
It helps determine the shortest time needed to complete a project by considering task
dependencies, durations, and their impact on the project's overall timeline.
PERT (Program Evaluation and Review Technique): PERT is a project management technique
that uses three-time estimates (optimistic, pessimistic, and most likely) to calculate expected
durations for tasks.
It focuses on managing uncertainty and risk by providing a range of possible project completion
times based on the probabilistic nature of task durations.
Float, also known as slack, refers to the amount of time that a task within a project can be
delayed without causing a delay in the overall project completion date.

• Total Float/Slack: Total float is the amount of time a task can be delayed without delaying
the project's completion date. It represents the extra time available for non-critical tasks and
is calculated by analyzing the critical path of the project.

• Free Float/Slack: Free float is the amount of time a task can be delayed without delaying
the start of any subsequent task. It considers only the immediate successor tasks' start dates.

Functional Point Analysis (FPA) is a technique used to measure the functionality of a software
system based on user requirements, assisting in estimating project effort and resources.
AFP: UFP*CAF
CAF = 0.65 + (0.01 × ∑ (Complexity Factor Values))

Structured Development: An organized and systematic approach to software development,


emphasizing planning, documentation, and phased execution.
Unstructured Development: A flexible and dynamic approach to software development, focusing
on adaptability, rapid prototyping, and iterative processes.
A review: is a systematic examination of a document by one or more people with the main aim
of finding and removing errors early in the software development life cycle. Reviews are used to
verify documents such as requirements, system designs, code, test plans and test cases.
Walkthrough: is a method of conducting informal review. In a walkthrough, author describes and
explain work product in an informal meeting to his peers or supervisor to get feedback. Here,
validity of the proposed solution for work product is checked.
An inspection is a formal and structured review process used in software project management
(SPM) to examine the work in detail and identify any errors, omissions, or potential issues. It
involves a trained leader and a team of reviewers who follow a set of guidelines to carefully
examine the work.
Stages

• Planning: Inspection is planned by moderator.


• Overview meeting: Author describes background of work product.
• Preparation: Each inspector examines work product to identify possible defects.
• Inspection meeting: During this meeting, reader reads through work product, part by part
and inspectors points out the defects for every part.
• Rework: Author makes changes to work product according to action plans from the
inspection meeting.
• Follow-up: Changes made by author are checked to make sure that everything is correct.

Automation refers to the use of information systems to automate certain business processes,
such as payroll, accounting, or inventory management, in order to increase efficiency and
accuracy Ex: An automated payroll system that calculates and processes employee salaries and
benefits automatically
Informatization refers to the use of information systems to manage and store information, and
to make it more accessible and useful to users. Ex: An enterprise resource planning (ERP) system
that manages and stores information about a company's financials, supply chain, and operations
Transformation refers to the use of information systems to fundamentally change the way that
a business operates, such as by adopting a cloud-based customer relationship management
(CRM) system. Ex: The adoption of a cloud-based ERP system that allows for real-time access to
financial and operational data from any location.
The waterfall model is a software development methodology that follows a sequential approach
to project management. It is a linear process that divides the software development process into
distinct phases, each of which must be completed before the next phase can begin.
The waterfall model is typically divided into the following phases:
1. Requirements gathering and analysis: This phase involves gathering requirements from
stakeholders and analyzing them to understand the scope and objectives of the project.
2. System design: This phase involves designing the architecture and components of the
software system.
3. Implementation: This phase involves coding the software system based on the system
design.
4. Testing: This phase involves testing the software system to ensure that it meets the
requirements and is free of defects.
5. Deployment: This phase involves deploying the software system to production so that it
can be used by users.
6. Maintenance: This phase involves maintaining the software system and fixing any defects
that are found.
Here are some advantages and disadvantages of the waterfall model:
Advantages:
• Simple and straightforward to understand and manage
• Easy to track progress
• Can be effective for projects with well-defined requirements
Disadvantages:
• Inflexible and difficult to adapt to changes in requirements
• Can lead to costly rework if requirements are not well-defined
• Can be difficult to get feedback from users until the software system is deployed
Agile is an iterative and flexible approach to software development that prioritizes collaboration,
customer feedback, and the delivery of functional products in short, incremental cycles.

• Agile methods break tasks into smaller iterations, or parts do not directly involve long
term planning.
• Each iteration is small and easily manageable and can be completed within a couple of
weeks only. (2 to 4 weeks)
• At a time one iteration is planned, developed, and deployed to the customers. Long-term
plans are not made.

1. Requirement Gathering: - In this step, the development team must gather the requirements,
by interaction with the customer. development team should plan the time and effort needed to
build the project. Based on this information you can evaluate technical and economic
feasibility.
2. Design the Requirements: - In this step, the development team will use user-flow-diagram or
high-level UML diagrams to show the working of the new features and show how they will
apply to the existing software. Wireframing and designing user interfaces are done in this
phase.
3. Construction / Iteration: - In this step, development team members start working on their
project, which aims to deploy a working product.
4. Testing / Quality Assurance: - Testing involves Unit Testing, Integration Testing, and System
Testing. A brief introduction of these three tests is as follows:
• Unit Testing: - Unit testing is the process of checking small pieces of code to ensure
that the individual parts of a program work properly on their own. Unit testing is
used to test individual blocks (units) of code.
• Integration Testing: - Integration testing is used to identify and resolve any issues that
may arise when different units of the software are combined.
• System Testing: - Goal is to ensure that the software meets the requirements of the
users and that it works correctly in all possible scenarios.
5. Deployment: - In this step, the development team will deploy the working project to end
users.
6. Feedback: - This is the last step of the Agile Model. In this, the team receives feedback about
the product and works on correcting bugs based on feedback provided by the customer.

Principles
1. Customer Satisfaction Through Early and Continuous Delivery: Agile prioritizes delivering
valuable software to customers as early and frequently as possible to gather feedback and
ensure customer satisfaction.
2. Welcome Changing Requirements, Even Late in Development: Agile teams embrace
changing requirements, even if they arise late in the project, to provide better value to the
customer.
3. Frequent Delivery of Working Software: Agile promotes delivering working, usable software
at regular intervals, typically in short iterations (sprints).
4. Collaboration Between Business People and Developers: Agile encourages close
collaboration and communication between business stakeholders and the development
team throughout the project.
5. Build Projects Around Motivated Individuals: Agile teams should be comprised of motivated
individuals who are trusted to do their work effectively. Support them, and they will deliver
results.
6. Face-to-Face Communication: Whenever possible, Agile teams favor face-to-face
communication as it is the most effective means of conveying information and resolving
issues.
7. Working Software as the Primary Measure of Progress: The primary measure of progress in
Agile is the working software product. Other metrics are secondary.
8. Sustainable Development, Able to Maintain a Constant Pace: Agile promotes a sustainable
working pace for development teams to ensure continuous progress and avoid burnout.
9. Continuous Attention to Technical Excellence and Good Design: Agile teams prioritize
technical excellence and good design to maintain the quality of the software.
10. Simplicity—the Art of Maximizing the Amount of Work Not Done: Agile values simplicity and
seeks to minimize unnecessary work or features.
11. Self-Organizing Teams: Agile teams are self-organizing and empowered to make decisions
about how to achieve their goals.
Values of Agile
1. Individuals and Interactions over Processes and Tools: Agile places a higher value on the
interactions and collaboration between team members and stakeholders rather than
relying solely on rigid processes and tools. Effective communication and teamwork are
essential for success.
2. Working Software over Comprehensive Documentation: While documentation is
important, Agile prioritizes delivering functional and working software as the primary
measure of progress. It values tangible results over extensive documentation.
3. Customer Collaboration over Contract Negotiation: Agile encourages close collaboration
with customers, end-users, and stakeholders throughout the project. It seeks to build a
partnership where customers are actively involved in shaping the product and providing
feedback, rather than relying on fixed contracts.
4. Responding to Change over Following a Plan: Agile embraces change as a natural part of
the development process. It values the ability to respond to changing requirements,
priorities, and market conditions over rigidly adhering to a fixed plan.
Advantages of Agile:
1. Customer focus and satisfaction.
2. Flexibility to accommodate changes.
3. Faster delivery of working software.
4. Continuous process improvement.
5. Enhanced transparency and collaboration.
6. Risk reduction and better quality.
7. High customer satisfaction.

Disadvantages of Agile:
1. Potential scope creep.
2. Complexity in large or distributed teams.
3. Minimal documentation may be insufficient.
4. Not suitable for highly uncertain projects.
5. Demands active involvement and resources.
6. Resistance to cultural and process changes.
7. Limited predictability in project timelines and budgets.
8. Not ideal for all project types, especially those with strict regulatory requirements.
Scrum is an Agile methodology (framework) focused on customer satisfaction through
transparent communication, collective responsibility, and continuous progress.

It begins with a general idea, creating a prioritized list of desired features (product backlog)
defined by the product owner.

Steps in Scrum
1. Product Backlog: Create a prioritized list of desired features and requirements.
2. Sprint Planning: Select items from the Product Backlog for the upcoming sprint.
3. Sprint: Work on selected items during a short, time-boxed cycle (sprint).
4. Daily Stand-up: Hold daily meetings for team coordination.
5. Sprint Review: Demonstrate completed work and gather feedback at the end of the
sprint.
6. Sprint Retrospective: Reflect on the sprint and make process improvements.
7. Repeat: Continue with new sprints, iterating and improving the product.

Players
The product owner takes care of the end user’s interests;
The Scrum master coordinates the whole development process. Another task is to make
sure that Scrum is used properly and to hold regular Scrum meetings;
The Scrum team develops the product. Its main tasks are programming, analysis, testing,
etc.
Xtreme Programming
Extreme Programming (XP) is an Agile software development methodology that emphasizes
customer satisfaction, continuous feedback, and a high level of teamwork.
It involves practices such as pair programming, test-driven development, and frequent releases
to deliver high-quality software in small, incremental steps.

Principles
1. Rapid Feedback: Seek feedback from various sources frequently and make quick
adjustments.
2. Assume Simplicity: Choose the simplest solution that works and avoid unnecessary
complexity.
3. Incremental Change: Make small, incremental changes rather than large, disruptive ones.
4. Embracing Change: Be open to changing requirements and adapt to them efficiently.
5. Quality Work: Strive for excellence in all aspects of the project, including code quality and
testing.
Values
1. Feedback: Seek frequent feedback from customers, users, and team members to ensure
that the project is on track and that requirements are well-understood and met.
2. Communication: Promote open and effective communication within the team and with
stakeholders to ensure everyone has a shared understanding of goals and progress.
3. Simplicity: Emphasize simplicity in design and implementation to reduce complexity and
make the software easier to understand and maintain.
4. Courage: Encourage team members to have the courage to speak up about issues, take
risks, and make necessary changes to improve the project.
5. Respect: Foster a respectful and collaborative environment where team members value
each other's contributions and ideas.
Players
• Customer
• Programmers
• Coach (Optional)
• Tracker
Advantages
• Stable system
• Clear code
• Fast delivery
• Reduced documentation
• high level of visibility and accountability
Disadvantages
• Unclear estimates
• Time waste
• Less documentation
• Pair programming takes longer
Consideration while choosing Suitable Software Development Model
1. Project Requirements: Understand project goals and scope.
2. Project Characteristics: Evaluate size, complexity, and resources.
3. Customer Needs: Assess user involvement and feedback requirements.
4. Development Team: Consider team's familiarity and adaptability.
5. Risk Assessment: Identify potential risks and mitigation strategies.
6. Budget and Timeline: Review available resources and timeline.
7. Explore Model Options: Research different development models.
8. Match Model to Project: Align project characteristics with model strengths.
9. Prioritize Trade-offs: Consider speed, flexibility, and documentation.
10. Stakeholder Input: Involve clients, users, and stakeholders.
11. Adaptability: Choose a model that allows adjustments.
12. Test and Refine: Pilot the chosen model on a smaller scale.
Risk: The possibility of negative events or outcomes that could impact a project, process, or goal.
Risk Management: The process of identifying, assessing, and mitigating potential risks to
minimize their impact and ensure project or organizational success.

• Risk Assessment: Involves identifying, analyzing, and prioritizing risks, along with
understanding their potential impact.
• Risk Control: Encompasses strategies like risk reduction, contingency planning, continuous
monitoring, and reassessment to manage risks effectively.
Risk Contingency Plan: Prepared actions for dealing with project risks if they occur. Lists risks,
their likelihood, impact, and management steps.
Risk Mitigation Plan: Outlines actions to reduce risks' likelihood or impact on projects, lessening
their effects.
Strategies:

• Reactive Risk Strategy: Addressing risks after they occur, often involving mitigation or
contingency plans to minimize their impact.
• Proactive Risk Strategy: Identifying and addressing risks before they happen through
preventive measures and mitigation planning.
Categories of Risk:

• Project Risks: Risks specific to the project, including budget overruns, scope changes, and
resource shortages.
• Technical Risks: Associated with technology, such as software bugs, compatibility issues, and
untested components.
• Business Risks: Relating to the project's impact on the organization, market changes, or
economic factors.
• Known Risks: Risks that are identified and understood before the project begins, allowing for
planning and mitigation.
• Predictable/Unpredictable Risks: Predictable risks are anticipated based on historical data
or patterns, while unpredictable risks are harder to foresee and prepare for.
Five Views of Quality:
1. Transcendent View: Quality is intuitive and cannot be precisely defined but is universally
recognized when experienced. Reputation and recognition.
2. Product-Based View: Quality is measured by tangible characteristics and attributes of a
product or service. Functionality
3. User-Based View: Quality is defined by how well a product or service meets the needs
and expectations of its users.
4. Manufacturing-Based View: Quality is determined by conforming to specifications and
minimizing defects in production.
5. Value-Based View: Quality is evaluated by the benefits and value a product or service
provides compared to its cost.
McCall’s Model of Software Quality
Product Operation:

• Correctness: Software meets specified requirements and produces accurate results.

• Reliability: Software performs consistently under various conditions without failures.

• Efficiency: Software executes tasks with optimal resource utilization.

• Integrity: Software prevents unauthorized access and data corruption.

• Usability: Software is user-friendly, intuitive, and meets user needs effectively


Product Revision:

• Maintainability: Software is easily modifiable, enhancing its long-term viability.

• Flexibility: Software adapts to changing requirements and environments.

• Testability: Software is verifiable and testable to ensure quality assurance.


Product Transition:

• Portability: Software can be transferred or adapted across different platforms or


environments.

• Reusability: Software components can be reused in other projects.

• Interoperability: Software can seamlessly integrate and interact with other systems.
Standards: Standards are established guidelines, rules, or specifications that define a set of
criteria or requirements for products, processes, services, or systems.

• They are developed to ensure consistency, quality, safety, and interoperability across various
industries and domains.
• Standards provide a common framework that helps organizations achieve uniformity,
reliability, and compatibility in their offerings, enhancing efficiency and facilitating
communication within and between industries.
The reasons to adopt quality standards:

• Avoid Errors: Using established quality and design methods helps prevent errors and
inconsistencies in development.

• Build Confidence: Adhering to quality standards establishes trust and confidence between
customers and developers.

• Boost Productivity: Embracing a quality-focused culture reduces maintenance and rework


time, enhancing overall productivity.

• Enhance Product Quality: Elevating the quality of products boosts the reputation of the
company.

• Reduce Costs: Implementing quality practices and effective project management lowers
development costs and reduces the need for rework.

• Meet Customer Expectations: Customers expect quality standards due to their widespread
adoption in the industry.

• Contractual Obligations: Many customer contracts require compliance with quality


standards as a condition.
Accreditation: The process where an external body assesses an institution's quality,
competence, and credibility against set standards, granting recognition for adherence to
benchmarks.
Certification: Formal acknowledgment from a recognized authority confirming that an individual,
product, process, or system meets predetermined standards, showcasing competence and
compliance.

Total Quality Management (TQM): TQM is a comprehensive approach that focuses on improving
the quality of products, services, and processes across all aspects of an organization.
It involves fostering a culture of continuous improvement, customer satisfaction, and employee
engagement.
TQM aims to eliminate defects, enhance efficiency, and ensure that quality is ingrained in every
facet of the organization's operations.
Change management refers to the structured process of preparing, equipping, and supporting
individuals, teams, and organizations to adopt changes in a deliberate and organized manner.
It is a crucial aspect of any project, initiative, or transformation that brings about significant
changes in an organization's processes, technologies, structures, or culture.

1. Planning: Identify change needs, set objectives, and plan strategies.


2. Communication: Communicate reasons and benefits transparently.
3. Stakeholder Engagement: Involve stakeholders, address concerns.
4. Training and Skills: Provide necessary skills for new processes/tools.
5. Change Champions: Empower advocates to overcome resistance.
6. Monitoring and Feedback: Continuously assess progress and gather input.
7. Adapting and Iterating: Make adjustments based on feedback.
8. Resistance Management: Address concerns and support struggling individuals.
9. Leadership Involvement: Lead by example, show commitment.
10. Sustaining Changes: Ensure changes are maintained over time.
Configuration Management is the process of systematically managing and controlling changes
to a system, product, or software throughout its lifecycle to ensure consistency, version control,
and traceability.
Configuration Item (CI): A Configuration Item is a distinct and manageable part of a system,
product, or software that can be identified and controlled. CIs include files, documents, code
modules, or hardware components.
Version: A specific, identified release of a software or document. Versions are typically numbered
(e.g., Version 1.0).
Variant: A version of a product that has slight differences or customizations from the standard
version.
Revision: A change or modification made to a document or software code, often indicated by a
revision number or letter.
Configuration: Configuration refers to the arrangement and relationships among all the
components (CIs) in a system or project. It defines how these components work together to
achieve the desired functionality.
Baseline: A Baseline is a well-defined and stable snapshot of a configuration at a specific point in
time. It serves as a reference point for future development and change control.
Workspace: A Workspace is a controlled environment where developers or team members work
on and manage different versions of code or documents. It helps isolate development efforts and
prevent conflicts between different changes.

Software Configuration Management Processes:


1. Configuration Identification: Identify and document all software components
(Configuration Items or CIs), assign unique identifiers, and establish their relationships
and dependencies.
2. Change Management: Control and manage changes by receiving, reviewing, and
approving change requests. Ensure that changes are properly documented, tested, and
integrated into the configuration.
3. Configuration Control: Enforce change policies and procedures to prevent unauthorized
or unplanned changes. Ensure that only authorized and approved changes are
implemented.
4. Configuration Status Accounting: Keep a record of each CI's state and history throughout
its lifecycle. This process provides visibility into the current configuration, including
version status and location.
5. Auditing and Reviews: Conduct audits and reviews to ensure compliance with SCM
policies and standards. Auditors verify that configurations align with approved baselines
and best practices.
6. Build and Release Management: Manage the compilation, linking, packaging, and
deployment of software. Create executable software builds from source code and
coordinate software releases to end-users.
7. Configuration Baseline Management: Establish and maintain stable baselines for
different stages of the development lifecycle. Baselines serve as reference points for
future development and change control.
8. Continuous Integration and Continuous Delivery (CI/CD): Implement automation for
integrating, testing, and delivering code changes. CI/CD processes ensure that new code
is continuously integrated, tested, and delivered to maintain software stability and
reliability.
9. Defect and Issue Tracking: Use tracking systems to log, prioritize, and manage defects,
issues, and change requests. This process helps in efficiently addressing problems and
enhancements as they arise.
• Project: A temporary effort undertaken to create a unique product, service, or result.
• Project Management: The systematic process of planning, executing, monitoring,
controlling, and closing a project.
• Scope: The boundaries and details of the work that needs to be accomplished in a project.
• Objective: The specific goal or purpose of the project.
• Deliverable: A tangible outcome or result produced as part of the project.
• Stakeholder: Individuals or groups with an interest in the project's outcome or who are
affected by it.
• Risk: An uncertain event that could have a positive or negative impact on the project.
• Contingency Plan: A predefined strategy to address potential risks and unexpected
events.
• Change Management: The process of handling changes to project scope, requirements,
or plans.
• Milestone: A significant point in the project timeline marking the completion of a major
phase or deliverable.
• Baseline: The original project plan used as a reference for comparing actual progress.
• Resource: Anything required to accomplish project tasks, including people, equipment,
and materials.
• Task/Activity: A specific piece of work that needs to be completed in the project.
• Duration: The amount of time it takes to complete a task or activity.
• Dependency: The relationship between tasks, where one task's timing affects another's.
• Critical Path: The sequence of tasks that determines the shortest time to complete the
project.
• Float/Slack: The amount of time a task can be delayed without affecting project duration.
• Gantt Chart: A visual representation of project tasks on a timeline, showing start and end
dates.
• PERT Chart: A network diagram that uses Program Evaluation and Review Technique for
estimating task durations.
• Resource Allocation: Assigning resources to project tasks based on availability and skills.
• Effort: The amount of work required to complete a task or project.
• Quality Assurance: Activities and processes to ensure project deliverables meet quality
standards.
• Communication Plan: A strategy outlining how and when project information is shared
among stakeholders.
• Risk Management: Identifying, assessing, and mitigating potential risks to project
success.
• Change Control: A process for documenting, reviewing, and approving changes to project
elements.
• Baseline: The original project plan used as a benchmark for measuring progress and
changes.
• Project Charter: A document that outlines the project's purpose, objectives, scope, and
stakeholders.
• Project Sponsor: The person or entity providing resources and support for the project.
• Project Closure: The final phase of a project involving the completion of all activities and
formal acceptance.
• Lessons Learned: Insights gained from a project that can inform future projects.
• Agile: An iterative and flexible approach to project management focused on delivering
value incrementally.
• Scrum: A popular Agile framework with specific roles, events, and artifacts for project
management.
• Kanban: An Agile methodology focused on visualizing work and optimizing flow.
• Sprint: A time-boxed period in Agile development during which specific tasks are
completed.
• User Story: A brief description of a feature or functionality from the user's perspective.
• Velocity: The measure of work a team can complete during a sprint in Agile.
• Burn-down Chart: A visual representation of work remaining versus time during an Agile
sprint.
• Continuous Integration: The practice of frequently merging code changes into a shared
repository.
• Continuous Delivery: The practice of automating the deployment of code changes to
production.
• DevOps: The integration of development and operations teams to improve software
delivery.
• Sprint Planning: A meeting in Agile to determine the work to be completed in the
upcoming sprint.
• Daily Stand-up: A short daily meeting in Agile to discuss progress, challenges, and plans.
• Retrospective: A regular Agile meeting to review the team's processes and identify
improvements.
• Time box: The time required to complete an iteration is known as a Time Box. Time-box
refers to the maximum amount of time needed to deliver an iteration to customers. So,
the end date for an iteration does not change. However, the development team can
decide to reduce the delivered functionality during a Time-box if necessary to deliver it
on time. The Agile model’s central principle is delivering an increment to the customer
after each Time-box.

You might also like