Donald Firesmith

Last updated
Donald Firesmith
Donald Firesmith.jpg
Donald Firesmith in 2006
Born (1952-06-14) June 14, 1952 (age 72)
Oklahoma City, Oklahoma
NationalityAmerican
CitizenshipUnited States
Alma mater Arizona State University
Known forMethod Framework for Engineering System Architectures, Method engineering
Scientific career
Fields System engineering, software engineering, Requirements engineering, method engineering, and object-oriented design
Institutions Software Engineering Institute

Donald G. Firesmith (born June 14, 1952) is an American software engineer, consultant, and trainer at the Software Engineering Institute.

Contents

Biography

Firesmith received his B.A. in Mathematics and German from Linfield College in 1975 and his M.A. in Mathematics from Arizona State University in 1977. He also studied one year at Ludwig Maximilian University of Munich.

Firesmith started working in the computer business as a software developer in 1979 and has been quality engineer, configuration manager, and data manager for Computer Science Corporation in the US, Germany, and Switzerland. From 1984 to 1988 he was an OO methodologist at Magnavox Electronic Systems Corporation. And from 1988 to 1995 he was President of Advanced Software Technology Specialists, a small consulting and training company.

From 1994 to 1997 he has been an acquisition editor and editor and chief of Reference Books at SIGS Books. And further he was a Senior advisory software engineer at StorageTek, where he worked as a technical leader, requirements engineer, and software architect, Chief architect Lante Corporation, which specialized in producing eMarketplaces, and Chief architect for the North American Business Unit of Cambridge Technology Partners. From 2003 through 2020, he was a Principal Engineer at the Software Engineering Institute where he works in the Client Technical Solutions Software Solutions Division helping the United States Government acquire software-intensive systems. [1] Since retiring in 2020, he has been a full-time novelist.

Firesmith was named a Distinguished Engineer by the Association for Computing Machinery in 2015. [2]

Work

Method Engineering (ME) and Open Process Environment and Notation (OPEN)

Firesmith is a co-founder with Brian Henderson-Sellers and Ian Graham of the international OPEN Consortium. [3] [4] [5] Firesmith was the principal developer of the OPEN Modeling Language. [6] Firesmith is the founder of the OPEN Process Framework Repository Organization and the developer of its large repository of free, open-source, reusable method components. [7]

The OPEN approach to software development is founded on situational method engineering (SME). This is a means by which a software development team can construct a method and process that is appropriate for their own particular situation or circumstances. [8] [9] [10] Fragments of methods, conformant with an international software engineering metamodel [11] standard such as ISO/IEC 24744 and stored in a repository, are individually selected and the method composed from these method fragments. The SME approach is based on research by many groups worldwide – results from a recent conference are published. [12]

Method Framework for Engineering System Architectures (MFESA)

Firesmith is the primary developer of the Method Framework for Engineering System Architectures (MFESA). [13] [14] This framework consists of the following:

Publications

He is the author of several technical books in system and software engineering as well as numerous technical articles, conference papers, and tutorials [15] A selection:

Firesmith is also the author of several modern paranormal fantasy, apocalyptic science fiction, action and adventure novels:

Related Research Articles

<span class="mw-page-title-main">Kent Beck</span> American software engineer

Kent Beck is an American software engineer and the creator of extreme programming, a software development methodology that eschews rigid formal specification for a collaborative and iterative design process. Beck was one of the 17 original signatories of the Agile Manifesto, the founding document for agile software development. Extreme and Agile methods are closely associated with Test-Driven Development (TDD), of which Beck is perhaps the leading proponent.

<span class="mw-page-title-main">Martin Fowler (software engineer)</span> American software developer, author and public speaker

Martin Fowler is a British software developer, author and international public speaker on software development, specialising in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software, while preserving its functionality. Potential advantages of refactoring may include improved code readability and reduced complexity; these can improve the source code's maintainability and create a simpler, cleaner, or more expressive internal architecture or object model to improve extensibility. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory.

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.

<span class="mw-page-title-main">Software architecture</span> High level structures of a software system

Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

In software engineering, a design pattern describes a relatively small, well-defined aspect of a computer program in terms of how to write the code.

Model-driven architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.

<span class="mw-page-title-main">Grady Booch</span> American software engineer

Grady Booch is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh. He is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments.

<span class="mw-page-title-main">Zachman Framework</span> Structure for enterprise architecture

The Zachman Framework is an enterprise ontology and is a fundamental structure for enterprise architecture which provides a formal and structured way of viewing and defining an enterprise. The ontology is a two dimensional classification schema that reflects the intersection between two historical classifications. The first are primitive interrogatives: What, How, When, Who, Where, and Why. The second is derived from the philosophical concept of reification, the transformation of an abstract idea into an instantiation. The Zachman Framework reification transformations are: identification, definition, representation, specification, configuration and instantiation.

<span class="mw-page-title-main">Ivar Jacobson</span> Swedish computer scientist and software engineer

Ivar Hjalmar Jacobson is a Swedish computer scientist and software engineer, known as a major contributor to UML, Objectory, Rational Unified Process (RUP), aspect-oriented software development, and Essence.

<span class="mw-page-title-main">Metamodeling</span> Concept of software engineering

A metamodel is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction, and development of the frames, rules, constraints, models, and theories applicable and useful for modeling a predefined class of problems. As its name implies, this concept applies the notions of meta- and modeling in software engineering and systems engineering. Metamodels are of many types and have diverse applications.

Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, such as computer software. It involves systematic use of a domain-specific language to represent the various facets of a system.

<span class="mw-page-title-main">Systems architecture</span> Conceptual model of a system

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.

Brian Henderson-Sellers is an English computer scientist residing in Sydney, Australia, and Professor of Information Systems at the University of Technology Sydney. He is also Director of the Centre for Object Technology and Applications at University of Technology Sydney.

Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. DDD is against the idea of having a single unified model; instead it divides a large system into bounded contexts, each of which have their own model.

Enterprise engineering is the body of knowledge, principles, and practices used to design all or part of an enterprise. An enterprise is a complex socio-technical system that comprises people, information, and technology that interact with each other and their environment in support of a common mission. One definition is: "an enterprise life-cycle oriented discipline for the identification, design, and implementation of enterprises and their continuous evolution", supported by enterprise modelling. The discipline examines each aspect of the enterprise, including business processes, information flows, material flows, and organizational structure. Enterprise engineering may focus on the design of the enterprise as a whole, or on the design and integration of certain business components.

A metaCASE tool is a type of application software that provides the possibility to create one or more modeling methods, languages or notations for use within the process of software development. Often the result is a modeling tool for that language. MetaCASE tools are thus a kind of language workbench, generally considered as being focused on graphical modeling languages.

In software engineering, a software development process or software development life cycle is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

<span class="mw-page-title-main">Method engineering</span> Term

Method engineering in the "field of information systems is the discipline to construct new methods from existing methods". It focuses on "the design, construction and evaluation of methods, techniques and support tools for information systems development".

<span class="mw-page-title-main">INGENIAS</span>

INGENIAS is an open-source software framework for the analysis, design and implementation of multi-agent systems (MAS).

References

  1. Staff page for Donald Firesmith on the SEI Website Retrieved 2009-09-23.
  2. ACM Distinguished Member Awards Archived 2014-06-09 at the Wayback Machine Retrieved 2016-09-18.
  3. What is OPEN? A brief description of the founding of the OPEN Consortium. Retrieved 2009-09-23.
  4. Brian Henderson-Sellers and Donald Firesmith, The OPEN Process Framework, Addison-Wesley Longman, ISBN   0-201-67510-2, 2001
  5. The Open Alternative, Object Expert, Volume 2 part 1, pp 14–15, Nov/Dec 1996, SIGS Publications
  6. Donald Firesmith, Brian Henderson-Sellers and Ian Graham, OPEN Modeling Language (OML) Reference Manual, Cambridge University Books, ISBN   1-884842-75-5, 1998
  7. OPFRO Chair Retrieved 2009-09-24.
  8. Henderson-Sellers, B. and Serour, M.K., 2005, Creating a dual agility method – the value of method engineering, J. Database Management, 16(4), 1–24
  9. Henderson-Sellers, B. and Qumer, A., 2007, Using method engineering to make a traditional environment agile, Cutter IT Journal, 20(5), 30–37; Republished as Chapter 5 (pp. 61–74) in Fostering Innovation on the Agile Frontier, 2008, Cutter Consortium report, 140pp
  10. M. Bajec, D. Vavpotic and M. Krisper, 2007. Practice-driven approach for creating project-specific software development methods. Information and Software Technology 49, 345–365
  11. Gonzalez-Perez, C. and Henderson-Sellers, B., 2008, Metamodelling for Software Engineering, J. Wiley & Sons, Chichester, 210pp
  12. Ralyté, J.; Brinkkemper, S. and Henderson-Sellers, B. (eds.), 2007, Situational Method Engineering: Fundamentals and Experiences. Proceedings of the IFIP WG 8.1 Working Conference, 12–14 September 2007, Geneva, Switzerland, IFIP Series, Vol. 244, Springer, Berlin, 380pp
  13. Donald Firesmith with Peter Capell, Dietrich Falkenthal, Charles B. Hammons, DeWitt T. Latimer IV, and Tom Merendino, The Method Framework for Engineering System Architectures, Auerbach Publication, ISBN   978-1-4200-8575-4, 2008, pp. 51–61
  14. Method Framework for Engineering System Architectures (MFESA), tutorial at the 2009 System and Software Technology Conference (SSTC'2009), April 2009. Retrieved 2009-09-23.
  15. List of publications from the DBLP Bibliography Server Retrieved 2009-09-23.