Software Management Body of Knowledge (SMBOK)
The intent of this document is to represent the breadth of information that would be useful for a person to know if they have to make decisions about either (a) managing a system creating software-enabled systems, or (b) managing software-enabled systems. This is the software management body of knowledge (SMBOK).
Content
-
Team Organization
- Agile Teams
- Resources Management
- Customer requirements
- Adaptation
- Change management
- Communication
- Team cohesion
- Personality types
- Collaboration
- Co-located Teams
- Cross-Functional Teams
- Pair Programming
- Virtual Teams (see also Distributed Teams)
- Distributed teams
- Globally Distributed Teams
- Risk tolerance
- Org Structure
- Hierarchical
- Flat
- Hybrid
- Choosing One
- Leadership in Software Organisations
- Lean Development
-
Team Building
- Recruitment/Hiring
- Hiring the right people
- Retaining people
- Relationship with culture
- Relationship with empathy
- Effect / Need of diversity
- Attrition/turnover management
- People Management
- Evaluation/assessment
- Low performance handling
- Peer reviews
- Incentives
- Orientation
- Talent Acquisition
- Talent Upgrade
- Training
- On-boarding
- Employee satisfaction
- Emotional Safety
- Diversity
- Tiger teams
- Character and Personality Types
- Skillsets
- Recruitment/Hiring
-
Agile Methodologies
- Scrum
- Large-scale Scrum (LeSS)
- Kanban - Physical Aspects of Kanban
- Scaled Agile Framework (SAFe)
- Extreme Programming (XP)
- Test-driven development (TDD)
- Feature-driven development (FDD)
- Lean software development
- Rapid Application Development (RAD)
-
Risk Management
- Risk identification
- Quantitative risk analysis
- Qualitative risk analysis
- Risk monitoring and control
- Risk response planning
-
Continuous Improvement
- Kaizen
- Diverse team skillset
- Diverse teams and backgrounds
- Effective retrospective
- Lean Startup
- Software Metrics and Measurement
- Defects
- ROI/Financials
- Productivity
- CMMI, other Standards
- Agile Methodologies for CI
-
Focus on Customer
- Developer engagement-detachment
- Customer engagement-detachment
- Bringing back emotional connections
- Value driven software management
- Demonstration-based approach to customer engagement
- Emotional design
-
Organization
- Human
- Social aspects of SM
- Communication
- Importance of culture
- Value of empathy
- Process
- Identifying and Managing Bottlenecks
- Technology
- Organizational influences and cultures
- Human
Back to top
-
Change Management - how to manage change, organizational change, change agents, seeds
-
Information Sharing
-
Shared Understanding
- Aligned goals
- Collaborate
- Teamwork
-
Collaboration
- Human Resource Management
- Office Floor Plans
-
Productivity
- Measuring productivity
- Effect of collaboration
- Concepts form Mythical man month
-
Coordination
- Negotiation
- Conflict management
-
Systems Thinking
-
Time
- Time Constraints
- Software Delivery Cadence
- Fiscal Quarters
- Deadlines
- Estimating delivery time
- Adapting to a schedule
- Time Management
-
Problem Solving
- Complexity Analysis
-
Planning
- Estimation/sizing
- Resource allocation
- Timeline/schedule planning
- Commitment
-
Process
- Frameworks
- Software methodologies
-
Overall Management
- Program
- Portfolio
- Release
-
Operations/Support/Maintenance Management
- DevOps
- Tech Support
- Automated/instrumentalized log reporting/bug reporting
-
Lifecycle Management
- Product, software, process
- Iterative life cycle processes
Back to top
-
Theory of Constraints
-
Queuing Theory
-
Roles and Responsibilities
- Stakeholders
- Business Team
- Dev Team
- Test Team
- Ops Team
- Marketing Team
- Define roles/tasks of team members
- Customer
- Influencer, buyer
-
Quality Management
- QA
- Metrics
- Quality attributes
- Automation
- Continuous improvement
-
Financial Management
- Budget
- P&L
- Resource management
- Business models
- Cost/revenue
- Investors
-
Feasibility Analysis
- Technical Feasibility
- Market Feasibility
-
Development Context
- Organization
- Physical Environment
- Social Aspects (Human Factors)
- Personalities
- Cultures
- Leadership
- Collaboration
- Cyber
- Development Tools
- Development Frameworks
-
Software Delivery Mechanism
- Software as a service – subscription model
-
Architecture
- Design Foundation
- Waterfall/Separate Design Phase
- BUFD (Big UpFront Design)
- Deployment context
- Pregame (Scrum)
- Waterfall/Separate Design Phase
- Agile Design Approach
- Interative
- Refactoring
- Experimental
- Documentation
- Design Artifacts
- Agile (code is best artifacts)
- Maintainability
- Design Foundation
-
Source Control
- Open Repositories
- Online Repositories
- Commitment and Rollback
- Version Control
-
Open Source
- Management of codebase
- Access Rights
- Distribution Rights
- Copyright/Copyleft
-
Management for Public/Government Projects
- Requirements Analysis
- Schedule
- Financials
- Application of Agile Methodologies
-
Legal Considerations for Software Management
- Security
- Open Source
- Critical Systems (Driverless Vehicles, Flight Control Systems, Medical Systems)
- Copyright
-
Software Testing
- Quality Control/Assurance (QC/QA)
- Test vs. Production Environments
- Static Testing
- Load Simulation
-
Visual Maps of Software Management Theories, Principles, and Practices
Back to top