In systems design, a set of rules to be followed when designing a computer program or a computer system. This ensures that all the steps of the system development cycle are followed. Using the same methodologies means that different people can work together as a team. An example is Jackson Structured Programming.