A comprehensive course handbook and knowledge repository for Managing Software Development, covering key topics in software project management, team leadership, and development processes.
Live Site: msdbok.github.io
This repository contains structured course notes and resources designed for MS students, professionals, and anyone interested in learning about software development management. The content focuses on breadth over depth, introducing a wide range of concepts and practices while emphasizing critical thinking and decision-making.
The handbook is organized into 7 major knowledge areas:
- People - Managing technical teams, motivation, and decision-making
- Processes - Project lifecycle stages, frameworks, and process selection
- Needs - Customer expectations, requirements, and risk management
- Scope - Work Breakdown Structure (WBS) and estimation methods
- Planning - Agile vs plan-driven approaches, Gantt charts, critical path
- Tracking - Progress monitoring, burndown charts, Earned Value Management
- Materials - Curated resources, books, and research papers
- Jekyll (v4.4.1) - Static site generator
- Just the Docs - Documentation theme
- jekyll-scholar - Bibliography and citation management (IEEE style)
- GitHub Pages - Hosting and deployment
- Ruby 3.3 or higher
- Bundler
-
Clone the repository:
git clone https://github.com/msdbok/msdbok.github.io.git cd msdbok.github.io -
Install dependencies:
bundle install
-
Build and serve locally:
bundle exec jekyll serve -
Open your browser to
http://localhost:4000
.
├── content/ # Main course content organized by topic
│ ├── people/ # Team management and leadership
│ ├── proc/ # Processes and frameworks
│ ├── needs/ # Requirements and risk management
│ ├── scope/ # Work breakdown and estimation
│ ├── plan/ # Planning approaches
│ ├── track/ # Progress tracking methods
│ └── material/ # Curated resources
├── _includes/ # Reusable Jekyll components
├── _layouts/ # Page layout templates
├── _sass/ # Stylesheets and color schemes
├── _bibliography/ # Bibliography files for citations
└── images/ # Static assets
Contributions are welcome! We accept:
- Content fixes: typos, fact checks, source validation, clarifications
- Method descriptions: 1-2 page focused technique descriptions
- Comparative analyses: 3-4 page papers comparing different approaches
See CONTRIBUTING.md for detailed guidelines and templates.
Quick start:
- Use templates/method-template.md for new methods
- Use templates/analysis-template.md for comparative papers
- Follow the atomic page principle - each page is self-contained
- Include proper citations and sources
The site is automatically built and deployed to GitHub Pages via GitHub Actions whenever changes are pushed to the main branch.
This work is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
You are free to share and adapt the material for any purpose, even commercially, as long as you give appropriate credit.
Andrey Sadovykh
Much of the content in this handbook is heavily inspired by and adapted from lectures by Eduardo Miranda and David Root on software project management. The structure, examples, and pedagogical approach throughout the planning, processes, and materials sections reflect their teaching materials and frameworks.
Pages with significant lecture-based content include an Acknowledgments section crediting the original instructors, along with proper citations in the Sources section.
This project maintains rigorous attribution practices:
- All content pages include a Sources section with full citations
- Lecture-based materials have dedicated Acknowledgments sections
- Academic citations follow IEEE style via jekyll-scholar
- Original frameworks and methods are attributed to their creators
See our Citation Standardization Plan for details on our citation practices.
AI tools were used for text polishing and improving explanations. All facts and claims have been verified by the authors.
In case of an error, feel free to file an issue.