Software Process and Management (SWEN90016)
November 4, 2024About 7 min
Software Process and Management (SWEN90016)
Week 1: Intro to Projects
Project Characteristics:
- Introduce Change
- Temporary
- Cross-functional
- Deal with Unknown
- Unique
- Vary in Size
First Project Management Process:
- Initialization
PM Skills:
- Work well under pressure
- Comfortable with change and complexity in changing environments
- Use and have the right people skills
- Adapt, resolve issues, and deal with problems
- Effective communicators regardless of hierarchy
- Action-oriented, leave nothing for tomorrow
- Command & Control
What Determines Project Success?
- Executive Sponsorship - 15%
- Emotional Maturity - 15%
- User Involvement - 15%
- Optimization – Statement of Requirements - 15%
Project Screening:
- Select
- Prioritize
- Have oversight
- Drive accountability across all projects
Business Case:
- Executive Summary
- Reasons / Explanation of why it is required
- Business Options
- Expected Benefits
- Expected Dis-benefits
- Timescale
- Costs
- Investment Appraisal
- Major Risks
ROI = (total discounted benefits – total discounted costs) / total discounted costs. The higher the ROI % or NPV, the better it is.
Week 2: Processes and SDLCs
Process:
A series of progressive and interdependent steps by which an end is attained.
Defined Process Control:
- Given the same inputs, a defined process should produce the same output every time (low volatility and easily predicted).
Empirical Process Control:
- Learn as we progress
- Expect and embrace change
- Inspect and adapt using short development cycles
- Estimates are indicative only and may not be accurate
Activities in SDLC:
- Requirements Gathering
- Systems / Architectural Design
- Implementation / Coding / Integration
- Testing
- Evolution: Delivery and Release – Deployment, Maintenance
SDLC Models:
- Ad-hoc: Code and fix.
- Waterfall: Document-driven. Not well-suited for situations where:
- Errors are possible in requirement elicitation, analysis, and design
- Requirements are hard to figure out or subject to change
- Incremental: Each “mini waterfall” phase produces deliverable increments of software.
- ADV: Develop major requirements first; reduces risk of failure.
- DISADV: Requires good planning and design.
- Prototyping: Build a prototype to refine requirements (may require multiple iterations, and can be expensive).
- Rapid Prototyping: Client-oriented, subset of product functionality.
- Spiral: Risk-driven, suitable for large, complex projects.
- Agile 12 Principles: Includes satisfying the customer, embracing changing requirements, and sustainable development.
Scrum:
- Pillars: Transparency, Inspection, Adaptation
- Roles:
- Scrum Master: Foster communication, protect team, agile coaching, remove blockers.
- Product Owner: Define vision, manage product backlog, prioritize needs.
Week 3: Risk Management
Risk Management Process:
- Plan
- Identify
- Analyze and Assess
- Respond
- Monitor and Control
Risk Management Plan (RMP):
Documents procedures for managing risks.
Risk Types:
- Project Risk: Affects planning (e.g., budget, schedule).
- Product Risk: Affects quality or performance (e.g., design, implementation).
- Business Risk: Affects economic success (e.g., demand for product).
Risk Identification Techniques:
- Pondering, Interviewing, Brainstorming, Checklists, Delphi Technique, SWOT Analysis
Risk Analysis (Qualitative):
- Risk Exposure = P(risk probability) * I(estimated risk impact)
Risk Response Strategies:
- Accept or ignore
- Avoid
- Mitigate
- Transfer
Monitor and Control:
- Risk Audits, Risk Reviews, Risk Status Meetings
Risk Management in Agile:
- Risks are documented in Risk Registers, added as user stories, and monitored by Product Owner and Scrum Master.
Week 4: Communication Management, Project Management Plan, Stakeholder Management and Engagement
Project Management Plan (PMP) Contains:
- Executive Summary
- Financial Authority to Proceed
- Key Stakeholders
- Scope
- Delivery Approach (Waterfall or Agile)
- Resources / People
- Key Milestones
- Project Budget
- Lessons Learned
- Constraints
- Roles and Responsibilities
Agile Documentation Rules:
- Just barely good enough
- Just in time
- Centralize
- Collaborate
Stakeholder Analysis:
- Stakeholder Identification
- Understand Interests
- Assess Influence
- Prioritize Engagement
- Manage Relationship
Stakeholder Engagement Levels:
- Unaware, Resistant, Neutral, Supportive, Champion/Leading
Power-Interest Grid:
- High Power, Low Interest: Provide periodic updates.
- High Power, High Interest: Active engagement.
- Low Power, Low Interest: Minimal communication.
- Low Power, High Interest: Consultation and leverage support.
Week 5: Estimation, Planning, Release, Requirements in Agile
User Stories:
- Format: As a [user role] I want to [goal action] so that [reason/benefit]
- 3C: Card, Conversation, Confirmation
Types of User Stories:
- Sprint User Story: Developer’s perspective, technical level.
- Feature User Story: Product capabilities, business level detail.
- Epic User Story: High-level; takes more than one or two sprints.
Scrum Artifacts:
- Product Backlog: Lists epics and stories.
- Sprint Backlog: Stories and tasks for the sprint.
- Increment: Sum of completed Product Backlog items.
Definition of Done (DoD) vs. Acceptance Criteria (AC):
- DoD: Universal, not specific to any functionality.
- AC: Specific for each feature.
Agile Estimation Issues:
- Analysis Paralysis: Spending too much time on details.
- Cavalier Approach: Ignoring uncertainty and risk.
Why Story Points:
- Dates don’t account for non-project work.
- Dates have emotional attachment.
- Each team estimates work on a slightly different scale.
Velocity:
- Formula: Number of story points completed / time over which they were completed
Burndown Chart:
- Tracks work completed over time.
Rolling Wave Planning:
- Plan at “the last responsible moment” for clarity.
MoSCoW Prioritization:
- Must have, Should have, Could have, Won’t have
PBI: User story/epic about “what”
Sprint Backlog: “How”
Week 6: Software Quality Management
Delayed Issue Effect (DIE)
- Definition: The longer an issue lingers in the system, the more effort it requires to resolve.
- Note: DIE may be a historical occurrence, relevant only in specific types of projects.
Verification & Validation
- Verification: Building the system right (the right way).
- Validation: Building the right system (meets stakeholder needs).
Types of Testing
- Unit Test: Verifies individual components.
- Integration Test: Ensures subsets of the system work together.
- System Test: Ensures the entire system functions correctly.
- User Acceptance Test (UAT): Ensures the system meets user needs, performed by end users before acceptance.
Software Standards
- Recommendation: Should not be avoided but tailored as needed.
Capability Maturity Model Integration (CMMI) Levels
- Initial: Ad hoc, chaotic processes, reliant on individual efforts.
- Repeatable: Basic project management for cost, schedule, and functionality tracking.
- Defined: Documented, standardized processes integrated into all organization processes.
- Managed: Quantitative measures of software process and product quality.
- Optimizing: Continuous process improvement with feedback.
Quality Planning Components
- Product Overview: Description, market, quality expectations.
- Product Plan: Critical dates and responsibilities.
- Quality Goals: Goals, plans, and attributes.
- Process Description: QA processes for development and management.
- Document & Coding Standards: Standards for documents and code.
- Risks & Risk Management: Identification of quality risks and mitigation actions.
Technical Reviews
- Advantages: Early problem detection, fault identification, actual fault finding.
- Disadvantages: Resource-intensive, requires careful design.
Types of Technical Reviews
- Informal Review: Desk checks or casual reviews.
- Formal Review: Structured meetings with stakeholders.
- Walkthroughs: Author-led reviews with a group.
- Code Review: Focuses on code.
- Audits: Ensures product or process conforms to standards.
Agile QA Mindset
- Provide Continuous Feedback
- Deliver Value to Customer
- Face-to-Face Communication
- Courage
- Simplicity
- Continuous Improvement
- Responsiveness to Change
- Self-Organization
- Focus on People
- Enjoy the Process
Agile QA Principles
- Shift-Left Testing: Moves testing early in the development process.
- Automation: Emphasis on testing automation.
- Feedback & Communication: Open channels.
Test-Driven Development (TDD)
- Process: Write tests before actual code.
Acceptance-Test Driven Development (ATDD)
- Process: Collaboratively define acceptance criteria and write tests before coding.
Behavior-Test Driven Development (BTDD)
- Focus: Define software behavior through examples and plain language.
Agile Testing Quadrants
- Q1: Test-Driven Development.
- Q2: Customer-facing tests.
- Q3: Business-facing tests.
- Q4: Technology-facing tests.
Continuous Integration (CI) & Continuous Delivery (CD)
- CI: Frequent merging of code with automated testing.
- CD: Deployment of tested code into production.
QA Metrics
- Quantitative: Escaped bugs, defects per requirement, test cost, etc.
- Qualitative: Customer satisfaction, team morale, code quality.
Week 7: Formal SDLC Project Scheduling and Cost Estimation
Formal SDLC Planning
- Plan-Driven: Uses project schedules.
- Agile: Value/Vision-driven, often without strict schedules.
Project Schedule Development
- Task Breakdown: Work Breakdown Structure (WBS).
- Dependencies: Identify interdependencies.
- Effort & Time: Allocate and estimate.
- Resources: Assign and validate resources.
- Schedule: Create timeline.
Fishbone Diagram
- Purpose: Problem solving, visualization, collaboration.
Types of Task Dependencies
- Finish-to-Start: Predecessor finishes before successor starts.
- Start-to-Start
- Finish-to-Finish
- Start-to-Finish: Predecessor starts before successor finishes.
Cost Estimation
- Man-month (Person-month): Time for one person to complete the task.
- PNR Curve: Estimates effort distribution over project duration.
- Three-Point Estimating: TE = (O + M + P) / 3 or TE = (O + 4M + P) / 6.
Scheduling Tools
- Gantt Chart: Horizontal timeline showing tasks.
- PERT Chart: Shows dependencies and critical path.
Earned Value Analysis (EVA)
- Metrics: PV, EV, AC, SV, SPI, CV, CPI.
Week 8: Configuration Management and Ethics
Software Configuration
- Definition: Total state and dependencies of artifacts.
Configuration Management Tasks
- Identification: Identify necessary configuration items.
- Version Control: Manage versions.
- Change Control: Manage impactful changes.
- Auditing: Check consistency.
- Reporting: Report configuration status.
Configuration Items
- Basic, Aggregate, Derived.
Change Control Process
- Steps: Initiate, evaluate, and apply changes.
Baseline
- Definition: Stable, reviewed, and approved artifact.
Configuration Audits
- Purpose: Ensure consistency and proper changes.
Organizational Ethics
- Purpose: Values communicated to employees and stakeholders.
Week 9: Agile Frameworks
SAFe (Scaled Agile Framework) Pillars
- Respect for people, Flow, Innovation, Continuous improvement.
SAFe Levels
- Essential: Core principles.
- Large Solution: Scaling across teams.
- Portfolio: Scaling across portfolios.
- Full: Scaling across the organization.
LeSS (Large Scale Scrum)
- Focus: System-wide thinking with strong Scrum roots.
Scrum@Scale Cycles
- Scrum Master Cycle: Execution of Scrum processes.
- Product Owner Cycle: Product backlog prioritization.
DevOps
- Focus: Reliable delivery to production.
- Lifecycle: Discover, Plan, Build, Test, Deploy, Operate, Observe, Feedback.
Lean Principles
- Eliminate waste
- Build in quality
- Amplify learning
- Delay commitment
- Deliver fast
- Respect people
- Optimize the whole
Week 10: Outsourcing, Procurement, and Contracts
Outsourcing Types
- Onshoring: Inside the country.
- Nearshoring: In a nearby country.
- Offshoring: In another country, regardless of location.
Outsourcing Pros
- Access to hard-to-find capabilities & skills.
- Time savings – enables 24/7 activities.
- Frees up scarce internal resources to focus on core business activities.
- Flexibility – ability to ramp up or down as needed.
Outsourcing Cons
- Loss of control.
- Fragmentation of processes / supply chain.
- Security issues.
- Ethical concerns – such as environmental impact, slave or child labor.
Procurement Stages
- Planning
- Source
- Manage
RFx: Request For X
- X can represent Bid, Information, Proposal, Tender, or Quote.
RFx Document Components
Prepared by the buyer and includes:
- Purpose of RFx.
- Organization’s Background.
- Basic Requirements.
- Hardware and Software Environments.
- Description of RFx Processes & Evaluation.
- Statement of Work and Scheduled Information.
- Appendices.
Statement of Work (SOW)
- Scope: Work to be completed.
- Location: Where the work will be completed.
- Measurement: Performance criteria.
- Deliverables: Milestones and schedule.
- Standards: Applicable standards and acceptable criteria.
- Special Requirements: Any additional needs.
Selecting Contracts
- Decide whom to consider for the work.
- Send appropriate documentation to potential sellers/bidders.
- Obtain proposals/bids.
- Evaluate responses and select a preferred supplier.
- Negotiate the contract.
- Award the contract.
Evaluation Processes
- Evaluation team reviews RFx responses against predetermined criteria.
- Schedule presentations from shortlisted vendors.
- Check vendor references.
- Conduct evaluation team site visits to shortlisted vendors/references.
- Finalize evaluation and select shortlisted firms.
- Best and Final Offer (BAFO) with shortlisted firms.
- Conduct final negotiation with the preferred supplier.
Managing Procurements
- Implement
- Manage
- Renew
- Close
Contracts
A contract serves as a single source of truth for all activities to be delivered by external parties.
Contract Types
- Fixed Price Contracts: Involve a fixed total price for a well-defined product or service (low buyer risk, high seller risk).
- Time & Material Contracts: Payment to the seller for actual time and materials used in providing the service (high buyer risk, low seller risk).
Contract Should Include
- Intellectual Property Ownership and Indemnities.
- Milestones and Deliverables.
- Quality Criteria / Performance and Acceptance Testing.
- Variations / Change Request Process.
- Non-Performance / Termination – for convenience or breach.
- Disengagement & Transition Plans.
- Liquidated Damages.
- Fees and Penalties.
- Warranties.