Pasadena, California, United States
|Awards||British Computer Society Honorary Fellow (2012)|
Tom Gilb (full name "Thomas Steven Gilb", born 1940) is an American systems engineer, consultant, and author, known for the development of software metrics, software inspection, and evolutionary processes.
Tom Gilb was born in 1940 in Pasadena, California, United States. He emigrated to the United Kingdom in 1956 and to Norway in 1958. He took his first job with IBM in 1958 and became a freelance consultant in 1960.
He is known for his early work on evolutionary software development processesfrom 1968 to 1981, which was a forerunner of agile software development methods.
He is currently[ when? ] a consultant, teacher and author, in partnership with his son Kai Gilb. He mainly helps multinational clients improve their organizations and methods by using "evolutionary systems delivery" (Evo). His method is based upon the core ideas that all architecture focus has to be on delivering value to the stakeholders and that engineering principles and scientific methods must be used in planning and management of change projects using a formal engineering language like the one that he has developed and named "Planguage". He has "guest lectured at universities all over UK, Europe, China, India, USA, Korea – and has been a keynote speaker at dozens of technical conferences internationally".
He is a member of INCOSE and is active in the Norwegian chapter, NORSEC, which presented him with an award in 2003.[ citation needed ] He lectures at INCOSE local chapters on his worldwide travels and at INCOSE conferences.
In 2012 he was made an Honorary Fellow of the British Computer Society.
Gilb has written nine books and several articles. A selection includes:
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their life cycles. At its core, systems engineering utilizes systems thinking principles to organize this body of knowledge. The individual outcome of such efforts, an engineered system, can be defined as a combination of components that work in synergy to collectively perform a useful function.
The waterfall model is a breakdown of project activities into linear sequential phases, meaning they are passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. The approach is typical for certain areas of engineering design. In software development, it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance. The waterfall model is the earliest SDLC approach that was used in software development.
Michael Anthony Jackson 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.
Bertrand Meyer is a French academic, author, and consultant in the field of computer languages. He created the Eiffel programming language and the idea of design by contract.
Barry William Boehm was an American software engineer, distinguished professor of computer science, industrial and systems engineering; the TRW Professor of Software Engineering; and founding director of the Center for Systems and Software Engineering at the University of Southern California. He was known for his many contributions to the area of software engineering.
The following outline is provided as an overview of and topical guide to software engineering:
In software development, agile practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s), adaptive planning, evolutionary development, early delivery, continual improvement, and flexible responses to changes in requirements, capacity, and understanding of the problems to be solved. Popularized in the 2001 Manifesto for Agile Software Development, these values and principles were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.
In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high-level requirements?"
Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering.
The V-model is a graphical representation of a systems development lifecycle. It is used to produce rigorous development lifecycle models and project management models. The V-model falls into three broad categories, the German V-Modell, a general testing model and the US government standard.
Tom DeMarco is an American software engineer, author, and consultant on software engineering topics. He was an early developer of structured analysis in the 1970s.
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requirement is a capability to which a project outcome should conform.
A system architecture is the conceptual model that defines the structure, behavior, and more views of a system. An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system.
Quality engineering is the discipline of engineering concerned with the principles and practice of product and service quality assurance and control. In software development, it is the management, development, operation and maintenance of IT systems and enterprise architectures with a high quality standard.
Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.
Universal Systems Language (USL) is a systems modeling language and formal method for the specification and design of software and other complex systems. It was designed by Margaret Hamilton based on her experiences writing flight software for the Apollo program. The language is implemented through the 001 Tool Suite software by Hamilton Technologies, Inc. USL evolved from 001AXES which in turn evolved from AXES all of which are based on Hamilton's axioms of control. The 001 Tool Suite uses the preventive concept of Development Before the Fact (DBTF) for its life-cycle development process. DBTF eliminates errors as early as possible during the development process removing the need to look for errors after-the-fact.
Jacobus Nicolaas (Sjaak) Brinkkemper is a Dutch computer scientist, and Full Professor of organisation and information at the Department of Information and Computing Sciences of Utrecht University.
Donald G. Firesmith is an American software engineer, consultant, and trainer at the Software Engineering Institute.
Vitech Corporation is a systems engineering company responsible for the development and management of two model-based systems engineering tools, GENESYS and CORE. Vitech products have a range of applications and have been used for program management by the U.S. Department of Energy, for railway modernization and waste management in Europe, and for space station and ground-based air defense system development in Australia. In an effort to promote the study of model-based systems engineering, Vitech partners with universities throughout the United States, providing them with its software for instructional and research purposes.