Skip to main content

01 - Software Development, Management & Business

Software Development Methods

Agile Development

  • Agile software development - An umbrella term for approaches to developing software that reflect the values and principles agreed upon by The Agile Alliance
    • Agile Manifesto - A document that proclaims better ways of developing software by valuing individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan
    • Software prototyping - The activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed
    • Minimum viable product - A version of a product with just enough features to be usable by early customers who can then provide feedback for future product development
    • User story - An informal, natural language description of features of a software system
      • Card, Conversation, Confirmation - A practice where the Card is a token representing the requirement, the Conversation is where details are teased out, and the Confirmation is the acceptance test for the story
    • INVEST of PBI - A mnemonic created by Bill Wake as a reminder of the characteristics of a good quality Product Backlog Item (PBI)
      • Independent: The PBI should be self-contained
      • Negotiable: Draft PBIs are not explicit contracts and should leave space for discussion
      • Valuable: A PBI must deliver value to the stakeholders
      • Estimable: You must always be able to estimate the size of a PBI
      • Small: PBIs should not be so big as to become impossible to plan/task/order within a level of accuracy
      • Testable: The PBI or its related description must provide the necessary information to make test development possible
  • Key Methodologies
    • Extreme Programming - A software development methodology which is intended to improve software quality and responsiveness to changing customer requirements
    • Scrum - A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value
    • Acceptance test-driven development - A development methodology based on communication between the business customers, the developers, and the testers
      • Three Amigos - A meeting where the product owner, developer, and quality tester come together to establish clarity on the scope of the project
    • Behavior driven development - An agile software development process that encourages collaboration among developers, quality assurance testers, and customer representatives in a software project
      • Specification by example - A collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements
  • Key Practices
    • Refactoring - A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior
      • Software rot - The tendency for software to deteriorate in quality, performance, or usefulness over time
      • Technical debt - A concept in software development that reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer
        • Technical Debt Ratio - A metric used to measure the cost of fixing the existing technical debt in a codebase compared to the cost of developing the entire codebase from scratch
    • Test driven development - A software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases
  • Tools for ATDD/BDD
    • Gauge - A free and open source test automation framework that takes the pain out of writing and maintaining acceptance tests
    • Cucumber - A tool that supports Behaviour-Driven Development (BDD) by reading executable specifications written in plain text and validating that the software does what those specifications say
      • Gherkin Syntax - A set of grammar rules that makes plain text structured enough for Cucumber to understand
      • cucumber-ruby - The Ruby implementation of Cucumber
    • RSpec - A testing tool for the Ruby programming language, created for behavior-driven development (BDD)
    • Behave - A tool for behavior-driven development (BDD) in Python, using tests written in a natural language style, backed up by Python code

Lean Development

  • Lean software development - A translation of lean manufacturing principles and practices to the software development domain
    • Continual improvement process - An ongoing effort to improve products, services, or processes
    • OODA loop - A four-step approach to decision-making that focuses on filtering available information, putting it in context and quickly making the most appropriate decision while also understanding that changes can be made as more data becomes available
  • Lean manufacturing - A production method aimed primarily at reducing times within the production system as well as response times from suppliers and to customers
    • The 7 Wastes: The activities that add no value for the customer
    • Value-stream mapping - A lean-management method for analyzing the current state and designing a future state for the series of events that take a product or service from the beginning of the specific process until it reaches the customer
  • Toyota Production System - An integrated socio-technical system, developed by Toyota, that comprises its management philosophy and practices
    • Kanban - A lean method to manage and improve work across human systems
    • Kaizen - A concept of continuous improvement through small, incremental changes
    • Just-in-Time (JIT) - A system for producing and delivering parts and products only when needed, minimizing waste and inventory
    • Jidoka - The concept of automation with a human touch, where machines detect defects and allow workers to address quality issues
    • Heijunka - A method for leveling the production schedule to achieve a balanced, consistent workflow
    • Genchi Genbutsu - The principle of going to the source to understand the actual situation
    • Andon - A visual management system that allows workers to signal problems and request assistance
    • Muri, Muda, Mura - The three types of waste that should be eliminated: overburden, uselessness, and unevenness
  • Theory of Constraints - A management paradigm that views any manageable system as being limited in achieving more of its goals by a very small number of constraints

DevOps & Engineering Productivity

  • Concepts
    • CALMS framework - A conceptual model for approaching DevOps that stands for Culture, Automation, Lean, Measurement, and Sharing
  • Cultural & Organizational Foundations
    • Contingency theory - A theory that claims there is no single best way to organize a corporation, lead a company, or make decisions, asserting that the optimal course of action depends on internal and external situations
    • Expectancy theory - A theory that proposes an individual's behavior is motivated by the expected results of their actions, with the desirability of the outcome determining the selection of a specific behavior
    • Intrinsic motivation - A type of motivation that arises from internal factors, such as enjoyment, curiosity, or a sense of fulfillment, where individuals engage in an activity for its own sake
    • Management 3.0 - An ever-evolving mindset and a collection of games, tools, and practices designed to help any worker manage the organization and improve work systems
    • PM Theory of Leadership - A leadership theory that classifies leaders into two categories: performance-oriented and maintenance-oriented
    • Generative organizational culture - A type of culture characterized by a high degree of trust and cooperation, a shared sense of responsibility for the mission, and a focus on learning and continuous improvement
    • Servant leadership - A leadership philosophy where the primary aim of the individual in charge is to prioritize the needs of their team members, fostering their development and performance, rather than focusing on personal gain or traditional hierarchical authority
    • Shared leadership - A leadership style that broadly distributes responsibility, allowing individuals within a team or organization to lead each other
    • Situational leadership - A leadership model where effective leaders adapt their style to each situation, recognizing that no single approach is universally appropriate
    • Transformational leadership - A leadership style in which leaders encourage, inspire, and motivate employees to innovate and create change that will help grow and shape the future success of the company
    • Two-factor theory - A theory developed by psychologist Frederick Herzberg, it posits that job satisfaction and dissatisfaction are influenced by separate sets of factors, known as motivators and hygiene factors, which act independently of each other
    • Theory X and Theory Y - The theories of human work motivation and management developed by Douglas McGregor
  • Technical Practices
    • Feature Toggles - A powerful technique, allowing teams to modify system behavior without changing code
    • Blue-Green Deployment - A technique that reduces downtime and risk by running two identical production environments called Blue and Green
    • Canary Release - A technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure
    • Everything as code - A software development practice that seeks to apply the same principles of version control, testing, and deployment to enhance maintainability and scalability of all aspects of the development lifecycle, including networking infrastructure, documentation, and configuration

Version Control System

  • Distributed Version Control - A form of version control where the complete codebase, including its full history, is mirrored on every developer's computer
    • Git - A free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency
      • local repository, remote repository
      • branch, tag, worktree
      • push, pull, fetch, rebase, reset, stash
      • staging, commit
    • Jujutsu (jj) - A Git-compatible VCS that is both simple and powerful
    • git lfs - An open source Git extension for versioning large files
    • Informative git prompt for bash and fish - A bash prompt that displays information about the current git repository
    • lazygit - A simple terminal UI for git commands
    • Git Interactive Rebase Tool - An improved sequence editor for Git
    • BFG Repo-Cleaner - A simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history
    • git filter-repo - A versatile tool for rewriting history
    • degit - Straightforward project scaffolding
    • Git Lint - A command line interface for linting Git commits by ensuring you maintain a clean, easy to read, debuggable, and maintainable project history
    • git cliff - A highly customizable changelog generator
    • pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
    • TortoiseGit - A Windows Shell Interface to Git and based on TortoiseSVN

Git Hosting Services

  • GitLab SCM - The single source of truth for collaborating on code and projects
    • GitLab CLI - An open source tool that brings GitLab to your terminal, next to where you are already working with git and your code
  • Gitea - A painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
  • Codeberg - A community-led effort that provides Git hosting and other services for free and open source projects
  • Forgejo - A self-hosted lightweight software forge
  • Soft Serve - A tasty, self-hostable Git server for the command line
  • Azure Repos - A set of version control tools that you can use to manage your code
  • GitHub - The AI-powered developer platform to build, scale, and deliver secure software
    • GitHub CLI - An open source tool that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place

Branching Models

  • Trunk Based Development - A source-control branching model, where developers collaborate on code in a single branch called 'trunk', resist any pressure to create other long-lived development branches by employing documented techniques
  • GitHub Flow - A lightweight, branch-based workflow designed for teams that deploy frequently
  • GitLab Flow - A simpler alternative to GitFlow that combines feature driven development and feature branches with issue tracking

Code Review

  • Google Engineering Practices Documentation - A comprehensive guide to Google's code review processes and policies for both reviewers and change authors
  • Conventional Comments - A standard that provides a structured format for code review feedback to improve clarity, reduce misunderstandings, and make comments machine-readable
  • Danger - A tool to automate team norms in code review

Release Management

Release Automation

  • semantic-release - A fully automated version management and package publishing tool that determines the next version number, generates release notes, and publishes the package based on formalized commit messages
  • Release Please - A tool that automates changelog generation, the creation of GitHub releases, and version bumps for your projects based on Conventional Commits
  • GoReleaser - A release automation tool for Go projects
  • Changesets - A tool to manage versioning and changelogs with a focus on monorepos

Conventions & Standards

  • keep a changelog - A file which contains a curated, chronologically ordered list of notable changes for each version of a project
  • Conventional Commits - A lightweight convention on top of commit messages that provides an easy set of rules for creating an explicit commit history
  • Semantic Versioning - A simple set of rules and requirements that dictate how version numbers are assigned and incremented
    • CalVer - A versioning convention based on your project's release calendar, instead of arbitrary numbers
    • semver - A semantic versioner for npm

Software Design

Design Principles

  • Orthogonality and DRY principle - The principle that every piece of knowledge must have a single, unambiguous, authoritative representation within a system
  • Separation of concerns - A design principle for separating a computer program into distinct sections
  • Design by Contract - An approach for designing software that prescribes formal, precise and verifiable interface specifications for software components
  • Law of Demeter - A design guideline for developing software, particularly object-oriented programs
  • SOLID - The principle of OOD - A mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible, and maintainable
    • Single responsibility
    • Open–closed
    • Liskov substitution
    • Interface segregation
    • Dependency inversion
  • The Reactive Manifesto - A coherent approach to systems architecture where applications are responsive, resilient, elastic and message driven
  • Unix philosophy - A set of cultural norms and philosophical approaches to software development
  • KISS principle - A design principle which states that most systems work best if they are kept simple rather than made complicated

Design Best Practices

  • Resource acquisition is initialization (RAII) - A programming idiom where the life cycle of a resource is bound to the lifetime of an object
  • Rob Pike's 5 Rules of Programming - A set of rules about where to focus optimization efforts, emphasizing measurement and the importance of data structures
  • The Zen of Python - A collection of 19 guiding principles for writing computer programs that influence the design of the Python programming language
  • The twelve-factor app - A methodology for building software-as-a-service apps that are suitable for deployment on modern cloud platforms
    • Codebase: One codebase tracked in revision control, many deploys.
    • Dependencies: Explicitly declare and isolate dependencies.
    • Config: Store config in the environment.
    • Backing services: Treat backing services as attached resources.
    • Build, release, run: Strictly separate build and run stages.
    • Processes: Execute the app as one or more stateless processes.
    • Port binding: Export services via port binding.
    • Concurrency: Scale out via the process model.
    • Disposability: Maximize robustness with fast startup and graceful shutdown.
    • Dev/prod parity: Keep development, staging, and production as similar as possible.
    • Logs: Treat logs as event streams.
    • Admin processes: Run admin/management tasks as one-off processes.

Design Patterns

  • Software design pattern - A general, reusable solution to a commonly occurring problem within a given context in software design
  • Entity–control–boundary - An architectural pattern used in software design and analysis that helps in structuring the responsibilities of classes in an object-oriented system
  • Command Query Responsibility Segregation - A pattern that separates read and update operations for a data store
  • Fluent interface - A method for designing object-oriented APIs based on method chaining with the goal of making the readability of the source code close to that of ordinary written prose
  • Model-view-controller pattern - A software design pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements
  • Dependency injection - A design pattern in which an object or function receives other objects or functions that it depends on

Requirement Engineering

  • System - A group of interacting or interrelated elements that act according to a set of rules to form a unified whole
    • Systems architecture - The conceptual model that defines the structure, behavior, and more views of a system
    • Conway's law - An adage stating that organizations design systems that mirror their own communication structure
  • Requirements analysis - The process of determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders
    • Requirement - A documented need of what a product or service should be or do
      • Non-functional requirement - A requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors
  • Related Standards
    • ISO/IEC 25010: Systems and software Quality Requirements and Evaluation (SQuaRE)

Domain-Driven Design (DDD)

  • Domain-driven design - A major software design approach, focusing on modeling software to match a domain according to input from that domain's experts
  • Object-oriented analysis and design - A technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process
    • Use case - A list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system to achieve a goal
  • Ontology - A representation, formal naming and definition of the categories, properties and relations between the concepts, data and entities that substantiate one, many or all domains of discourse
    • Semantic network - A knowledge base that represents semantic relations between concepts in a network
      • WordNet - A large lexical database of English
  • Semantic Web - An extension of the World Wide Web that allows Internet data to be machine-readable through standards set by the W3C, enabling automated agents to process information more intelligently
  • Database design - The organization of data according to a database model

Management & Measurement

Project & Work Management

  • Project management - The process of leading the work of a team to achieve all project goals within the given constraints
    • Critical chain project management - A method of planning and managing projects that emphasizes the resources (people, equipment, physical space) required to execute project tasks
    • Gantt Chart - A bar chart illustrating a project schedule, displaying tasks on the vertical axis and time intervals on the horizontal axis, with bar widths indicating activity durations and often showing task dependencies
    • Work breakdown structure - A deliverable-oriented breakdown of a project into smaller components
    • RACI matrix - A responsibility assignment matrix (RAM)... describes the participation by various roles in completing tasks or deliverables for a project or business process
      • Responsible, Accountable, Consulted, Informed
    • Software development effort estimation - The process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input
      • Three-point estimation - A technique used in project management to estimate the likely duration or cost of an activity
      • Planning poker - A consensus-based, gamified technique for estimating, mostly used for timeboxing in Agile principles
  • Systems development life cycle (SDLC) - A conceptual model used in project management that describes the stages involved in an information system development project
    • ISO/IEC/IEEE 12207: Systems and software engineering — Software life cycle processes
    • ISO/IEC/IEEE 15288: Systems and software engineering — System life cycle processes
  • Prioritization - The activity that arranges items or activities in order of urgency
    • RICE - A simple scoring system for product prioritization that stands for Reach, Impact, Confidence, and Effort
    • Kano model - A theory for product development and customer satisfaction developed in the 1980s by Noriaki Kano
    • MoSCoW method - A prioritization technique used in management, business analysis, project management, and software development
  • Stakeholder management - The process of identifying individuals or groups that are affected by a project or business venture, understanding their interests and concerns, and managing their expectations and influence
  • Tools & Platforms
    • Issue Tracking Systems
      • Jira - A software application used for issue tracking and project management that helps teams plan, assign, track, report, and manage work
        • Python Jira - A Pythonic interface to the JIRA REST APIs
        • JiraCLI - An interactive command line tool for Atlassian Jira that will help you avoid Jira UI to some extent
      • GitLab Issue Board - A user interface that displays issues in columns that correspond to their workflow statuses
      • GitLab Service Desk - A feature that enables you to connect with users through email, without requiring them to have a GitLab account
      • Azure Boards - A service that provides a customizable platform for managing work items, allowing teams to collaborate effectively and streamline their workflow
      • GitHub Issues - A tracking tool that helps you manage your work on GitHub
      • Redmine - A free and open source, web-based project management and issue tracking tool
    • Chat Systems
      • Slack - A channel-based messaging platform where people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work
        • Python Slack SDK - A software development kit that helps Python developers build apps that integrate with Slack
        • Slack API in Go - A Go library for the Slack API
      • Mattermost - An open source collaboration platform for developers, offering secure messaging, project management, and workflow orchestration
      • Discord - A free voice, video, and text chat app that's used by tens of millions of people to talk and hang out with their communities and friends
        • discord.js - A powerful Node.js module that allows you to interact with the Discord API very easily
      • Notify - A dead simple Go library for sending notifications to various messaging services

Product Management

  • Product management - The business process of planning, developing, launching, and managing a product or service
    • Aha! - A suite of product development software that helps teams build and market products customers love
  • Lean startup - A methodology for developing businesses and products that aims to shorten product development cycles and rapidly discover if a proposed business model is viable
  • Related Standards
    • ISO/IEC 15504: Information technology — Process assessment
    • ISO/IEC 20000: Information technology — Service management
  • Business model - The rationale of how an organization creates, delivers, and captures value, in economic, social, cultural or other contexts
    • Business model canvas - A strategic management template for developing new or documenting existing business models
    • Lean Canvas - A one-page business modeling tool for entrepreneurs to quickly outline their business idea

Goal Setting & Performance

  • Goal setting - The process of developing an action plan designed to motivate and guide a person or group toward a goal
    • SMART goals - A mnemonic acronym, used to guide in the setting of objectives or goals, for example in project management, employee-performance management and personal development
      • Specific: Targeting a particular area for improvement
      • Measurable: Quantifying, or at least suggesting, an indicator of progress
      • Assignable: Defining responsibility clearly
      • Realistic: Outlining attainable results with available resources
      • Time-related: Including a timeline for expected results
    • FAST goals - A framework for goals that are Frequently discussed, Ambitious in scope, Specific in metrics, and Transparent for everyone to see
    • GROW model - A simple method for goal setting and problem solving
    • OKRs - A goal-setting framework used by individuals, teams, and organizations to define measurable goals and track their outcomes
    • KPIs - A type of performance measurement used to evaluate the success of an organization or of a particular activity (such as projects, programs, products and other initiatives) in which it engages
      • Net Promoter Score - A market research metric that is based on a single survey question asking respondents to rate the likelihood that they would recommend a company, product, or a service to a friend or colleague
    • Goodhart's law - An adage often stated as, "When a measure becomes a target, it ceases to be a good measure"
  • Performance Measurement
    • SPACE framework - A framework that provides a way to think about developer productivity in a more holistic way, encompassing Satisfaction and well-being, Performance, Activity, Communication and collaboration, and Efficiency and flow
    • The Four Keys of DORA - A set of metrics used to measure DevOps performance, consisting of Deployment Frequency, Lead Time for Changes, Change Failure Rate, and Time to Restore Service

Business & Strategy

Enterprise Architecture & Administration

  • Enterprise architecture - A well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a comprehensive approach at all times, for the successful development and execution of strategy
    • TOGAF standard - A proven Enterprise Architecture methodology and framework used by the world’s leading organizations to improve business efficiency
    • Zachman Framework - An ontology – a theory of the existence of a structured set of essential components of an object
    • ArchiMate - An open and independent modelling language for Enterprise Architecture that is supported by different tool vendors and consulting firms
      • Archi - A free, open source, cross-platform tool and editor to create ArchiMate models
  • Enterprise resource planning - The integrated management of main business processes, often in real time and mediated by software and technology
    • Customer relationship management - A strategic process that organizations use to manage, analyze, and improve their interactions with customers
      • EspoCRM - An open-source web application for managing and evaluating all company relationships
      • Salesforce - A customer relationship management solution that brings companies and customers together, providing one integrated CRM platform for all departments
      • SuiteCRM - A free and open-source Customer Relationship Management (CRM) software solution providing a 360-degree view of customers and business
    • IT service management - The activities that are performed by an organization to design, build, deliver, operate and control information technology (IT) services offered to customers
      • ServiceNow - A cloud-based, AI-powered platform for digital workflows that connects people, functions, and systems across the enterprise
    • Supply chain management - The management of the flow of goods and services, between businesses and locations, including the movement and storage of raw materials, work-in-process inventory, and finished goods from point of origin to point of consumption
    • Human resource management - The strategic and coherent approach to the effective and efficient management of of people in a company or organization such that they help their business gain a competitive advantage
    • Contract management - The process of systematically and efficiently managing contract creation, execution, and analysis for the purpose of maximizing financial and operational performance and minimizing risk
    • SAP ERP - A comprehensive software system that streamlines processes, improves productivity, and provides real-time insights across your entire organization
    • Odoo - A suite of open source business applications covering areas such as CRM, ERP, accounting, and more
    • ERPNext - A 100% open-source ERP with a modern, comprehensive, and user-friendly enterprise resource planning solution
  • Enterprise modeling - The process of building models of whole or part of an enterprise with process models, data models, resource models and or new ontologies
    • BPMN- A graphical notation for specifying business processes in a Business Process Diagram, providing a standard comprehensible to business users yet representing complex process semantics for technical users
    • SysML - A general-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems that may include hardware, software, information, personnel, procedures, and facilities
    • Eclipse Capella - A powerful and extensible MBSE software tool that leverages a field-proven language and method to successfully design the architecture of complex systems
  • Business process change management
    • Organizational structure - A system that outlines how certain activities are directed in order to achieve the goals of an organization
    • Kotter's 8-step change model - A set of tools and strategies designed to help organizations effectively implement and sustain change
    • Prosci ADKAR Model - A goal-oriented change management model that guides individual and organizational change

Strategic Management & Marketing

  • Strategic management tools
    • MECE principle - The grouping principle for separating a set of items into subsets that are mutually exclusive (ME) and collectively exhaustive (CE)
    • SWOT analysis - A decision-making technique used in strategic planning and management that identifies the strengths, weaknesses, opportunities, and threats of an organization or project
    • PEST analysis - A framework of external macro-environmental factors (political, economic, social and technological) used in strategic management and market research
    • Porter's five forces analysis - A method of analyzing the competitive environment of a business, rooted in industrial organization economics, that identifies five forces determining competitive intensity and industry attractiveness
  • Business inteligence and analysis tools
    • Tableau - The world’s leading analytics platform
    • Power BI - A unified, scalable platform for self-service and enterprise business intelligence
      • DAX - A programming language that is used throughout Microsoft Power BI for creating calculated columns, measures, and custom tables
    • Amazon QuickSight - A scalable, serverless, embeddable, machine learning (ML)-powered business intelligence (BI) service built for the cloud
  • Marketing - A process of acquiring, satisfying, and retaining customers, often involving creating, communicating, delivering, and exchanging offerings that have value for various stakeholders
    • SEO - The process of improving the quality and quantity of website traffic to a website or a web page from search engines
    • Marketing mix - A foundation model for businesses, historically centered around product, price, place, and promotion
    • Card sorting - A method used to help design or evaluate the information architecture of a site
    • Fear of missing out (FOMO) - The feeling of apprehension that one is either not in the know about or missing out on information, events, experiences, or life decisions that could make one's life better
    • Fear, uncertainty, and doubt (FUD) - A manipulative propaganda tactic used in sales, marketing, public relations, politics, polling, and cults
    • Tag management
      • Google Tag Manager - A tag management system that allows you to quickly and easily update measurement codes and related code fragments known as tags on your website or mobile app
    • Analytics tools
      • Google Analytics - The go-to platform for millions of website and app owners seeking to gain a deeper understanding of their website and app performance
      • Plausible - Intuitive, lightweight and open source web analytics
      • Umami - A simple, fast, privacy-focused alternative to Google Analytics
      • Ackee - Self-hosted, privacy-focused analytics tool for those who care about privacy
    • User experience research
      • A/B testing - A way to compare multiple versions of a single variable, for example by testing a subject's response to variant A against variant B, and determining which of the variants is more effective
      • Diary studies - A research method in which people record their experiences and activities over time
    • Advertising
      • Indicators
        • Click through rate - The ratio of users who click on a specific link to the number of total users who view a page, email, or advertisement
        • Conversion rate - The percentage of users who take a desired action
      • Platforms
        • Google Ads - An online advertising platform where advertisers bid to display brief advertisements, service offerings, product listings, or videos to web users
        • Google AdSence - A program run by Google through which website publishers in the Google Network of content sites serve text, images, video, or interactive media advertisements that are targeted to the site content and audience
    • Experiment platform
      • Optimizely - A leading digital experience platform (DXP) that provides a single, unified platform that offers you the scalability and security you need to drive your business into the future
    • Email Distribution
      • listmonk - Self-hosted newsletter and mailing list manager
      • BillionMail - An open-source MailServer and email marketing solution that is fully self-hosted and dev-friendly
    • Concepts and Frameworks
      • Brand - A name, term, design, symbol or any other feature that distinguishes one seller's goods or service from those of other sellers
      • Customer experience - A customer's cognitive, emotional, sensory, and behavioral responses during all stages of interaction with a product or service
      • Customer service - The assistance and advice provided by a company to those who buy or use its products or services, either in person or remotely
      • Design thinking - The set of cognitive, strategic and practical processes by which design concepts are developed
      • User experience - A person's emotions and attitudes about using a particular product, system or service
      • Value chain - A progression of activities that a business or firm performs in order to deliver goods and services of value to an end customer.
    • Tools for Strategy
      • Value proposition canvas - A tool to help you create products and services customers want
      • Persona - A fictional character created to represent a user type relationship
    • Tools for Ideation
      • Affinity diagram - A business tool used to organize ideas and data
      • Brainstorming - A group creativity technique by which efforts are made to find a conclusion for a specific problem by gathering a list of ideas spontaneously contributed by its members
      • SCAMPER - A structured way of assisting students to think out of the box and enhance their knowledge

Risk Management

  • Risk management - The identification, evaluation, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability or impact of unfortunate events or to maximize the realization of opportunities
    • Business continuity planning - The process an organization undergoes to create a prevention and recovery system from potential threats such as natural disasters or cyber-attacks
      • IT disaster recovery - The process of resuming normal IT operations after a disruptive event, such as a natural disaster, cyberattack, or equipment failure
      • ISO 22301: Security and resilience - Business continuity management systems - Requirements
    • Project risk management - The process of identifying, analyzing, and then responding to any risk that arises over the life cycle of a project to help the project remain on track and meet its goal
    • Financial risk management - The practice of protecting economic value in a firm by managing exposure to financial risk - principally credit risk and market risk, as well as some aspects of operational risk
    • ISO 31000: Risk management

Workflow Automation Agents & Tools

  • AionUI - A Cowork app for AI coding agents with document generation capabilities
  • Dify - An open-source LLM app development platform
  • n8n - A fair-code licensed workflow automation tool that combines AI capabilities with business process automation
  • OpenClaw - An open-source, self-hosted personal AI agent runtime that acts as a "Local OS for AI" by automating tasks across applications and platforms
  • Notion AI - An integrated AI assistant for workspaces that provides writing assistance, workspace Q&A, and autonomous agents for task automation
  • Amazon Q Business - A generative AI-powered assistant for enterprises to find information, gain insights, and take action at work, integrating with company data and applications
  • Microsoft 365 Copilot - An AI assistant for work that supercharges productivity and creativity, reengineers business processes, and empowers you to securely transform your business into an AI-powered organization
  • Power Platform
    • Microsoft Copilot Studio - A graphical low-code tool for creating and maintaining copilots using generative AI and a library of prebuilt connectors and actions
    • Microsoft Power Apps - A platform to rapidly and efficiently build professional-grade apps for any device
    • Microsoft Power Automate - An end-to-end automation solution built for enterprise to optimize business processes
    • Microsoft Power Pages - A platform to quickly create enterprise-grade AI-driven business portals with built-in agents

The Open Ecosystem

Open Source

  • Open Source Initiative - A non-profit organization dedicated to promoting and protecting open source software and communities
  • Major Public Licenses
    • MIT - A permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s
    • BSD - A family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software
    • Apache - A permissive free software license written by the Apache Software Foundation (ASF), allowing users to use, distribute, and modify software without concern for royalties
    • GPL - A series of widely used free software licenses, or copyleft licenses, that guarantee end users the freedom to run, study, share, and modify the software
    • LGPL - A free-software license published by the Free Software Foundation (FSF) that allows developers and companies to use and integrate a software component released under it into their own (even proprietary) software without being required to release the source code of their own components
    • AGPL - A free, copyleft license for software and other kinds of works, specifically designed to ensure that if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there
    • SSPL - A strong copyleft software license that mandates that any entity offering the licensed software as a service must release the complete source code of the entire service
  • Source Repositories
    • GitHub - The AI-powered developer platform to build, scale, and deliver secure software
    • GitLab.com - The DevSecOps Platform that empowers organizations to maximize the overall return on software development
  • Package Registries
    • CTAN - The Comprehensive TEX Archive Network
    • CPAN - The Comprehensive Perl Archive Network
    • CRAN - The Comprehensive R Archive Network
    • PyPI - A repository of software for the Python programming language
    • RubyGems.org - The Ruby community’s gem hosting service
    • npm Registry - The world's largest software registry
    • JSR - The open-source package registry for modern JavaScript and TypeScript
    • pkg.go.dev - Your source for information about Go packages and modules
    • crates.io - The Rust community’s crate registry
    • LuaRocks - The package manager for Lua modules
    • Hackage - The Haskell community's central package archive of open source software
      • Stackage - A curated set of packages from Hackage
    • NuGet Gallery - The package manager for .NET
    • Maven Central - The World's Largest and Oldest Component Repository
    • ConanCenter - The central repository where you can find all the open source packages created by the community
    • Anaconda Hub - The Hub for Data Science and AI Collaboration
  • Agent Skills Registries
    • The Agent Skills Directory - An open agent skills ecosystem providing reusable capabilities for AI agents
    • Anthropic Agent Skills - A public repository containing Anthropic's implementation of skills for Claude, including instructions, scripts, and resources that enable specialized tasks and repeatable workflows
    • SkillsMP (Skills Management Platform) - A community-driven marketplace designed for discovering and sharing modular AI agent capabilities based on the open SKILL.md standard
  • MCP (Model Context Protocol) Registries
    • Official MCP Registry- A collection of official reference MCP server implementations maintained by the Model Context Protocol organization
    • MCP Registry - A searchable web directory of published MCP servers
  • Community Curations
    • Awesome Go - A curated list of awesome Go frameworks, libraries, and software. Inspired by awesome-python
    • Awesome Ruby - A curated list of awesome Ruby frameworks, libraries and software
    • Awesome Python - A curated list of awesome Python frameworks, libraries, software and resources
    • Awesome Neovim - Collections of awesome neovim plugins
    • Awesome VSCode - A curated list of delightful VS Code packages and resources
    • Awesome MCP Servers - A community-curated list of Model Context Protocol (MCP) servers

Open Data

  • Tools and Licenses
    • Creative Commons - A nonprofit organization that helps overcome legal obstacles to the sharing of knowledge and creativity to address the world’s pressing challenges
    • Open Data Commons - The home of a set of legal tools and licenses to help you publish, provide and use open data
  • Open Data Registries
    • Hugging Face Hub - A platform with over 900k models, 200k datasets, and 300k demos in which people can easily collaborate in their ML workflows
    • Data.gov - The home of the U.S. Government’s open data
    • Kaggle - The world's largest data science community with powerful tools and resources to help you achieve your data science goals
    • Registry of Open Data on AWS - A service that makes it easy for people to find datasets that are publicly available through AWS services
    • OpenML - An open, collaborative, frictionless, and automated machine learning environment
    • OpenStreetMap - A map of the world, created by people like you and free to use under an open license
  • Data Search Engines
    • Google Dataset search - A search engine that enables users to find datasets stored across thousands of repositories on the Web

Community & Governance

  • Umbrella Open Source Foundations
    • Linux Foundation - A non-profit organization that supports, protects, and standardizes Linux by providing a neutral, trusted hub for developers to code, manage, and scale open technology projects
    • Apache Software Foundation - A nonprofit corporation to support Apache software projects, including the Apache HTTP Server
    • Eclipse Foundation - A provider of a business-friendly environment for open source software collaboration and innovation for a global community of individuals and organizations
  • Technology-Specific Foundations
    • OpenJS Foundation - The neutral home for more than 40 open source projects, including Appium, Dojo, jQuery, Node.js, and webpack
    • Rust Foundation - An independent non-profit organization dedicated to stewarding and growing the Rust programming language and ecosystem
    • Python Software Foundation - The charitable organization behind the Python programming language
    • PyTorch Foundation - A community-driven hub for open-source AI
  • Cloud & AI
    • Cloud Native Computing Foundation - An open source software foundation dedicated to making cloud native computing universal and sustainable
    • Agentic AI Foundation (AAIF) - A neutral, open foundation to ensure this critical capability evolves transparently, collaboratively, and in ways that advance the adoption of leading open source AI projects
  • Web & Data Standards
    • World Wide Web Consortium - An international community that develops open standards to ensure the long-term growth of the Web
    • WHATWG - A community of people interested in evolving HTML and related technologies
    • The Open Group - A global consortium that enables the achievement of business objectives through technology standards
  • Ethical & Digital Rights
  • Community Governance & Codes of Conduct

People & Collaboration

Team Dynamics & Communication

  • Team Dynamics
    • Team building - A collective term for various types of activities used to enhance social relations and define roles within teams, often involving collaborative tasks
    • Group dynamics - A system of behaviors and psychological processes occurring within or between social groups
    • Research & Models
      • Google Rework: Understand team effectiveness - A research initiative identifying key dynamics like psychological safety, dependability, structure and clarity, meaning, and impact as crucial for successful group collaboration
      • GRPI Model - A foundational framework for designing and diagnosing team effectiveness, organizing the building blocks of a high-performing team into four layers: Goals, Roles, Processes, and Interpersonal Relationships
  • Interpersonal Communication Techniques
    • Storytelling - The social and cultural activity of sharing stories, sometimes with improvisation, theatrics or embellishment
    • Facilitation - The act of designing and running a successful meeting or workshop
    • Active listening - The practice of preparing to listen, observing what verbal and non-verbal messages are being sent, and then providing appropriate feedback for the sake of showing attentiveness to the message being presented
    • Negotiation - A dialogue between two or more parties to resolve points of difference, gain an advantage for an individual or collective, or craft outcomes to satisfy various interests
  • Corporate Principles & Values
    • Amazon's Leadership Principles - The set of core tenets Amazonians use daily to guide their discussions, decisions, and actions
    • GitLab Values - A set of guiding principles that define the company's culture and how its team members operate
  • Professional Manifestos
    • Manifesto for Software Craftsmanship - A declaration emphasizing the importance of well-crafted software, continuous value addition, professional community, and productive partnerships in software development