Donald Firesmith

Last updated
Donald Firesmith
Donald Firesmith.jpg
Donald Firesmith in 2006
Born (1952-06-14) June 14, 1952 (age 71)
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 computer 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 software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.

Software development is the process used to conceive, specify, design, program, document, test, and bug fix in order to create and maintain applications, frameworks, or other software components. Software development involves writing and maintaining the source code, but in a broader sense, it includes all processes from the conception of the desired software through the final manifestation, typically in a planned and structured process often overlapping with software engineering. Software development also includes research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

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">Ivar Jacobson</span>

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.

<span class="mw-page-title-main">Component-based software engineering</span> Branch of software engineering

Component-based software engineering (CBSE), also called component-based development (CBD), is a style of software engineering that aims to build software out of loosely-coupled, modular components. It emphasizes the separation of concerns among different parts of a software 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.

<span class="mw-page-title-main">System Architect</span> Enterprise architecture tool

Unicom System Architect is an enterprise architecture tool that is used by the business and technology departments of corporations and government agencies to model their business operations and the systems, applications, and databases that support them. System Architect is used to build architectures using various frameworks including TOGAF, ArchiMate, DoDAF, MODAF, NAF and standard method notations such as sysML, UML, BPMN, and relational data modeling. System Architect is developed by UNICOM Systems, a division of UNICOM Global, a United States-based company.

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.

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 (SDLC) 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">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.