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 Radio - 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
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
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
CALMS framework - A conceptual model for approaching DevOps that stands for Culture, Automation, Lean, Measurement, and Sharing
Cultural & Organizational Foundations
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
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
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
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 - 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
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
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
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
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
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
Salesforce - A customer relationship management solution that brings companies and customers together, providing one integrated CRM platform for all departments
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
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 - An open-source Model-Based Systems Engineering (MBSE) solution that provides a process and tooling to graphically design systems and master their architectural complexity
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
MECE principle - A grouping principle for separating a set of items into subsets that are mutually exclusive (ME) and collectively exhaustive (CE)
SWOT analysis - A strategic planning and strategic management technique used to help a person or organization identify Strengths, Weaknesses, Opportunities, and Threats related to business competition or project planning
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 model that identifies and analyzes five competitive forces that shape every industry and helps determine an industry's weaknesses and strengths
SEO - The process of improving the quality and quantity of website traffic to a website or a web page from search engines
Google Search Central - The home for everything you need to help users find your site on Google Search
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
vince - A cost effective, self hosted, privacy friendly alternative to Google Analytics
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
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
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
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
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
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
Free Software Foundation - A nonprofit with a worldwide mission to promote computer user freedom
Community Governance & Codes of Conduct
Debian Constitution - A document that describes the structure of organisation for decision-making in the Debian Project
Ubuntu Code of Conduct - A set of guidelines that covers behavior as a member of the Ubuntu Community
Team building - A collective term for various types of activities used to enhance social relations and define roles within teams, often involving collaborative tasks
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 - The key principles that form GitLab's identity and culture, guiding how team members work together
Professional Manifestos
Manifesto for Software Craftsmanship - As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft