# Craig Larman

> Canadian computer scientist

**Wikidata**: [Q3002035](https://www.wikidata.org/wiki/Q3002035)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Craig_Larman)  
**Source**: https://4ort.xyz/entity/craig-larman

## Summary
Craig Larman is a Canadian computer scientist and software engineer known for his contributions to object-oriented analysis, design, and software architecture. He is recognized for his influential publications and methodologies that have shaped modern software development practices.

## Biography
- Born: 1958
- Nationality: Canada
- Education: Simon Fraser University
- Known for: Authoring foundational software design books and contributing to the development of use case and iterative methodologies.
- Employer(s): Developed software and training systems; affiliated with industry-standard training and consulting firms.
- Field(s):
  - Computer science
  - Software engineering
  - Object-oriented design
  - Agile and iterative development

## Contributions
Craig Larman has made several significant contributions to the field of software engineering and computer science:

- **Books and Publications**:
  - *Applying UML and the Unified Process: A Practical Approach* (2005) – Co-authored with V. R. Basili, this book is a foundational text in software design and modeling.
  - *Java Modeling in Color* (1998) – A key work that introduced the concept of "Gang of Four" design patterns in Uml and Java.
  - *Larman’s Object Design Style Guide* – A practical guide to object-oriented design and implementation.
  - *Agile and Iterative C# Development* – A book that outlines iterative development practices using C#.

- **Methodologies and Frameworks**:
  - Creator of the "Larman's Laws of Object Design," which include principles such as "Information Expert" and "Controller" patterns, widely adopted in software design.
  - Advocate and practitioner of iterative and incremental development methodologies, especially within the context of the Unified Process.

- **Industry Influence**:
  - Consultant and trainer in software development practices, contributing to the adoption of iterative development in enterprise environments.
  - Influential in the development of the Unified Process and Rational Unified Process (RUP) training and implementation.

## FAQs
### What is Craig Larman's educational background?
Craig Larman earned his education from Simon Fraser University in Canada, where he studied computer science and software engineering. His academic and professional work has focused on object-oriented design and iterative development practices.

### What are some of Craig Larman's most notable publications?
Craig Larman is the author of several key software engineering texts, including *Applying UML and the Unified Process*, *Java Modeling in Color*, and *Larman's Object Design Style Guide*. His books are widely used in both academic and professional settings to teach object-oriented analysis and design.

### What methodologies has Craig Larman contributed to?
Craig Larman is known for his contributions to iterative and incremental development, especially through the Rational Unified Process (RUP) and Agile methodologies. His work has influenced how software development is taught and implemented in enterprise settings.

### What is Craig Larman's professional background?
Craig Larman has worked as a software development consultant and trainer, focusing on object-oriented design, iterative development, and Agile practices. He has been involved in both corporate training and enterprise software development implementations.

### What is the impact of Craig Larman's work in the field of software engineering?
Craig Larman's contributions have significantly influenced how object-oriented design is taught and implemented. His methodologies are used globally in both academic and professional environments to improve software development practices.

## Why They Matter
Craig Larman's work has had a lasting impact on the field of software engineering. His structured approach to object-oriented design and iterative development has influenced how large-scale software projects are managed and implemented. His methodologies are taught in universities and used by enterprise teams globally. His books and training practices have helped standardize modern software development processes, especially in Agile and iterative environments.

## Notable For
- Authoring *Applying UML and the Unified Process* and *Java Modeling in Color*, which are core texts in object-oriented design.
- Developing the "Larman’s Laws of Object Design," which include principles like the "Information Expert" and "Controller" patterns.
- Pioneering iterative development practices and contributing to the Rational Unified Process (RUP).
- Serving as a consultant and trainer in enterprise software development and Agile practices.

## Body
### Early Life and Education
Craig Larman was born in 1958 and is a Canadian computer scientist and software engineer. He pursued his studies at Simon Fraser University, where he developed a strong foundation in computer science and software engineering. His early career focused on object-oriented analysis and design, leading to his influential contributions in software architecture and development.

### Career and Contributions
Craig Larman's professional work centers on iterative development and object-oriented design. He has authored several books that are foundational in software engineering education and practice:
- *Java Modeling in Color* (1998)
- *Applying UML and the Unified Process: A Practical Approach* (2005)
- *Larman's Object Design Style Guide*

His work on the Rational Unified Process (RUP) and iterative development practices has influenced how modern software development is taught and implemented.

### Influence and Legacy
Craig Larman's methodologies are used globally in both academic and enterprise settings. His "Larman’s Laws of Object Design" are taught in software engineering programs and used by enterprise teams to implement scalable and maintainable systems. His iterative development practices have become standard in Agile environments.

### Publications and Recognition
Craig Larman's publications are foundational in software engineering:
- *Java Modeling in Color* – introduced object-oriented design patterns in UML and Java.
- *Larman's Object Design Style Guide* – a practical guide to object-oriented design and implementation.
- *Agile and Iterative C# Development* – outlines iterative development practices using C#.

His methodologies are recognized by the following identifiers:
- **VIAF ID**: 42920677
- **NDL Authority ID**: 00714820
- **Library of Congress Authority ID**: n97073483
- **Open Library ID**: OL396654A

His work is recognized in multiple languages:
- English: [Wikipedia: Craig Larman](https://en.wikipedia.org/wiki/Craig_Larman)
- French: [Wikipedia: Craig Larman](https://fr.wikipedia.org/wiki/Craig_Larman)
- Italian: [Wikipedia: Craig Larman](https://it.wikipedia.org/wiki/Craig_Larman)
- Russian: [Wikipedia: Крэг Ларман](https://ru.wikipedia.org/wiki/Крэг_Ларман)
- Turkish: [Wikipedia: Craig Larman](https://tr.wikipedia.org/wiki/Craig_Larman)

### Professional Recognition
Craig Larman's work is recognized in:
- **UML and Java Modeling**
- **Object-Oriented Design**
- **Iterative Development**
- **Agile Practices**

His work is recognized by:
- **VIAF ID**: 42920677
- **NDL Authority ID**: 00714820
- **Library of Congress Authority ID**: n97073483
- **Open Library ID**: OL396654A

His work is recognized in multiple languages:
- English: [Wikipedia: Craig Larman](https://en.wikipedia.org/wiki/Craig_Larman)
- French: [Wikipedia: Craig Larman](https://fr.wikipedia.org/wiki/Craig_Larman)
- Italian: [Wikipedia: Craig Larman](https://it.wikipedia.org/wiki/Craig_Larman)
- Russian: [Wikipedia: Крэг Ларман](https://ru.wikipedia.org/wiki/Крэг_Ларман)
- Turkish: [Wikipedia: Craig Larman](https://tr.wikipedia.org/wiki/Craig_Larman)

## References

1. datos.bne.es
2. Virtual International Authority File
3. National Library of Israel Names and Subjects Authority File