SPM MID 2

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

In software development, all system-wide events are held at the end of every phase of development.

These checkpoints provide visibility to milestones in life cycle and also to system-wide issues and
problems. These checkpoints generally provide following things :

 It simply synchronizes management and engineering perspectives.

 It also verifies that goal every phase has been achieved or not.

 It provide basis for analysis and evaluation so as to determine whether or not project is
proceeding as planned, and also to make correction and right action as per requirement.

 It also identifies risks, issues, or problems that are essential and conditions that are not
tolerable.

 For entire life-cycle, it performs global assessment.

Generally, to synchronize expectations of stakeholders throughout life-cycle, three sequences of


project checkpoints are used.

These three types of joint management reviews are given below :

1. Major Milestones –
Major milestones are system-wide event that is performed at the end of each phase of
development. These milestones can be used in various process models even in conventional
waterfall model. They generally help in providing visibility to system-wide issues. They also
help to synchronize management and engineering perspectives. It helps in verifying that
target or goal of each phase has been achieved successfully or not. They are used to achieve
concurrence among every stakeholder in present state of project. These milestones are very
much essential to confirm and ensure that requirements understanding, life-cycle plans, and
product’s form, function, and quality are at their balanced levels of details. It also helps in
ensuring consistency between different artifacts.

2. Minor Milestones –
Minor milestones are also called as micro milestones. They are simply monitoring points that
project manager generally uses to maintain control of activities of each day. Minor
milestones are iteration-focused events that are conducted to review data or content of an
iteration in detailed manner and also to authorize work that has been continued. They
generally divide elapsed time between major milestones into short time intervals. This is
done to give confidence to us that major milestones will be achieved. Early iterations simply
focus on analysis and design whereas later iterations focus more on completeness,
consistency, usability, and change management.

Next-generation software economics is a new approach to managing software projects that


focuses on maximizing value while minimizing costs. It's a shift from traditional methods that
often led to cost overruns and delays.

Key Principles:

1. Value-Driven Development:

o Prioritize features that deliver the most value to users.

o Focus on the business impact of software, not just technical features.

o Continuously measure and optimize value delivery.

2. Automation and Efficiency:

o Automate repetitive tasks to reduce human error and increase speed.

o Use tools and technologies to streamline development processes.

o Implement continuous integration and continuous delivery (CI/CD) for faster


releases.

3. Modular Architecture:

o Break down software into reusable components.

o This allows for faster development, easier maintenance, and scalability.

o Promotes code reuse and reduces development time.

4. Agile and Iterative Development:

o Adopt flexible methodologies like Agile to adapt to changing requirements.

o Break down projects into smaller, manageable iterations.

o Deliver value incrementally and continuously.

5. Cloud-Based Infrastructure:

o Leverage cloud computing to reduce infrastructure costs and improve scalability.


o Pay-as-you-go models align costs with usage.

o Easily scale resources up or down as needed.

The future of software project management is poised for significant transformation due to
advancements in technology and evolving business needs. Here are the key trends shaping this
future:

 AI and Machine Learning: AI-powered tools will revolutionize project management by


automating tasks, providing predictive analytics, and offering real-time insights.

 Remote Work and Virtual Teams: Effective collaboration tools and virtual reality
technologies will enable seamless teamwork across geographical boundaries.

 Agile and DevOps: Agile methodologies and DevOps practices will continue to drive faster
and more efficient software delivery.

 Low-Code and No-Code Development: These platforms will empower non-technical users to
create applications, accelerating development and innovation.

 Ethical AI and Responsible Innovation: Ensuring ethical use of AI and prioritizing data
privacy and security will be crucial.

To thrive in this evolving landscape, project managers must:

 Embrace continuous learning and stay updated on the latest technologies and
methodologies.

 Develop strong soft skills, including effective communication, leadership, and problem-
solving.

 Foster a culture of innovation and encourage experimentation.

 Prioritize data-driven decision-making to optimize project outcomes.

 Build strong relationships with team members, stakeholders, and clients.

By adapting to these trends and developing the necessary skills, project managers can position
themselves for success in the future of software project management.

Iterative process planning is a key approach in software project management, especially in Agile
methodologies like Scrum and Kanban. It involves breaking down a large project into smaller,
iterative cycles or sprints. Each iteration focuses on delivering a specific set of features or
functionalities.

Key Steps:

1. Initial Planning:

o Define project vision, goals, and scope.


o Identify key features and prioritize them.

o Create a high-level project plan.

2. Iteration Planning:

o Determine specific features for the current iteration.

o Break down tasks and estimate effort.

o Allocate tasks to team members.

3. Execution and Monitoring:

o Daily stand-up meetings to review progress.

o Task tracking and issue identification.

o Continuous integration and continuous delivery (CI/CD) for faster delivery.

4. Review and Retrospective:

o Sprint review to present completed work and gather feedback.

o Sprint retrospective to learn from the iteration and identify improvement areas.

o Adjust the plan for future iterations.

Benefits:

 Flexibility: Adapts to changing requirements.

 Reduced Risk: Early and frequent delivery minimizes risks.

 Improved Quality: Continuous testing and feedback loops.

 Increased Customer Satisfaction: Early and regular value delivery.

 Enhanced Team Morale: Smaller, manageable tasks boost motivation.

Accurate cost and schedule estimation is crucial for successful software project management. Here
are key techniques and factors to consider:

Cost Estimation Techniques:

 Expert Judgment: Relies on expert knowledge and experience.

 Parametric Estimating: Uses historical data and statistical techniques.

 Bottom-Up Estimating: Breaks down the project into tasks and estimates each task's cost.

 Three-Point Estimating: Considers optimistic, pessimistic, and most likely estimates.

Schedule Estimation Techniques:

 Work Breakdown Structure (WBS): Breaks down the project into smaller tasks.
 Program Evaluation and Review Technique (PERT): Uses probabilistic approach to estimate
activity durations.

 Critical Path Method (CPM): Identifies the critical path, the sequence of activities that
directly impacts the project's overall duration.

 Gantt Chart: Visual representation of the project schedule.

Factors Affecting Estimates:

 Project Complexity: More complex projects require more time and resources.

 Team Experience: Experienced teams can work more efficiently.

 Technology Risks: Unforeseen technical challenges can impact the schedule and cost.

 External Factors: Economic conditions, market changes, and regulatory requirements.

 Change Requests: Frequent changes to project requirements can affect the schedule and
budget.

CCPDS-R (Command Center Processing and Display System-Replacement) is a significant case study in
software project management, offering valuable lessons for practitioners.

Key Lessons Learned:

1. Iterative Development: The project successfully employed an iterative development


approach, breaking down the large project into smaller, manageable increments. This
allowed for flexibility, risk mitigation, and early delivery of functionality.

2. Process Metrics: The use of process metrics was instrumental in measuring and improving
the software development process. Metrics helped track progress, identify bottlenecks, and
make data-driven decisions.

3. Advanced Software Engineering Techniques: CCPDS-R leveraged advanced techniques like


Ada programming language and formal methods to enhance software quality and reliability.

4. Robust Risk Management: A strong emphasis on risk management helped identify, assess,
and mitigate potential risks, ensuring project success.

5. Continuous Integration and Delivery: The project incorporated CI/CD practices to automate
the build, test, and deployment processes, leading to faster delivery and reduced errors.

By applying these lessons, software project managers can improve their projects' efficiency, quality,
and overall success.

You might also like