British computer scientist
Michael Anthony Jackson (born 16 February 1936) is a British computer scientist, and independent computing consultant in London, England. He is also a visiting research professor at the Open University in the UK.
Biography.
Born in Birmingham to Montagu M. Jackson and Bertha (Green) 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 (known as "Greats") 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 a "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 (JSP). In the 1980s, with John Cameron, he developed Jackson System Development (JSD). Then, in the 1990s, he developed the Problem Frames Approach. 
As a part-time researcher at AT&amp;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 Society Lovelace Medal in 1998. He received the ACM SIGSOFT Outstanding Research Award in 2001.
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.
Jackson Structured Programming (JSP) 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 (JSD) 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 Frames Approach.
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:
Many of his essays have been collected, along with research papers relating to his work, in the book:
References.
 ;templatestyles src="Reflist/styles.css" / ;