Problems with Object Oriented System Analysis and Design
Form And Substance
Project managers and programmers may confuse style with substance. Some developers and managers today believe that OOAD simply means defining classes, objects, and methods. It is like what happened when structured programming development became popular. Developers and managers at first thought that structured development simply meant that one had to remove GOTO statements and increase the use of subroutines. While these steps helped, they were just surface features of a deeper group of more significant principles.
Implications of OOAD
Managers and developers may not recognize all the implications of OOAD. They often assume that using OOAD will eliminate development bottlenecks. This is due to expectations that OOAD will reduce the complexity of programs and will provide architectural modularity. This different approach to architecture may work better with different management and scheduling techniques.
Abandonment of Traditional Design Processes
Managers may be tempted to ignore or abandon traditional software design and engineering processes. OOAD is often adopted because of the promise of increased productivity coupled with a shortened development schedule. However, a sufficient amount of development time is often not allowed that will make sure the design processes are followed correctly. This may actually result in bigger problems. These include missed deadlines, schedule slippage, and project failures.
Insufficient OOAD Training
Finally, one of the disadvantages of object oriented analysis and design is that developers may get some education about OOAD, but not enough. A false sense of programming confidence may stem from just reading articles, or even a book, or taking a class in it. Programmers will need time to immerse themselves in the nuances of OOAD.