Professional Documents
Culture Documents
Unit 1
- What is a Project?
Temporary Endeavor / Planned undertaking of series of Well-defined activities to achieve the desired goals
Definite start date and end date
- Software Projects versus Other Types of Project
1. Flexibility
2. Invisibility
3. Complexity
4. Conformity
5. Technology
- Contract Management
A legally binding agreement between two or more parties that outlines the terms and conditions governing their relationship
Concepts Page 1
Codeplex Hosted
- Project Charter
A formal, written document that outlines the project's objectives, scope, stakeholders, constraints, and other key details.
- Stakeholders
Individuals, groups, or organizations that have an interest in or are affected by the outcome of a particular project
1. End Users
2. Sponsor
3. Team
4. Functional Managers
5. Project manager
6. Business Partners
7. Owner
- Setting Objectives
MOV (Measurable Organizational Value)
to define and measure the tangible benefits or value that a project is expected to deliver to the organization
Concepts Page 2
to define and measure the tangible benefits or value that a project is expected to deliver to the organization
Concepts Page 3
- Traditional versus Modern Project Management Practices.
Agile
An iterative and flexible approach that prioritizes collaboration, adaptability, and customer satisfaction.
and emphasizes delivering small, incremental releases of a product, allowing for continuous feedback and adjustments throughout the
development process.
Concepts Page 4
- Cost–benefit Evaluation Techniques
The costs include:
1) Development Costs – The salary paid to the people working on the project and that to the consultant if any
2) Setup costs – Cost of putting the system in place and consists of hardware equipments and cost of training or recruiting staff.
3) Operational costs – It includes support costs, hosting costs, licensing costs, maintenance costs and back costs
Direct
Indeirect
Intagible
2. BreakEven Year
Cash inflow= Cash Flow
4. Net profit:
The total revenue of a business - its total expenses, indicating overall profitability.
5. ROI (Return on Investment) / ARR (Accounting rate of return):
A measure of the profitability of an investment, calculated as the ratio of net profit to the initial cost of the investment.
- Risk Evaluation
The process of systematically assessing the potential risks associated with a project to determine their impact, likelihood, and overall
significance, enabling informed decision-making and risk mitigation strategies.
Tools:
• Project documents
• SWOT Analysis
• Brainstorming
• Delphi Technique
Anonymously conducted surveys among team members and addressing limitations of individual biases.
• Assumption Analysis
• Root Cause Analysis
Descision Trees
A graphical representation of the logic in a decision making process and the sequence of the decision points that creates the decision.
- Programme Management
It involves coordinating and overseeing multiple related projects to achieve strategic objectives, ensuring alignment with organizational goals
and optimizing resource utilization.
i. Vision - The vision will usually be a brief statement of the intent communicated down from the leadership.
Concepts Page 5
i. Vision - The vision will usually be a brief statement of the intent communicated down from the leadership.
ii. Aim and objectives - The aim and objectives of is more detailed statement and that explains exactly what is required
iii. Scope - The scope provides boundaries to the Program explaining what exactly to be delivered at the end of the project
iv. Design - Design is the way in which the project that make a program are put together.
v. Approach - It is the way the Program will be Run
vi. Resource Management - Resource management look at the scheduling and allocation of resources both with short-term and long-term
views.
vii. Responsibilities - Responsibilities are identified and located related for each area of the program.
Every associate of the Program must undoubtedly understand his or her characters and the roles of the other team members
viii. Benefits realization - Benefits realization is the process at the end of the program by which the benefits which were identified at the
beginning of the program are being measured towards the end.
- Creating a Programme
- Aids to Programme Management
Program Mandate:
A formal authorization that defines the objectives, scope, and authority of a program, providing the foundation for its initiation and
execution.
Vision:
The vision in program management articulates the desired future state or outcome, providing a clear and inspiring direction for the
program's efforts and aligning stakeholders toward common goals.
Blueprint:
A blueprint outlines the high-level structure, components, and dependencies of a program, serving as a strategic guide for its design
and implementation, ensuring alignment with the defined vision and goals.
Concepts Page 6
- Step 3: Analyse Project Characteristics
Project Charter
- Step 4: Identify Project Products and Activities
WBS
A hierarchical decomposition of the total scope of work to be carried out by the project team, providing a visual and systematic way to
organize and define the project's deliverables and work packages.
- Step 5: Estimate Effort for Each Activity
- Step 6: Identify Activity Risks
- Step 7: Allocate Resources
- Step 8: Review/Publicize Plan
- Steps 9 and 10: Execute Plan/Lower Levels of Planning
Unit 2
Off-the-shelf Projects:
Ready-made, pre-built projects or products available for purchase or use without customization.
- Build or Buy?
Concepts Page 7
7. ITIL (Information Technology Infrastructure Library):
Collection of best practices in project management; covers a broad aspect of organizational management.
8. Joint Application Development (JAD):
Emphasizes involving the client from early stages; collaborative JAD sessions throughout the project life cycle.
9. Lean Development (LD):
Focus on change-tolerance software development; prioritizes customer satisfaction and delivering high value.
10. PRINCE2:
Process-based approach to project management based on eight high-level processes.
11. Rapid Application Development (RAD):
Focus on fast product development with higher quality; uses workshops for requirements gathering and prototyping.
12. Rational Unified Process (RUP):
Captures positive aspects of modern software development methodologies; suggests an iterative approach.
13. Scrum:
Agile methodology aiming to improve team productivity dramatically; projects managed by a Scrum master.
14. Spiral:
Extended waterfall model with prototyping; used for large projects instead of the waterfall model.
15. Systems Development Life Cycle (SDLC):
Conceptual model allowing the combination of multiple project management methodologies; emphasizes documentation.
16. Waterfall (Traditional):
Legacy model with fixed phases and linear timelines; unable to address modern software development challenges.
Concepts Page 8
- Problems with Over- and Under-Estimates
- The Basis for Software Estimating
- Software Effort Estimation Techniques
- Bottom- up Estimating
- The Top-down Approach and Parametric Models
Bottom-up
• Use when no past project data
• Identify all tasks that must be done – so quite time consuming
• Use when you have no data about similar past projects
Top-down
• Produce overall estimate based on project cost drivers
• Based on past project data
• Divide overall estimate between jobs to be done
- Expert Judgement
- Estimating by Analogy
- Albrecht Function Point
A software metric used to measure the functionality provided by a software applicatio
Concepts Page 9
includes attributes of the project, the team, and the development environment
- Cost Estimation
Rough
Broad
Definite
- Staffing Pattern
The allocation and organization of team members and resources throughout the various phases of a software project that involves
determining the right mix of skills, roles, and responsibilities to ensure the successful completion of the project.
Norden`s Work
Staffing pattern of R&D types of projects changes dynamically over time for efficient manpower utilization and can be approximated by
the Rayleigh distribution curve.
Putnam`s Work
It focuses on the human aspects of software project management, such as team building, motivation, and communication.
Crashing
Trading off between cost and schedule i.e. Extra resources assigned to activities, reducing duration.
Concepts Page 10
Unit 3
Activity Planning:
- Introduction
- Objectives of Activity Planning
- When to Plan
- Project Schedules
- Projects and Activities
- Sequencing and Scheduling Activities
- Network Planning Models
A graphical representation of the flow and dependencies among various project activities which helps project managers plan, schedule, and
track the progress of a project
Components of Network Models:
Nodes:
Nodes represent activities or tasks in the project. They are points in the network where events occur.
Arrows (or Edges):
Arrows represent the dependencies between activities. They show the flow and sequencing of tasks.
Event:
An event is a point in time when an activity starts or finishes. It is represented by a circle in the network diagram.
Duration:
Each activity is associated with a duration, indicating the time required to complete the task.
Concepts Page 11
Each activity is associated with a duration, indicating the time required to complete the task.
Critical Path:
The critical path is the longest path through the network, determining the minimum time needed for project completion.
- Backward Pass
It involves moving backward through the project network diagram, starting from the end and progressing towards the beginning to calculate
the latest start (LS) and latest finish (LF) times for each activity.
Risk Management:
- Introduction
- Risk
- Categories of Risk
Project
Technical
Business
- Risk Management Approaches
- A Framework for Dealing with Risk
- Risk Identification
Concepts Page 12
- Risk Assessment
- Risk Planning
- Risk Management
Concepts Page 13
- Evaluating Risks to the Schedule
Resource Allocation:
- Introduction
A resource is any item or person required for the execution of the project
- Nature of Resources
1. Labor
2. Equipment
3. Materials
4. Space
5. Services
6. Time
7. Money
Concepts Page 14
- Identifying Resource Requirements
- Scheduling Resources
- Creating Critical Paths
- Counting the Cost
- Being Specific
- Publishing the Resource Schedule
- Cost Schedules
- Scheduling Sequence.
Unit 4
Monitoring and Control:
- Introduction
- Creating the Framework
Managing Contracts:
- Introduction
A contract is a legally binding agreement between two or more parties that outlines the terms and conditions under which they agree to fulfill
certain obligations.
- Types of Contract
- Stages in Contract Placement
- Typical Terms of a Contract
1. Definitions
2. Form of Agreement
3. Goods and Services to be Supplied
4. Ownership of Software
5. Environment
6. Customer Commitments
Concepts Page 15
6. Customer Commitments
7. Acceptance Procedures
8. Standards
9. Project and Quality Management
10. Timetable
11. Price & Payment Method
12. Miscellaneous Legal Requirements
- Contract Management
- Acceptance.
- Stress
- Stress Management
- Health and Safety
- Some Ethical and Professional Concerns.
Unit 5
Working in Teams:
- Introduction
A group of people who work together toward a common goal
Have a defined membership (either large or small)
- Becoming a Team
a. Define the kind of development team type that fits for your project
i. Generalists
ii. Specialists
iii. Hybrid Team
b. Decide on the software development team size
It affects
Complexity of your project
Budget
Deadline
Available resources
According to Scrum methodology, Optimal team size is between 3 and 9 members with 7 being the perfect fit
c. Establish clear roles and goals
Concepts Page 16
c. Establish clear roles and goals
Product owner
Client with a vision of how the end-product should look, who are the end-users and what it should do.
Project manager
Person responsible for managing and leading the whole team.
Their role is to efficiently optimize the work of the team
Ensure the product is meeting the requirements and identify the goals for the team.
Software architect
A highly skilled software developer that has to think through all the aspects of the project
Responsible for making high level design choices, as well as select technical standards
Experience designers
Ensure that the product is easy and pleasant to use.
They conduct user interviews, market research, and design a product with end-users in mind.
QA or tester
Responsible for the Quality Assurance and makes sure the product is ready to use.
Business Analyst
Uncover the ways to improve the product.
They interact with stakeholders to understand their problems
Kanban Board
Work is constantly visually represented on Kanban board to help the team understand at what stage they currently are.
By using visualization, they can work out where are they lacking, what slows them down and find ways to overcome
them.
- Coordination Dependencies
The processes and strategies organizations use to help their teams collaborate more effectively on their individual and collective goals
- Dispersed and Virtual Teams
A group of individuals who work together from different geographic locations and rely on communication technology such as email, instant
messaging, and video or voice conferencing services to collaborate
Concepts Page 17
messaging, and video or voice conferencing services to collaborate
- Communication Genres
- Communication Plans
- Leadership.
Directing, motivating and organizing groups of people for performing the set tasks.
Software Quality:
- Introduction
- The Place of Software Quality in Project Planning
- Importance of Software Quality
Every software engineer absolutely must know the seven aspects of software quality:
• Reliability
• Understandability
• Modifiability
• Usability
• Testability
• Portability
• Efficiency
Concepts Page 18
It involves awareness of internal workings, access to source code, and ensuring internal operations align with specifications.
Gray Box testing
It is a combination of white box and Black box testing.
It can be performed by a person who knew both coding and testing
1. Unit Testing:
A level of the software testing process where individual units/components of a software/system are tested. The purpose is to validate
that each unit of the software performs as designed.
2. Integration Testing:
A level of the software testing process where individual units are combined and tested as a group. The purpose of this level of testing
is to expose faults in the interaction between integrated units.
3. System Testing:
A level of the software testing process where a complete, integrated system/software is tested. The purpose of this test is to evaluate
the system’s compliance with the specified requirements.
4. Acceptance Testing:
A level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system’s
compliance with the business requirements and assess whether it is acceptable for delivery
- Software Reliability
- Quality Plans.
Project Closeout:
- Introduction
- Reasons for Project Closure
- Project Closure Process
- Performing a Financial Closure
- Project Closeout Report
Concepts Page 19