Part A, B&C
Part A, B&C
Part A, B&C
Technical Risks :
1. New technology can make your project's chosen tech outdated, rendering the software useless
even before it's finished.
2. If your software relies on specific hardware, that hardware becoming obsolete can make your
software unusable too.
3. To avoid these problems, choose technology carefully - pick languages, hardware, and user
access methods that will likely be around for a while.
4. Also, make sure the vendors you choose will keep supporting the tools you use in the future.
Resource risks :
Losing Team Members: Software professionals are in high demand and can leave projects for better
offers. This can disrupt the project and leave unfinished tasks behind.
Mitigating Strategy 1: Resource Pipeline: Maintain a list of potential replacements to quickly fill
vacancies.
Mitigating Strategy 2: Knowledge Management: Implement a system to capture project knowledge
and completed work so it's not lost if a team member leaves.
Business Risks :
Market Shifts: Changes in competition or market trends can affect the project's value or
purpose. The software may need adjustments to stay relevant.
Regulation Changes: New regulations might force modifications to the software's features
to comply with the law.
Project Impact: Both market shifts and regulation changes can impact the project's viability,
potentially requiring adjustments or even cancellation.
5.If the Project to be completed with one year but it extended to two years.
Illustrate the type of risks suits this scenario.
Schedule Risks :
Deadlines Matter : Businesses lose opportunities if projects are late. Hitting target release
dates is key.
What Causes Delays : Unexpected bugs or unclear requirements can slow things down and
push back deadlines.
Delays Hurt Everyone: If a project runs late, it can hurt both the business and the customer.
Scope creep , Technical risks , Resource Risks same as previous answer.
7. Explain how you will identify the major risks and identify the strategies for
minimizing each of those risks.
Causes of Risks in Software Projects
Quality Constraints: High-quality software is crucial to avoid expensive support costs.
Resource Unavailability: Difficulty finding and retaining skilled software professionals.
Disinterest: Lack of motivation among team members can impact productivity.
Attrition: High demand for software professionals can lead to project team members leaving
for better opportunities.
Scope Creep: Changing or expanding requirements can significantly impact project timelines
and budgets.
Cost Constraints: Unexpected budget limitations can halt project progress.
Bad Negotiation: Poor negotiation skills can hinder efforts to secure additional resources or
budget when needed.
Unrealistic Estimates: Inaccurate project effort estimates can lead to schedule delays or
resource shortages.
Human Error: Mistakes during requirements gathering, design, or development can
introduce defects into the software.
Poor Management: Lack of experience or inadequate leadership skills in a project manager
can negatively impact project outcomes.
Budget Risks :
Budget Tracking & Control: Monitor project expenses to identify and address cost overruns
early.
Budget Reserves: Include buffer funds in the project budget to handle unforeseen cost
increases.
Schedule risks :
Schedule Risks: Unforeseen circumstances like rework or miscommunication can cause
project delays.
Schedule Buffers: Allocate buffer time in the project schedule to accommodate potential
delays.
Resource risks :
Resource Loss: Project delays can occur if team members leave the project mid-way, taking
their knowledge with them.
Mitigation Strategies: Maintain a talent pool for replacements and implement a knowledge
management system to capture project knowledge.
Quality Risks (2 points):
Defects and Errors: Poor design, construction, complexity, or frequent requirement changes
can lead to software defects impacting quality.
Quality Management: Integrating quality checks throughout the development process
(planning, reviews) is crucial for mitigating quality risks.
Technology Risks (2 points):
Technology Obsolescence: Rapidly evolving technologies can make chosen technologies
outdated, rendering the software unusable.
Technology Selection: Careful selection of programming languages, platforms, and tools
with long-term support is essential to minimize technology risks.
9.To track the project execution against the plan”. Which Project Process
explains this statement? (Answer: Project Monitoring)
Project monitoring involves tracking progress against the plan (schedule and budget) at key
points to identify deviations and ensure the project stays on track.
Monitor against project plan :
Monitoring a project involves comparing its progress against the original plan (schedule
and budget) at key milestones.
This helps identify any deviations and allows the project manager to take corrective
actions to get the project back on track.
Measure Task Progress and Status Reports :
Consider Both Planned and Actual Work: Don't rely solely on dates to measure progress.
Track the actual volume of work completed (e.g., code written) compared to the planned
volume to get a more accurate picture.
Regular Status Reports: Use task progress data to generate status reports. This helps
identify if a team is ahead, behind, or on track for completing a task.
Identify Deviations :
Regularly compare how far the project has come (schedule and budget) against the
original plan to identify any deviations.
Don't just focus on whether the project is ahead or behind. Analyze if these deviations
(positive or negative) significantly impact the project timeline or budget.
Performance indicators :
Performance indicators, like Earned Value Management (EVM), help track project health
in terms of cost, schedule, and quality.
Monitoring a project schedule:
Project plans provide a high-level overview, while project schedules contain detailed
information like resource allocation and task timelines.
Project plans are tracked at key milestones, while project schedules are monitored at the
individual task level.
Periodic measurement in project monitoring:
Frequent Tracking: Regularly track and measure progress at the task level to identify issues.
Data for Decisions: Compare actual progress (schedule and cost) to planned figures to
identify deviations. Use this data to make informed decisions and address any problems that
arise.
Earned Value Management (EVM):
Tracks project progress beyond schedule & cost: EVM considers the amount of work
completed (earned value - EV) in addition to time elapsed and actual cost (AC).
Calculates variances to identify performance: EVM uses Schedule Variance (SV = EV - PV)
and Cost Variance (CV = EV - AC) to identify deviations from the planned schedule (PV) and
budget (AC). These variances help project managers understand if the project is
ahead/behind schedule or under/over budget.
Iterative Model
1. Iterative models, unlike waterfall, develop software in small iterations with a subset of
requirements at a time.
2. Scrum uses a backlog to store requirements and pulls them for development during each
sprint (iteration).
3. Agile models handle changes better by incorporating them in future iterations,
minimizing rework.
Non-Functional Addressed as
Addressed early in design
Considerations components integrate
- Promotes reusable
- Encourages customer
components, increases
buy-in with early demos
maintainability
- Requires strong
- Less flexibility for changes
refactoring skills in later
during development
stages
Arose with the rise of mainframe computers with greater computing power.
Enabled construction of large programs for commercial and business applications.
Code stored in procedures/functions for reuse.
Improved code structure and efficiency.
Evaluate potential
Purpose Select a supplier for a project
suppliers
Informal information
Formality Formal invitation to bid
gathering
23. Explain in detail about Software Testing Management Tools.
Test Management:
o Testing will be involved in all stages of product development, from
requirements review to final inspection.
o Test management tools will integrate with review processes for a more
holistic approach.
Defect Tracking:
o Defect tracking will become part of a larger test management suite,
improving visibility and tracking.
o Defect tracking data will be used to assess the testing team's performance.
Automation Tools:
o Automation tools will support more environments, recognize new UI
components, and handle various testing types.
o Automation will continue to play a major role, saving time and resources.
Test Creation Tools:
o Creating effective test cases will likely remain a human-centric task for some
time.
o Development of "smarter" tools that can mimic human thought processes for
test creation may occur in the long term.
Test Coverage Tools:
o There will likely remain two main types of test coverage tools - those that
insert code for coverage analysis and those that generate test code
themselves.
o These tools may evolve to provide more comprehensive coverage insights.
26. Examine the Statement “When a test case passes, this means that the
application is working fine and vice versa”. Discuss in detail (Answer: Defect
Tracking pg.311)
Defect Tracking
1. Running tests on a software application can result in pass/fail outcomes.
2. Passed tests indicate the application is functioning correctly, while failed
tests indicate a defect.
3. Identified defects are logged in a defect-tracking tool and assigned to
developers for fixing.
4. Testers then re-run the test case to verify if the fix was successful.
5. If the fix is verified, the defect is closed; otherwise, it's reopened for further
attention.
27 . Examine the Statement “One major area where the project team needs
to do a lot of rework is the requirement change request that the customer
places with the project team”. Discuss in detail (Answer: Customer
Management pg. 284)
Customer Management
1. Software projects require close customer contact due to unclear requirements.
2. Unlike other industries, software specifications are vague and need elaboration.
3. Miscommunication between customer (business) and project team (technology) leads to
misunderstandings.
4. Functional consultants bridge the gap by understanding both business and software.
5. Requirement changes from the customer demand rework in the software design.
6. Unrealistic customer expectations about features and timelines need management.
7. Customer investment requires project justification and successful delivery.
8. Clear communication and effort are crucial for customer satisfaction in software projects.
Negotiation management , rapport building , reporting management , bottom line.
28. Examine the Statement “These standards have been helping software
services and products companies to develop, maintain, and operate software
systems in an economical manner”. (Answer: CMMI Standards pg. 230)
CMMI Standards Summary
1. The Software Engineering Institute (SEI) develops software engineering standards.
2. CMM, PCMM, and SECM are some of their popular standards for developing high-quality
software.
3. These standards were updated or discontinued due to market changes and software
development advancements.
4. Using separate process models for development and maintenance created problems.
5. Maintaining separate models required significant resources and employee change
management.
6. Having two teams for development and maintenance was expensive and inefficient.
7. A single process definition was needed to address these issues.
8. SEI released CMMI (Capability Maturity Model Integration) as a unified process model
for software development, maintenance, and integration.
30. Examine the Statement “ABC Project has time to be rechecked with the
components implemented and executed. Also to be tested with the time
scheduled for each process. (Answer: Test Project Monitoring and control pg.
193)
Use Requests for Information (RFI) to gather basic details about suppliers.
Use Requests for Proposal (RFP) to get detailed project proposals from shortlisted
suppliers.
Supplier Qualifications: Evaluate a supplier's qualifications to ensure they can deliver your
project.
Look for certifications (CMMI, ISO) and industry expertise (Microsoft, etc.).
Verify employee qualifications (degrees, certifications).
Supplier Experience: Assess a supplier's past experience to gauge their ability to meet your
needs.
Include clauses for future support from the supplier in case of product issues.
Long-Term Agreements: Used for large, multi-year projects requiring a strong supplier
relationship.
Include detailed project plans, staffing levels, scope definitions, and legal clauses for
contract breaches.
Include annual reviews and contract revisions based on changing needs.
Fixed-cost/fixed-budget contracts are used once project details are finalized.
Supplier Communication Management
Part C
2.Identify the pros and cons of using pair programming over programmers
working alone. Based on analysis, point out if there are any situations where
the pair programming technique may not be suitable. (Answer: Software
Construction - Pair Programming )
Improved Code Quality: Two developers can identify bugs and suggest
improvements, leading to fewer errors and a more maintainable codebase.
Enhanced Knowledge Transfer: Senior developers can mentor junior developers,
accelerating learning and improving the team's overall skill level.
Increased Collaboration and Communication: Working in pairs requires constant
communication and collaboration, fostering a more collaborative development
environment.
Simple, Repetitive Tasks: Pair programming is overkill for simple, repetitive tasks
that don't require much collaboration or knowledge sharing.
Introverted Developers: Some developers who prefer independent work may find
pair programming draining or distracting.
Tight Deadlines: The time spent coordinating and communicating in pair
programming sessions might not be feasible for projects with very tight deadlines.
1. Validate user needs early: Get feedback before development to ensure the final
software aligns with user workflows and avoids costly rework.
2. Refine cost estimation model: Use the prototype to test your model's accuracy and
efficiency with sample project data, allowing for adjustments before full
development.
3. Uncover development challenges early: Identify potential technical hurdles like data
handling or UI complexities during prototyping, saving time and resources later.
4. Boost communication & buy-in: Showcase the cost estimation software's
capabilities with a working prototype, improving communication and securing buy-in
from stakeholders.
5. Focus on core functionalities: Clearly define the prototype's scope to prioritize
features critical for evaluating the cost estimation model and user interface.
1. Define scope & time limit: Clearly define the functionalities and development
timeframe to avoid feature creep and maintain focus using techniques like Agile
sprints.
2. User-friendly UI design: Design a clear and intuitive interface for users to easily
interact with the prototype and provide meaningful feedback.
3. Gather feedback & iterate: Plan for iterative development cycles. Gather user
feedback and incorporate suggestions into subsequent iterations for a user-centric
prototype.
4. Document everything: Maintain clear documentation of functionalities, design
decisions, and limitations as a valuable reference point throughout development and
for future enhancements.
5. Focus on efficiency: Build a valuable prototype quickly to make informed decisions
for the final software development.
Budget Risks :
Budget Tracking & Control: Monitor project expenses to identify and address cost overruns
early.
Budget Reserves: Include buffer funds in the project budget to handle unforeseen cost
increases.
Schedule risks :
Schedule Risks: Unforeseen circumstances like rework or miscommunication can cause
project delays.
Schedule Buffers: Allocate buffer time in the project schedule to accommodate potential
delays.
Resource risks :
Resource Loss: Project delays can occur if team members leave the project mid-way, taking
their knowledge with them.
Mitigation Strategies: Maintain a talent pool for replacements and implement a knowledge
management system to capture project knowledge.
Quality Risks (2 points):
Defects and Errors: Poor design, construction, complexity, or frequent requirement changes
can lead to software defects impacting quality.
Quality Management: Integrating quality checks throughout the development process
(planning, reviews) is crucial for mitigating quality risks.
Technology Risks (2 points):
Technology Obsolescence: Rapidly evolving technologies can make chosen technologies
outdated, rendering the software unusable.
Technology Selection: Careful selection of programming languages, platforms, and tools
with long-term support is essential to minimize technology risks.
8.If you have access to project planning software, investigate the extent to
which it offers support for earned value analysis. If it does not do so directly,
investigate ways in which it would help you to generate a baseline budget
and track the earned value. (Answer: Earned Value Management in Project
Monitoring and Control)
Earned Value Management (EVM)
Difficulty in assessing project progress due to non-linear consumption of budget and time.
Earned Value Management (EVM) is a technique for project performance measurement.
Planned vs. Actual: EVM compares planned values (budget & schedule) with actual
progress.
Earned Value (EV): EV considers both budget spent and work completed on a task.
Performance Indicators: Key metrics include Schedule Variance (SV), Cost Variance (CV), CPI,
and SPI.
Schedule variance (SV) = EV – PV
Cost variance (CV) = EV − AC
Ideal Values: CPI and SPI of 1 indicate project progress aligns with the plan.
Negative Variance: Negative SV or CV indicates project is lagging behind schedule or budget.
Positive Variance: Positive SV or CV suggests progress exceeding the plan (rare).
CPI (Cost Performance Index): Ratio of EV to Actual Cost (AC) - reflects budget efficiency.
CPI = EV/AC
SPI (Schedule Performance Index): Ratio of EV to Planned Value (PV) - reflects adherence to
schedule.
SPI = EV/PV
9.Mention the baseline in the context of software Configuration
Management? How do baselines get updated to form new baselines?
(Answer: Software Configuration Management)
Configuration management is essential in software projects to securely store, track, and
access the various artifacts produced throughout the development lifecycle.
Characteristics of configuration Management :
Each information item can be identified using tags associated with the information item.
Some common tags for item identification include
Project name
Year and time stamp
Document name
Document number
Author
Activity identifier
Document type
Version number
Deadline:
Time Constraints: Align individual workload with task deadlines to ensure timely
completion.
Skillset & Availability: Balance skillset with availability to meet project timelines
effectively.
Prioritization: Assign tasks that contribute directly to project goals and prioritize
based on deadlines.
Budget:
Cost-Effectiveness: Consider the individual's cost (e.g., salary) relative to their skillset
and experience for the task.
Resource Optimization: Balance the project budget with the most cost-effective
allocation of resources.
Alternative Options: Explore alternative options if budget constraints limit assigning
the ideal individual.
Stakeholders:
Communication & Expectations: Consider the stakeholder's communication needs
and assign individuals with strong communication skills if necessary.
Stakeholder Involvement: Account for stakeholder needs and assign individuals who
can effectively manage stakeholder expectations for the task.
Project Visibility: If stakeholders require high visibility, assign individuals who can
keep them informed on task progress.
Project Members:
Skillset & Experience: Match the task requirements to the individual's technical skills
and experience for optimal results.
Team Dynamics: Consider existing team dynamics and how well the individual works
with others involved in the task.
Development Opportunities: Balance assigning experienced personnel for complex
tasks with providing development opportunities for junior members.
Demand & Supply:
Workload Management: Avoid overloading individuals with tasks, consider their
current workload and capacity.
Resource Availability: Account for the individual's current workload and availability
when assigning tasks.
Team Composition: Consider the overall team composition and skillset distribution
when allocating resources.
Price (cost):
Cost-Effectiveness: Consider the individual's cost (e.g., hourly rate) relative to their
skillset and experience for the task.
Resource Optimization: Balance the project budget with the most cost-effective
allocation of resources.
Alternative Options: Explore alternative options if budget constraints limit assigning
the ideal individual.
12. Draw and Explain a Software Life Cycle Diagram for this scenario
“developing a machine learning model to predict customer churn for a
telecommunications company”
Learning Model to Predict Customer Churn:
1. Planning & Requirements Gathering:
Business stakeholders define the problem of customer churn and its impact on the
company.
Data scientists and engineers gather and analyze customer data to identify potential
churn factors.
Success metrics are defined to measure the effectiveness of the churn prediction
model.
2. Data Acquisition & Preprocessing:
Relevant customer data is collected from various sources within the
telecommunications company (e.g., call logs, billing records, service usage data).
Data is cleaned, transformed, and formatted to ensure quality and consistency for
model training.
3. Model Design & Development:
Data scientists select and develop appropriate machine learning algorithms for churn
prediction. This may involve experimentation with different algorithms to find the
best performing model.
The model is trained on the prepared historical customer data.
4. Model Testing & Evaluation:
The trained model is evaluated on a separate hold-out dataset to assess its accuracy
and generalizability in predicting churn.
Model performance metrics (e.g., precision, recall, F1-score) are measured to
identify areas for improvement.
5. Model Deployment & Monitoring:
The final machine learning model is deployed into production as a service within the
telecommunications company’s infrastructure.
The model’s performance is continuously monitored to track its effectiveness over
time and identify potential degradation.
6. Feedback & Maintenance:
Customer churn predictions are used to develop targeted customer retention
strategies and marketing campaigns.
Model performance is monitored, and the model may be retrained with new data
periodically to maintain its accuracy and effectiveness.
PART A
Effort = 10*50
Effort(in man months) = 500
A three-tiered algorithmic model for effort estimation based on project size and
complexity.
1. Basic COCOMO: Uses lines of code for early estimates.
2. Intermediate COCOMO: Considers factors like team experience.
3. Detailed COCOMO: Most comprehensive, uses various project attributes
and multiplying factors.
13. Identify the risk for the scenario: Soft Solution Company working in a project “XYZ”
with 50 members in a project team. After the Completion of the Project, team identified
that the Product may be poor because of bad design.
Quality risk
15. Calculate Schedule variance(SV) and Cost variance(CV) with Earned value = 50, Planned
value = 20 and Actual cost = 15 (page no.106)
EV = 50
PV = 20
AC = 15
SV = EV-PV = 50-20 = 30
CV = EV-AC = 50-15 = 35
17. Outline the Statement “Measuring quality of these work products will provide good insight”.
(page no. 141 - Software Life cycle metrics)
1. We measure both the work products themselves (like SRS document, code) and the
processes used to create them (like design phase).
2. Work product attributes focus on quality aspects like testability, maintainability, and
clarity. Size alone isn't meaningful.
3. Process attributes measure efficiency and productivity of the development team.
4. By measuring both types of attributes, we can compare the project's performance
against benchmarks and standards.
Prototypes are essentially early models of a product or system. They are used to test and refine ideas
before investing significant resources in full development.
1. Pre-Alpha: This is an internal version, not shared with external users. It's the
initial, incomplete version used for internal testing by developers to identify
major bugs and ensure core functionalities work.
2. Alpha: An early, unstable version shared within a limited group (often testers
or internal departments) for broader bug identification and initial feedback on
features.
3. Beta: A near-final version shared with a larger audience (potential customers,
public testers) to gather more comprehensive feedback on functionality,
usability, and performance before the final release.
4. Release Candidate (RC): A version very close to the final product, released
to a limited audience for final testing and bug squashing before public release.
5. General Availability (GA): The final, official version of the software product
made available to the general public.
Duration Typically 1 year or more (can Typically less than 1 year (can
be month-to-month or for a
extend to several years)
specific project)
1. List all tasks: The plan should include all project tasks with start and end dates.
2. Group related tasks: Tasks are grouped by project phase under a "pseudo task"
(phase name). This simplifies the plan and highlights milestones.
3. While listing tasks, it's important to show which tasks depend on others for completion
(critical path).
4. Project management software allows grouping tasks and expanding/collapsing them for
easier navigation of the Work Breakdown Structure (WBS).