Jackson Structured Programming JSP is a program design methodology, overview and timeline

Jackson Structured Programming (JSP) is a program design methodology developed by British software consultant Michael A. Jackson in the 1970s. It focuses on mapping the structure of a problem—specifically its data structures—directly onto the structure of the program used to solve it. 

Overview of Jackson Structured Programming

JSP is designed to create programs that are easy to maintain and modify because the program’s control structure naturally handles the input and output data structures. 

  • Core Principle: Requirement changes are typically minor tweaks to existing data structures. By aligning program structure with data structure, small changes to inputs or outputs translate into small, manageable changes in the code.
  • Methodology: The technique involves analyzing the structure of input files and output files, constructing diagrammatic representations of these, and then creating a program structure that handles both.
  • Key Constructs: JSP utilizes three basic structures for both data and programs, which can be visualized as a form of regular expression:
    • Sequence: A series of operations performed in order.
    • Iteration: The repetition of operations until a specific condition is met.
    • Selection: Choosing between different operations based on a condition.
  • Diagrams: JSP uses structure diagrams rather than flowcharts to represent the design, breaking down complex tasks into smaller, simpler parts. 
Excerpts from my HND project which made use of Jackson Structured Programming (JSP) as part of the program design phase

Detailed Historical Timeline

Early Years (1960s–1974): Conceptualization and Founding

  • 1960s: Michael A. Jackson works in data processing, encountering limitations in program reliability and seeking more systematic approaches to software design.
  • 1968: Jackson contributes to the early modular programming movement, collaborating with other pioneers.
  • 1970: Jackson leaves John Hoskyns & Company to found Michael Jackson Systems Limited, aimed at fully developing a new design methodology.
  • 1971: JSP becomes the core product of Michael Jackson Systems Limited, offering consultancy and training services.
  • 1974: The name “Jackson Structured Programming” is coined by a Swedish licensee of the company.

Established Method (1975–1979): Documentation and Adoption

  • 1975: Jackson publishes “Principles of Program Design,” the definitive text documenting JSP.
  • 1975: Michael Jackson Systems Ltd. begins offering software tools to support JSP design for COBOL programs.
  • 1977: JSP is widely recognized and adopted in Europe, the US, and Asia.
  • Late 1970s: The UK government adopts JSP (under the name “SDM” – System Development Methodology) as its standard program design method.
  • Late 1970s: The World Health Organization adopts JSP as a standard for program specification. 

Evolution into System Design (1980s): JSD

  • Early 1980s: Building on the principles of JSP, Jackson develops Jackson System Development (JSD) to address the design of entire information systems, not just individual programs.
  • 1983: Jackson publishes “System Development,” formally introducing JSD.
  • 1983-1989: JSD continues to evolve, with new features introduced in subsequent publications and manuals. 

Maturity and Retrospective (1990s–Present)

  • 1990s: Jackson develops the Problem Frames Approach, his third major methodology focusing on requirements analysis.
  • 1997: Jackson receives the Stevens Award for Software Development Methods.
  • 1998: Jackson receives the British Computer Society Lovelace Medal.
  • 2001: At a conference, Jackson provides a retrospective analysis of JSP’s driving forces and its relevance to modern software engineering.
  • Present: While overshadowed by object-oriented and agile methods, JSP principles remain useful for programming “in the small” and handling specific batch processing or embedded software tasks.

Jackson Structured Programming JSP is a program design methodology, overview and timeline

Jackson Structured Programming (JSP) Timeline  by year

Jackson Structured Programming (JSP) was developed by British software consultant Michael A. Jackson to provide a rigorous, data-driven alternative to the intuitive “top-down” methods prevalent in the 1970s. Its evolution is characterized by a transition from micro-level program design to macro-level system architecture. 

The Early 1970s: Foundation and Invention

  • 1970: Michael Jackson founded his firm, Michael Jackson Systems Limited, to fully develop a new program design methodology.
  • 1974: The name Jackson Structured Programming (JSP) was coined by the company’s Swedish licensee.
  • 1975: Jackson published the seminal book Principles of Program Design, which formally documented the JSP method and is now considered a classic. 

The Late 1970s: Standardisation and Expansion

  • 1977: JSP reached global recognition, being taught in universities and used across Europe, the US, and Asia.
  • Government Adoption: The UK government adopted JSP as its standard program design method under the name SDM (System Development Methodology).
  • Industry Use: Large organisations like the World Health Organization (WHO) began using JSP as a standard for specifying programs. 

The 1980s: Evolution into System Development (JSD)

  • 1980: Jackson published JSP, A Practical Method of Program Design, further refining the technique for practical industry use.
  • 1982–1983: Jackson, along with John Cameron, introduced Jackson System Development (JSD). While JSP focused on individual programs, JSD expanded these principles to entire systems.
  • Integration: JSD was widely incorporated into the UK’s SSADM (Structured Systems Analysis and Design Method), specifically for entity and event modelling. 

The 1990s to Present: Legacy and Modern Relevance

  • 1990s: Jackson introduced his third major method, Problem Analysis (or the Problem Frames Approach), focusing on requirements and software specifications.
  • Legacy: While JSP has faded from mainstream daily practice due to the rise of Object-Oriented Programming, its core concepts—like deriving program structure from data structures—influenced modern practices like Event Storming in Domain-Driven Design (DDD). 

Jackson Structured Programming (JSP) Timeline  by year