Software Project Management: Q) What Are The Core Components of The Project Management Framework?
Software Project Management: Q) What Are The Core Components of The Project Management Framework?
1. Stakeholders
2. Knowledge Areas
3. Tools and Techniques
4. Project Success
Stakeholders :
This is where the idea for the project is born. It’s about figuring out
why we need the project and what it will achieve.
A basic plan is made, including a rough estimate of how much it
might cost and what kind of work will be needed.
This phase answers, “Does this project make sense?” If the answer is
yes, we move on.
This is where the real work happens. The team follows the plan to
create the project’s final product or service.
Most of the project’s time and resources are spent here, and regular
updates are shared with everyone involved.
If any issues come up, adjustments are made to keep the project on
track.
Close-out Phase (Finishing the Project) :
Stakeholder Identification:
Stakeholder Analysis :
Stakeholder Engagement :
Communication Management :
Expectation Management :
This is about setting realistic goals and making sure stakeholders know
what the project can and can’t achieve. By aligning their expectations
with the project’s capabilities and timelines, you reduce the risk of
disappointment and conflict. This might involve negotiating with
stakeholders to adjust their expectations if needed, especially when
resources are limited or if project scope changes.
Conflict Resolution :
1. Servant Leadership :
Focus on team growth and success.
Encourages teamwork and values everyone’s ideas.
Supports the team
2. Transformational Leadership :
Motivates the team with clear goals.
Encourages creativity and new ideas.
Focuses on improving both the team and individual members.
3. Democratic Leadership :
Decisions are made with team input.
Promotes teamwork and open communication.
Builds trust and gives the team a sense of responsibility.
4. Autocratic Leadership :
Decisions are made by the leader without team input.
Very direct and authoritative.
Little to no collaboration with the team.
5. Situational Leadership :
Flexible and adapts to the situation.
Understands the team’s strengths and weaknesses.
Matches the leadership style to the task or team capability.
6. Laissez-Faire Leadership :
Leader gives freedom and trusts the team.
Team members are fully responsible for decisions and results.
Minimal guidance is provided by the leader.
Best for skilled, experienced, and self-motivated teams.
Module 2
The Waterfall Model is one of the oldest and most traditional ways to
develop software.
It works in a linear and step-by-step process, meaning one phase must
finish completely before moving to the next.
Key Features:
Sequential Process
Fixed Requirements
Q] Explain Incremental Model.
Design Phase :
The overall design of the system is created, and then a more detailed
design is developed for the first increment.
Risk Management:
High-risk elements can be handled early in the project. If a certain
feature is complex or uncertain, it can be prioritized in early increments,
allowing the team to assess feasibility sooner.
Disadvantages of the Incremental Model :
Resource Intensive:
Incremental development can require more resources for regular testing,
feedback handling, and integration.
This model is used when a customer has a general idea of what they
want but can’t provide detailed requirements.
Developers build a quick prototype (a rough version of the software) to
show how it might work.
It helps customers visualize the software and give feedback before
finalizing the product.
Key Features:
User Involvement: Customers are heavily involved in providing feedback.
Multiple Iterations: The prototype is modified and improved in cycles
until it meets the customer’s needs.
Flexible: Changes are easily made based on feedback.
Build Prototype:
Using the quick design, a basic and incomplete version of the software is
developed.
User Evaluation:
The prototype is shared with the customer, and they provide feedback
about its functionality and design.
Refinement of Prototype:
Based on customer feedback, the prototype is improved or modified.
This cycle of feedback and improvement continues until the prototype
meets expectations.
In the first step of each cycle, the team works closely with
stakeholders (like clients or users) to understand and list the goals
and requirements for that part of the project.
Because requirements may change, the team focuses on what’s most
important and up-to-date right now.
They also take a first look at any possible risks, like technical issues or
unexpected costs, and plan ways to manage them in this cycle.
Key result: A clear list of prioritized goals and requirements for the
current cycle.
Next, the team takes a closer look at potential risks and comes up
with ways to reduce them.
For example, if they’re using a new technology, they might create a
small prototype or a test version to see if it works.
If requirements are unclear, they can also build a simple prototype to
get feedback from stakeholders and make sure they’re on the right
track.
Prototypes and test versions are very useful here because they help
the team explore ideas, find issues early, and gather insights without
a big commitment.
Key result: A document listing risks, any updates to requirements,
and sometimes a prototype for testing ideas.
Now, the team builds and tests the features or parts of the project
that were prioritized for this cycle. The goal is to focus on the core
functionality or the minimum viable product (MVP) for this stage.
Testing is included throughout development to make sure everything
works as expected and meets the quality standards.
By developing in small pieces, the team can quickly spot any issues
and keep improving the project little by little.
Key result: A working version of part of the system, with some tested
features and components.
4. Customer Evaluation and Planning for the Next Spiral :
At the end of each cycle, stakeholders review what’s been done, give
feedback, and share any new needs or changes.
This feedback is crucial because it helps the team update their
understanding of the project’s direction and goals.
Based on this feedback, the team plans the next cycle with any new
requirements or adjusted goals.
Customer Collaboration:
Customers or users are involved throughout the project, providing
feedback regularly.
Flexibility to Change:
Changes in requirements are welcomed, even late in the process, to
ensure the product matches customer needs.
Continuous Improvement:
After each iteration, the team reviews what went well and what didn’t
to improve for the next sprint.
Focus on Value:
The priority is to deliver features that are most valuable to the customer
first.
Q] Explain Extreme programming
XP values :
2] Simplicity:
-Make the design simple for less complexity
3] Responsibility:
-Developers are the one who are responsible for the quality of the
software
4] Courage:
-If something unexpected happen then the programmer must have
courage to start from the beginning with new and different ideas.
XP practices :
1] Planning process
-Planning process means deciding how you are going to build the project
with your team
2] Small releases
-Means instead of waiting a long time to show the client what you have
build, you share smaller working parts of it more often.
-So that if the new requirements are there then it becomes easy to add
those as early as possible
3] Metaphor
-User can't understand the language of programmer so to explain them
the concept of project, Using simple statements and giving real life
examples so that the user can relate it quickly
4] Simple Design
-Making design of the project simple so that it will not cause any
complexity in the project
5] Testing
-It's like checking your work to make sure that it is right.
6] Refactoring
-It means cleaning and organizing your code to make it neater to work
with, without changing how it functions.
7] Pair programming
-Pair programming is like having a code buddy
-Two programmers work together with one person typing and the other
person is watching and suggesting ideas.
-This way it becomes easy to catch errors and share knowledge and
come up with better solutions together.
8] Collective owenership
-It means having mindset of 'Every team member is responsible for the
code and not a single person'.
9] Continuous Integration
-In XP we build modules saperately and check if it is working or not.
-But there might be dependancies in the modules and will be unable to
find it out if the moduless are working together correctly or not.
-For this, Continuous integration is essential.
Key Roles :
Product owner :
-The product owner represents customers perspective and guides the
team towards building the right software.
-In various meetings the product owner portray the customers view in
front of the developement team.
Scrum master :
-Scrume master acts as a project manager for the project.
-The responsibilities of the scrum master includes guiding team towards
the succesfull project implimentation.
-Scrum master ensures that the developement team is fully productive
Team member
-A scrum team is consist of different kinds of team members.
-It is necessary to have peoples with different mindset in a team.
-So that the new ideas gets inovate constantly.
Artifacts
-There are three important artifacts is scrum methodology:
1] Product backlog :
-The document list where all the project requirements, features are
noted together.
-In this document the features or requirements are written in the form
of user stories.
-As time passes new features got added as well as some features get
removed.
-This document is therefore dynamic document.
-For sprint, features from this backlog are chosen for developement.
2] Sprint backlog :
-During sprint planning meating, the team selects one or more features
from product backlog and decides to work on that perticulat module.
-Now these selected features gets removed from the product backlog
and gets added to sprint backlog.
Scrum Events
1] Sprint planning :
-While sprint planning the whole team comes together.
-They decide what they want to achieve.
-They figure out how to reach thoes goals.
-They got assigned with the task they can finish and the whole team
start working on a project.
2] Daily scrum :
-Daily scrum is reffered to as a 'Stand up meeting'.
-Team members attend this meeting while standing hence called as
stand up meeting.
-Team discuss what they had done yestarday and what is their todays
goal and what are the obstacles they might face while working.
-This meeting is held for just 10-15 minutes.
User Authentication:
The system should allow users to log in with a username and password.
Order Processing:
The software should enable users to add items to a shopping cart,
checkout, and process payments.
Report Generation:
The system should generate monthly sales reports and display them in a
dashboard.
Non-Functional Requirements :
These describe how the software should perform rather than what it
should do. Non-functional requirements specify quality attributes,
performance criteria, and constraints that define the system’s operation
and usability. They’re essential for ensuring the software meets the
required standards and can operate in the intended environment.
Performance:
The system should respond to user actions within 2 seconds.
Scalability:
The software should handle up to 1,000 simultaneous users without
performance degradation.
Security:
User data should be encrypted, and the system should be protected
against unauthorized access.
Usability:
The application should be intuitive for new users and provide help
documentation.
Reliability:
The software should have an uptime of 99.9% and recover from crashes
within 5 minutes.
Maintainability:
The codebase should be modular, making it easy for developers to fix
bugs or add new features.
Structured Interviews :
Follow a predefined set of questions, often in a specific order. They’re
more formal and can be useful when you need consistent data across
multiple stakeholders.
Unstructured Interviews :
More flexible and conversational. These interviews do not follow a set
list of questions, allowing the interviewer to explore topics based on the
stakeholder's responses.
Semi-Structured Interviews :
Combine elements of both structured and unstructured interviews,
allowing the interviewer to follow a set of questions but with flexibility
to explore new areas of interest as they arise.
Open-Ended Questions:
These encourage detailed responses and are useful for gathering broad
information. For example, "Can you describe how you currently perform
this task?"
Closed-Ended Questions:
These require short, specific answers and are useful for gathering factual
information. For example, "How many users are involved in this
process?"
In-Depth Information:
Interviews allow for detailed discussions, which can uncover complex or
nuanced requirements.
Personal Interaction:
Face-to-face or live interviews build rapport and can make stakeholders
feel more comfortable, leading to more open sharing of information.
Clarification Opportunity:
The interviewer can immediately clarify any ambiguous responses,
ensuring more accurate understanding.
Flexibility:
Interviews can adapt to each stakeholder’s knowledge level and area of
expertise, allowing the interviewer to focus on relevant areas.
Time-Consuming:
Conducting and analyzing interviews takes significant time, especially if
there are many stakeholders involved.
Potential Bias:
Interviewers may unconsciously influence responses, and interviewees
may focus on personal concerns rather than overall system needs.
Limited Reach:
Interviews typically involve fewer participants than surveys or
questionnaires, so some requirements may be missed if the right
stakeholders are not interviewed.
How to Do Brainstorming:
Share All Ideas: No idea is too weird. Even strange ideas can lead to
useful ones.
Avoid Criticism: Everyone should feel safe to share their thoughts
without fear of judgment.
Build on Each Other’s Ideas: Sometimes one idea leads to a better
idea when combined with someone else’s input.
What is an SRS?
Executive summary :
-Gives quick idea of your project to the stakeholders.
Project Defination :
-Provides general information about your project such as planning.
Project Schedule :
-Making shedule to complete each module of the project.
Project Budget :
-Required investment to complete the project in specified time.
Q] Consider a project with the following functional units:
Number of user inputs = 50
Number of user outputs = 40
Number of user enquiries = 35
Number of user files = 06
Number of external interfaces = 04
ISO 9001: This is for companies that design, develop, produce, and
maintain products. Software companies usually follow this standard.
ISO 9002: This applies to companies that only manufacture products, not
design them, like factories making things from someone else's designs.
ISO 9003: This is for companies that just install and test products,
without making or designing them.
The SEI Capability Maturity Model (CMM) helps companies improve how
they create software. It shows them how to improve their work
processes, so they can make better software in a faster and cheaper way.
What it means: There are no set rules or processes for making software.
Each person does things their own way, and it's all very messy.
Problems:
The quality of the software is bad because people rush and make
shortcuts.
When key people leave, the work gets disrupted.
Level 2: Repeatable :
What it means: The company starts using basic rules to track things like
costs and time.
Benefits:
The company gets better at doing things the same way on similar
projects.
Level 3: Defined :
What it means: The company now has written rules and guidelines that
everyone follows.
Problems: There's no focus on checking how good the work or product is.
Similar to: This level is close to the ISO 9000 standard.
Level 4: Managed :
What it means: The company uses numbers and data to see how good
their software is and how well the process is going.
Benefits:
You can set goals for quality and meet them using data.
Data helps track progress, but the company still isn’t improving things
yet.
Level 5: Optimizing :
What it means: The company keeps improving by using the data they
collect. They find ways to get better and share ideas with everyone.
Benefits:
Processes become faster and more adaptable to changes.
The company uses what they’ve learned to keep improving.
Q] Write short note on project risk management
Technical Risks: These are risks that happen when the software being
built has technical problems, like issues with design or testing.
Example: Using a new technology might cause unexpected problems.
Business Risks: These affect how well the project fits into the
company's goals.
Example: A product might fail if it doesn't meet customer needs.
Create a Risk Plan: Decide how to deal with risks and make sure
everyone supports the plan.
Identify Risks: Look for possible risks by brainstorming, asking
experts, or using checklists.
Analyze Risks: Figure out how likely the risks are and how much they
could affect the project. Prioritize them.
Develop Risk Strategies: Plan ways to reduce, avoid, or take
advantage of the risks.
Monitor and Control Risks: Keep track of the risks throughout the
project to make sure they’re being managed.
Respond and Evaluate Risk: When risks happen, act quickly and
check how well your plans worked.