Born in Birmingham to Montagu M. Jackson and Bertha Jackson, Jackson was educated at Harrow School in Harrow, London, England. There he was taught by Christopher Strachey and wrote his first program under Strachey's guidance. From 1954 to 1958, he studied classics at Merton College, Oxford; a fellow student, two years ahead of him, was C. A. R. Hoare. They shared an interest in logic, which was studied as part of Greats at Oxford. After his graduation in 1961, Jackson started as computer science designer and consultant for Maxwell Stamp Associates in London. Here he designed, coded and tested his first programs for IBM and Honeywell computers, working in assembler. There Jackson found his calling, as he recollected in 2000: "Although I was a careful designer — drawing meticulous flowcharts before coding — and a conscientious tester, I realised that program design was hard and the results likely to be erroneous..." Information system design was in need of a structured approach. In 1964, Jackson joined the new consultancy firm John Hoskyns and Company in London, before founding his own company Michael Jackson Systems Limited in 1971. In the 1960s, he had started his search for "more reliable and systematic way of programming." He contributed to the emerging modular programming movement, meeting Larry Constantine, George H. Mealy and several others on a 1968 symposium. In the 1970s, Jackson developed Jackson Structured Programming. In the 1980s, with John Cameron, he developed Jackson System Development. Then, in the 1990s, he developed the Problem Frames Approach. As a part-time researcher at AT&T Labs Research, in collaboration with Pamela Zave, Jackson created "Distributed Feature Composition", a virtual architecture for specification and implementation of telecommunication services. Jackson received the Stevens Award for Software Development Methods in 1997. and British Computer SocietyLovelace Medal in 1998. In 1961, Jackson married Judith Wendy Blackburn; they have four sons, one of whom, Daniel, is also a computer scientist based at MIT.
Work
Jackson has developed a series of methods. Each of these methods covers a wider scope than the previous one, and builds on ideas that appeared, but were not fully developed, in the previous one. Reading his books in sequence allows you to follow the evolution of his thinking.
Jackson Structured Programming
was the first software development method that Jackson developed. It is a program design method, and was described in his book Principles of Program Design. JSP covers the design of individual programs, but not systems.
Jackson System Development
The Jackson System Development was the second software development method that Jackson developed. JSD is a system development method not just for individual programs, but for entire systems. JSD is most readily applicable to information systems, but it can easily be extended to the development of real-time embedded systems. JSD was described in his book System Development.
Problem Analysis or the Problem Frames Approach was the third software development method that Jackson developed. It concerns itself with aspects of developing all kinds of software, not just information systems. It was first sketched in his book Software Requirements and Specifications, and described much more fully in his book Problem Frames. The First International Workshop on Applications and Advances in Problem Frames was held as part of ICSE’04 held in Edinburgh, Scotland.
Publications
Michael Jackson's books include:
1975. Principles of Program Design.
1983. System Development .
1995. Software Requirements & Specifications .
1997. Business Process Implementation
2001. Problem Frames: Analysing and Structuring Software Development Problems .
Many of his essays have been collected, along with research papers relating to his work, in the book:
2010. Software Requirements and Design: The Work of Michael Jackson,Bashar Nuseibeh and Pamela Zave, editors.