Software Project Management
Assignment # 01
Submitted by:
Eman Abid
21016065054
Batch-016
BSSE
Submitted to:
Sir Abrar
Question # 01:
A)
Software Process Model Priority Ranking Rating(1-5)
Prototype model 1 5
Spiral model 2 4
Incremental model 3 3
Agile model (scrum) 4 3
Waterfall model 5 1
Selected Model:
For this scenario, I will select the prototype model due to its requirements mentioned.
Justification:
The Prototype Model is a software development approach that involves creating an early,
version of the end system, called a prototype, which represents functionalities and design of the
desired product. The Prototype Model is ideal for projects with unclear requirements, where
client feedback is crucial to finalizing the project’s scope and design. As prototype model
represent them with working model of software product so Prototype Model is most appropriate
for this project as it aligns well with the requirements presented. Certified Carriers has no prior
experience with automation, and they are unclear about the scope, cost, and duration. The
Prototype Model allows Technology Systems to build an early version of the software, which
can serve as a working representation to demonstrate and refine system functionality.
The Prototype Model help us to interact and gather more clear requirements from Certified
Carriers, where feedback can be used at each stage to ensure that it meet with their client
expectations. This model will help Certified Carriers to gain a better understanding of the
automation process and define their requirements more accurately over time. Once the prototype
is accepted, Technology Systems can use it as their requirements to move toward the full
development, reusing components where possible and providing the final solution that is
according to Certified Carriers' needs.
B)
The waterfall model of the software process is not considered good for several reasons, making it
not suitable for the detailed software processes in most organizations:
No Iterations and linear model: The waterfall model have linear approach and supports no
iterations and assumes that each phase (requirements, design, implementation, verification, and
maintenance) must be completed before first step. Requirements usually changes and if
requirement changes then this model require huge cost and time to accommodate the change.
No Flexibility: Once a phase is completed in the waterfall model, going back to make changes
can be costly and time-consuming. It doesn’t have flexibility in software development where
client feedback when comes then this model can’t effectively provide changes throughout the
project life-cycle.
Comprehensive Requirements needed: The waterfall model assumes that all requirements can
be gathered at the beginning of the project. However, it is common for stakeholders to discover
new needs or changes in requirements as the project progresses, when these changes come then it
is difficult to accommodate that change.
Delayed Testing: In the waterfall model, testing is done only after the implementation phase is
complete, which can lead to the discovery of critical defects late after complete coding. In
practice, earlier and continuous testing can detect issues earlier, making it easier to handle risks
and improve software quality.
Reduce User Acceptance: The waterfall model generally involves users primarily at the start for
requirements and at the end for acceptance testing. This limited involvement can lead to a
product that does not fully meet user expectations or needs.
In contrast, the spiral model is often viewed as more realistic for several reasons:
Iterative Development: The spiral model emphasizes iterative development, allowing teams to
revisit and refine requirements, design, and implementation phases in cycles or in spirals. This
flexibility helps developer to accommodate changes throughout the development process.
Risk Focused: The spiral model incorporates risk assessment at each iteration, allowing teams to
identify, analyze, and mitigate risks early. This approach helps in resolving the potential issues
before they become problematic.
Early User Feedback: By involving users continuously in the development process, the spiral
model allows for user feedback to change project more frequently, making a product that
satisfies user requirements and expectations.
Complexity Adaptive: The spiral model is particularly well-suited for complex projects where
requirements are not fully understood at the onset. It allows for gradual refinement and
development, which aligns better with real-world scenarios.
Question # 02
Task # 01:
Project Life Cycle Phases
1. Requirement Gathering and Analysis
• Objectives: This phase focuses on understanding the needs of client and documenting all
functional and non-functional requirements. For XYZ Logistics, this would mean
identifying functionalities for different modules like inventory tracking, order processing,
and real-time route optimization.
• Deliverables: Requirement document, feasibility analysis, and project scope statement.
• Contribution to Project Success: Gathering detailed and accurate requirements early
helps ensure that the project meets the client’s expectations, reducing misunderstandings
and costly revisions later on. Proper requirement analysis also allows for realistic
planning regarding time, budget, and resources.
2. System Design
• Objectives: In this phase, the team creates a detailed blueprint of the software based on
the requirements. This includes architectural design, data flow diagrams, database design,
and user interface prototypes.
• Deliverables: Design specifications, UI design, and architecture diagrams.
• Contribution to Project Success: A well-defined design ensures that developers have a
clear guideline, which minimizes confusion and makes coding more efficient. A good
design considers user experience, ensuring the system can grow and is according to user
requirements.
3. Implementation (Coding)
• Objectives: The actual implementation for the logistics management system is done in
this phase. Each module, such as inventory tracking, order processing, and route
optimization, is developed according to the design specifications.
• Deliverables: Working code and functional versions of modules.
• Contribution to Project Success: During implementation, coding standards and
documentation practices is essential for quality. Each module is developed separately, but
it’s important to keep the integration in mind, so they work seamlessly together once
combined.
4. Testing
• Objectives: Testing verifies that the developed system meets the requirements and
functions correctly. This phase includes various tests like unit tests, integration tests,
system tests, and user acceptance tests.
• Deliverables: Test plans, test cases, bug reports, and a final quality assurance report.
• Contribution to Project Success: Testing ensures that the software is stable, reliable,
and free from critical bugs before it goes live. Identifying and fixing issues early can save
time and resources compared to fixing them after deployment.
5. Deployment
• Objectives: This phase involves deploying the system to the production environment and
making it available to the client, XYZ Logistics, and its users.
• Deliverables: Deployed software, deployment documentation, user manuals, and training
sessions.
• Contribution to Project Success: Deployment makes the operational use of the system
and deliver it to user.
Explanation to a Client
To explain this process to a client with limited project management knowledge, I would
emphasize that the project life cycle can be viewed as a series of stages:
Starting with a clear understanding of their needs and defining the scope (Initiation).
Planning the work required and how we will do it to ensure it meets their expectations (Planning).
Doing the actual development of the software (Execution) while keeping track of progress
(Monitoring).
Closing the project and delivering the final product (Closing).
Task # 02:
Work Breakdown Structure (WBS)
Requirements Analysis
Gather requirements either through:
1. Interviews
2. Surveys
3. Workshops
After gathering requirements, we will:
1. Document requirements
2. Validate requirements
Design Phase
1. High-level design
1. Software architecture
2. User interface prototypes
2. Detailed design (usecase, DFD, sequence diagrams)
Development Phase
1. Module development:
We will do development in modular phase of modules (inventory tracking, order
processing, and real-time route optimization) so to enhance understanding and code
readability.
2. Integration
After development of inventory tracking, order processing, and real-time route
optimization modules, we will integrate the code to make a complete system.
3. Unit testing
Unit testing should be done to detect any defect or bugs at early stage.
Testing Phase
1. Test planning
2. Execute test cases
3. Bug fixing
Deployment Phase
1. User training
2. System deployment
Schedule Outline with Major Milestones
Requirements Analysis Completion
Duration: Weeks 1-2
Requirements Document approved.
Design Phase Completion
Duration: Weeks 1-2
High-level design approval.
Development Phase Completion
Duration: Weeks 1-4
All modules developed and integrated.
Testing Phase Completion
Duration: Weeks 1-2
Test successful and bug-free report.
Deployment Completion
Duration: Week 1
Successful deployment and user acceptance.
High-Level Overview of Scope, Time, and Cost Management
• Scope Management: Clearly define project deliverables, including the logistics
management system modules, through requirements gathering and WBS.
• Time Management: For time management we will design a Gantt chart to assign time to
each task like this:
• Cost Management: For cost management we can estimate cost for each phase as:
Phase Cost Description
Requirement Gathering 15000Rs Includes stakeholder interviews, requirement
analysis, and documentation.
System Design 20000Rs High-level and detailed design of modules for
inventory, order, and route optimization.
Implementation 50000Rs Coding, integration, and initial setup of all
modules.
Testing 5000Rs Functional, integration, and user acceptance
testing of the system.
Deployment 10000Rs Setup, configuration, and rollout of the system in
the client's environment.
Task # 03:
Trade-Off Triangle Analysis
Scenario of Increasing Scope:
Impact on Time and Budget: If the client requests additional features this would extend the
development time and require more resources, leading to increased costs. This could exceed the
project timeline and may require more budget.
Risks and Mitigation Strategies
Risk: Requirement change
Mitigation: Establishment of a change control process to manage scope changes formally and
ensure only necessary adjustments are made within budget and time limits.
Risk: Strict Deadline
Mitigation: Perform thorough planning and scheduling and ensuring that resources can be
allocated quickly to avoid any delays.
Risk: Client Stakeholder Availability
Mitigation: Schedule regular and structured meetings with the client to gather feedback on
deliverables and ensure that stakeholders should participate throughout the project.
Task # 04:
Evaluation of Software Process Models
Prototype Model:
Strengths: Facilitates early user feedback through prototypes and can be helpful for
unclear requirements.
Weaknesses: May lead to scope creep and can result in incomplete documentation if
not managed properly.
Spiral Model:
Strengths: Includes risk assessment and iterative refinement and can accommodates
changing requirements through continuous feedback loops.
Weaknesses: Can be complex to manage and can increase higher costs involved due
to repeated iterations and prototyping.
Incremental Model:
Strengths: Allows for parts of the system to be delivered and assessed independently,
progress can be checked incrementally.
Weaknesses: Requires careful planning to integrate each increment and can lead to
integration challenges if not well-coordinated.
Recommended Model: Spiral Model
The Spiral Model is the most effective choice for the XYZ Logistics project due to:
• The project's complexity and the need for risk management.
• The iterative nature, which allows for client involvement through continuous feedback.
• The flexibility in spiral model will help ABC Tech to adapt to changing requirements.
By utilizing the Spiral Model, ABC Tech can ensure thorough understanding and development of
the logistics management system while managing risks and client expectations effectively,
leading to a successful project outcome.