Chapter (PDF) Preface (PDF) Table of Contents (PDF) Richard H. Thayer ( Editor), Edward Yourdon Newly revised for , this second edition of Richard Thayer's popular, bestselling book presents a top-down, practical view of managing a successful This book is a must for all project managers in the software field. Software Engineering Project Management book. Read 2 reviews from the world's largest community for readers. Newly revised for , this second edition. Schwalbe. IT Project Management, Jack Marchewka. Software Engineering Project Management, edited by. Richard H. Thayer. Software Project Survival Guide.
|Language:||English, Spanish, French|
|ePub File Size:||15.76 MB|
|PDF File Size:||17.66 MB|
|Distribution:||Free* [*Register to download]|
Richard H. Thayer, Software Management Training LLC. DOWNLOAD PDF. Richard H. Thayer is a consultant and lecturer in software engineering and project. Software engineering project management - University of London. Richard Thayer s popular, bestselling book presents a top-down, practical view of managing a successful [PDF] Judicial Creativity At The International Criminal Tribunals. Definition of the Software Engineering Management . incorporates the notion of process and project management, we have and Richard H. Thayer (eds.).
The book builds a framework for project management activities based on the planning, organizing, staffing, directing, and controlling model. Thayer provides information designed to help you unde Newly revised for , this second edition of Richard Thayer's popular, bestselling book presents a top-down, practical view of managing a successful software engineering project. Thayer provides information designed to help you understand and successfully perform the unique role of a project manager. This book is a must for all project managers in the software field. The text focuses on the five functions of general management by first describing each function and then detailing the project management activities that support each function. This second edition shows you how to manage a software development project, discusses current software engineering management methodologies and techniques, and presents general descriptions and project management problems.
Prototyping[ edit ] Software prototyping, is the development approach of activities during software development, the creation of prototypes, i. The basic principles are:  Not a standalone, complete development methodology, but rather an approach to handling selected parts of a larger, more traditional development methodology i.
Attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process. User is involved throughout the development process, which increases the likelihood of user acceptance of the final implementation. While most prototypes are developed with the expectation that they will be discarded, it is possible in some cases to evolve from prototype to working system.
A basic understanding of the fundamental business problem is necessary to avoid solving the wrong problem. Incremental development[ edit ] Various methods are acceptable for combining linear and iterative systems development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process.
The basic principles are:  A series of mini-Waterfalls are performed, where all phases of the Waterfall are completed for a small part of a system, before proceeding to the next increment, or Overall requirements are defined before proceeding to evolutionary, mini-Waterfall development of individual increments of a system, or The initial software concept, requirements analysis, and design of architecture and system core are defined via Waterfall, followed by iterative Prototyping, which culminates in installing the final prototype, a working system.
Spiral development[ edit ] The spiral model. The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.
The basic principles are:  Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle.
Rapid application development is a term originally used to describe a software development process introduced by James Martin in The basic principles are:  Key objective is for fast development and delivery of a high quality system at a relatively low investment cost. Aims to produce high quality systems quickly, primarily via iterative Prototyping at any stage of development , active user involvement, and computerized development tools.
Key emphasis is on fulfilling the business need, while technological or engineering excellence is of lesser importance. If the project starts to slip, emphasis is on reducing requirements to fit the timebox, not in increasing the deadline. Generally includes joint application design JAD , where users are intensely involved in system design, via consensus building in either structured workshops, or electronically facilitated interaction.
Active user involvement is imperative. Iteratively produces production software, as opposed to a throwaway prototype. Produces documentation necessary to facilitate future development and maintenance. Standard systems analysis and design methods can be fitted into this framework. Other practices[ edit ] Other methodology practices include: Object-oriented development methodologies, such as Grady Booch's object-oriented design OOD , also known as object-oriented analysis and design OOAD.
The Booch model includes six diagrams: class, object, state transition, interaction, module, and process.
UP organizes the development of software into four phases, each consisting of one or more executable iterations of the software at that stage of development: inception, elaboration, construction, and guidelines. Many tools and products exist to facilitate UP implementation. Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve via collaboration between self-organizing cross-functional teams. The term was coined in the year when the Agile Manifesto was formulated.
Integrated software development refers to a deliverable based software development framework using the three primary IT project management, software development, software testing life cycles that can be leveraged using multiple iterative, waterfall, spiral, agile software development approaches, where requirements and solutions evolve via collaboration between self-organizing cross-functional teams.
A view model is framework which provides the viewpoints on the system and its environment, to be used in the software development process. It is a graphical representation of the underlying semantics of a view. The purpose of viewpoints and views is to enable human engineers to comprehend very complex systems, and to organize the elements of the problem and the solution around domains of expertise.
In the engineering of physically intensive systems, viewpoints often correspond to capabilities and responsibilities within the engineering organization. Furthermore, we all have different interests in a given system and different reasons for examining the system's specifications. A business executive will ask different questions of a system make-up than would a system implementer. The concept of viewpoints framework, therefore, is to provide separate viewpoints into the specification of a given complex system.
These viewpoints each satisfy an audience with interest in some set of aspects of the system. Associated with each viewpoint is a viewpoint language that optimizes the vocabulary and presentation for the audience of that viewpoint. Business process and data modelling[ edit ] Graphical representation of the current state of information provides a very effective means for presenting information to both users and system developers.
By depicting activities and information flows, a foundation is created to visualize, define, understand, and validate the nature of a process. A data model provides the details of information to be stored, and is of primary use when the final product is the generation of computer software code for an application or the preparation of a functional specification to aid a computer software make-or-buy decision.
See the figure on the right for an example of the interaction between business process and data models. The interview consists of a facilitator asking a series of questions designed to extract required information that describes a process. The interviewer is called a facilitator to emphasize that it is the participants who provide the information.
The facilitator should have some knowledge of the process of interest, but this is not as important as having a structured methodology by which the questions are asked of the process expert.
The methodology is important because usually a team of facilitators is collecting information across the facility and the results of the information from all the interviewers must fit together once completed.
Generation of process and data models can be used to determine if the existing processes and information systems are sound and only need minor modifications or enhancements, or if re-engineering is required as a corrective action. The creation of business models is more than a way to view or automate your information process.
Analysis can be used to fundamentally reshape the way your business or organization conducts its operations. The CASE functions include analysis, design, and programming.
CASE tools automate methods for designing, documenting, and producing structured computer code in the desired programming language. Typical CASE tools exist for configuration management, data modeling, model transformation, refactoring, source code generation, and Unified Modeling Language. An IDE normally consists of a: source code editor, build automation tools, and debugger usually. We are what we repeatedly do.
Excellence, then, is not an act but a habit. Attributed to Aristotle in: K.
Ramakrishna Essentials of. Project Management. Aristotle Ethics. Book 1 - 1C4; cited in: Peter W. Morris, Jeffrey K. In modern language Aristotle here wrote that "Defining the question is half the answer".
It is a problem in management and a business in itself, with its own procedures and its own opportunities for blunder and oversight by the inexperienced Medium and small size process industry firms almost always, and the all largest sometimes, find it necessary and profitable to engage the service of outside engineers to help with their projects. Project management is the very business of the consulting and engineering company just as the manufacture and sale of certain products is the very business of the process industry firm.
The consulting and engineering company is constantly engaged in project management on a variety of jobs and is constantly studying and striving to improve its methods; it is but natural that they bring to the project experience, ability and facilities not possessed by the process industry firm.
To the latter, the project is an activity incidental to their main goals. Project management is not part of their main business, and they cannot afford to divert their time and attention from their chief responsibilities, where they are efficient, to the specialized job of project management, where they are likely to be inefficient.
David Gordon Article "Project Engineering". In: Chemical engineering Vol 57, Nr This also means that estimates for development projects representing only 'modest advances' tend to be better than for more ambitious projects.
Marshall and W. Bud Porter-Roth Proposal Development. It has within its structure all the necessary specialized skills to provide complete engineering capabilities and it also has the ability to carry on its own laboratory investigations, preparation of drawings, and model or prototype manufacture.
Penton Publishing Company, Cleveland Automation. Vol 2. March p. January , p.
Competition is apparent at only the grossest level, between the U. John Stanley Baumgartner Project management. He should have sufficient authority to increase or decrease his staff as necessary throughout the life of the project. This authorization should include selective augmentation for varying periods of time from the supporting functional areas. David I. Cleland At what point in time do the changes in David I. Cleland and William R. King Systems Analysis and Project Management.
New York: mcgraw-Hill, p. The project manager, however, may have to accomplish his ends through the efforts of individuals who are paid and promoted by someone else in the chain of command. The pacing factor in acquiring a new plant, in building a bridge, or in developing a new product is often not technology, but management. The technology to accomplish an ad hoc project may be in hand but cannot be put to proper use because the approach to the management is inadequate and unrealistic.
Too often this failure can be attributed to an attempt to fit the project to an existing management organization, rather than molding the management to fit the needs of the project.
The project manager, therefore, is somewhat of a maverick in the business world. No set pattern exists by which he can operate. His philosophy of management may depart radically from traditional theory. Cleland, William Richard King Systems, organizations, analysis, management: a book of readings.
These situations require a different attitude on the part of the top management, the undivided attention of a project manager and different methods for control and communications than those used in the normal routine business situation Pure project management assigns complete responsibility for the task and resources needed for its accomplishment to one project manager.