Most Helpful Customer Reviews
4.0 out of 5 stars
Good book for managers planning their transition to OO, May 20, 2002
This review is from: Transition to Object-Oriented Software Development (Hardcover)
I am currently working on a research project focused on the same area, The IT organizational transitioning to Object Oriented software development environment. From my experience and through my research, I found this book is a much-needed book in the area of ?transition? to object-orientation. Various authors have considered words such as adoption and diffusion to indicate the manner in which object-technology should be used. What has been missing is the discussion on how to move the existing organization to the ?new? or object-oriented way of executing software projects. This book satisfies the crucial need of discussion the transition issues. Ch 1 of the book starts off with some basic discussion on the importance of object technology, and clarification of some commonly used but potentially confusing terms. This sets the scene for planning for transition, a crucial aspect of any process, as outlined in chapter 2. Challenges of moving to OO (page 35) provides the starting point for further brainstorming by project teams, each identifying their own challenges in addition to the ones that the authors have identified. The various types of plans, their significance and the role they will play in transition are discussed in chapter 3. However, chapter 4, according to me, forms part of the most important discussion in any transition ? that of cultural change. Change and culture are challenging topics in their own right. The authors have done an excellent job of combining the two, in the context of OO transition. The suggestion of nominating ?Change champions? (page 71) is invaluable, as such champions provide the necessary ?catalysis? for the transition process. The authors maintain their foresight through chapters 5 and 6 ? an example being chapter 6, section 6.2, wherein they correctly suggest selection of a ?method? BEFORE selecting a CASE tool, which, in my opinion, has saved many organizations the pains and confusion resulting out of bringing the two together at the same time. While chapters 7 through 10 do not contain anything dramatic about them, they still maintain the consistent theme of ?transition? in them. Chapter 13 emphasizes the need for documenting the development process, and steps, templates and metrics discussed there, as well as in chapter 14, are most helpful to a practitioner. Personally, I don?t think chapter 15 brings anything new to the reader, but it is a timely reminder on the inspections aspect of testing OO products.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
4.0 out of 5 stars
Very Good Book, February 28, 2001
By A Customer
This review is from: Transition to Object-Oriented Software Development (Hardcover)
This book presents a thorough guidance about how to manage the difficult process of transitioning from conventional software development to object-oriented software development. Today, object orientation brings several promises and pitfalls, however, it does not eliminate the need of programming/design skills, rather, the paradigm usually demands an even stronger knowledge and experience. As the authors state, the growing tendency to use third-part components requires of suitable design structures able to support these components. Hence, objects are becoming more and more a real need in terms of cost and added value. Moreover, it places object-oriented frameworks in an important position, as a practical way to express reusable designs and capture the essence of patterns, algorithms, components and architectures. Regarding users and non-programmers, the authors argue that object-oriented technologies can make system analysis and design more accessible by reducing semantic gaps. This argument can be partially true for some projects, but it should be taken carefully because the inherent complexity of the object paradigm is far more complicated than other software development approaches. In my opinion, we can just say that objects promote better software quality, but their conceptual simplicity is more likely to be a myth. Software development planning is seen as a critical component within the framework. Planning appears as a dynamic activity that serves as a controlling document for managing the software development project. In this context, it is important to stress the notion of business plan, to specify how the company will make money, the assumptions about the business environment, and the risk factors involved in the project. The authors refer also to the different roles in this process, and describe some standards such as ISO 9000 and the CMM model. Furthermore, the tips and practical advice included at the end of the sections result very useful to complement the theory. The book also talks about the well-known issue of dealing with culture changes, and gives a list of possible ways of selling change (with object orientation) minimizing the risks. The effects of these changes on the development team can be tough, and they should be balanced. As example of this situation, software engineers who where proficient at procedural programming may tend to spend more time on implementation issues than on object design, while developers who were familiar with data modeling may tend to develop more elaborate object models. In this line, some key responsibilities of people in the team are mentioned (for instances: a domain analyst, a prototyping expert, a distributed object applications expert, and a framework developer), in order to direct the staffing and organization of the project. Nonetheless, despite the author's suggestions, change will be a very uncomfortable activity for sure. In brief, the book outlines the basics of planning and some practices to promote change. Those readers looking for a more complete treatment of the subject should complement this information with other sources. When it comes to technical issues, the authors discuss the role of object-oriented techniques and CASE tools supporting these techniques. The selection of these techniques/tools will depend on how they simplify the decomposition of systems into manageable pieces, how they provide a consistent way of proceeding through the software development process, domain considerations, and graphical facilities, among others. As one of the most interesting contributions of this part, the authors propose a process for evaluating tools on the basis of criteria such as utility, extensibility, flexibility, usability and completeness. Then, they move to some topics about strategies for legacy systems, maintenance and reuse. In this context, the book remarks the benefits of reusability and how it affects budgeting. Several tradeoffs about initial investment and development of specific components/frameworks versus usage of third-part components/framework are covered. At the end, it is argued that the development should be oriented towards engineering adaptability. Personally, I think the technical contents included in these sections are the soundest part of the book. Finally, the book goes through some conventional project management activities considered from the viewpoint of object orientation. In this line, activities such as project tracking and control, documentation of the development process, software metrics and inspection of software products are explored. Although there is nothing really new in this part, all these activities work together under the concept of processes as baseline for improving software quality. Processes will guide project evolution, documentation and inspection. Moreover, the definition and measuring of these processes (more important than measuring people or code) is a crucial aspect to be successful at object-oriented software development. As regards software metrics, they are useful as they can be applied to repeatable processes in order to take decision about the project. A valuable template for documenting these metrics is included. Related with this matter, the realization of inspections to remove defects early and to avoid rework is encouraged, providing some recommendations for their application. It is important to note that all these improvements are not a minor factor in the budget of the projects, rather they usually involve a significant part of the overall investment. On the whole, the book provides a comprehensive walk trough the most important aspects that should be taken into account to move towards object-oriented development. It is mainly directed to organization leaders, software managers, and people not very familiar with object technologies, who have had some experience in conventional software development. The sections are coherently organized, and the style is very fluent with profusion of diagrams and tables illustrating the concepts presented. The inclusion of tips and practical advice fit properly in this context. I think the book is a very good introductive reading for those who want to foster the unsettling process of object-oriented software development.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
5.0 out of 5 stars
An excellent resource!, October 1, 1999
By A Customer
This review is from: Transition to Object-Oriented Software Development (Hardcover)
This is an excellent resource for those organizations (and individuals) who are experienced in traditional software development and would like to consider the more modern object-oriented approach. The authors clearly describe the culture, mentality, and the process. I have myself published about the subject, but this is a relatively comprehensive and complete book that describes and illustrates the transition rather elegantly. Not only I would recommend the book as a textbook for the university teaching and students, but I also recommend it to software engineering professionals and organizations. I frequently use it for consulting and to complement my teaching and training classes.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|
|
Most Recent Customer Reviews
|