| Expert Talk Free Expert Tips and Advices |
The Ratio of Analysts to Programmers"Good specifications will improve programmer productivity far better than any programming tool or technique."- Bryce's Law INTRODUCTION In terms of systems development, during the 1960's and early 1970's you were e While programming was gro Although programming excelled, a noticeable void began to appear in terms of people who could see systems in its totality. Writing a good program is one thing, getting it to interface with other programs to form a whole system is something entirely different. By the turn of the century, the industry started to talk about such things as "Enterprise Architecture," "Business Processes," "Business Rules," "Business Analysis," etc. Further, new conferences, trade groups, and job titles began to emerge. Today, programmers are considered a dime a dozen and the stock of a true analyst is on the rise. All of this is indicative of the industry trying to reinvent systems theory. In reality there is nothing new here as systems analysis is systems analysis. But as companies implement these concepts and job titles again, they are a bit uncertain as to where they fit in and their relationship to other Information Technology functions. CHARACTERISTICS A Systems Analyst goes by many names these days; e.g., Business Analyst, Enterprise Architect, Systems Engineer (my personal preference), etc. Nonetheless, we are talking about a person whose mission is to study the information requirements of a business and design a total system solution to satisfy them. Further, the analyst is responsible for specifying the software requirements and, as such, is considered the intermediary with the programming staff. The personal characteristics of the analyst are considerably different than the programmer. Whereas the programmer tends to be more introverted and focused on technology, the analyst tends to be more business oriented and extroverted. Analysts possess good communications skills (verbal and written) to effectively work with both the end-users and the programming staff. They know how to conduct an interview and make a presentation (salesmanship). In addition, they tend to look at the bigger picture as opposed to just a portion of it, and possess an entrepreneurial spirit. The analyst understands the business problems of the end-user and is intimate with the operation of the user's department. In other words, the analyst can comfortably walk in the shoes of the end-user. If they are doing their job properly, analysts make excellent candidates to assume responsibility in the management hierarchy. But because analysts were in decline for so many years, this hasn't happened for quite some time. The last time I heard of a systems analyst graduating to a major management position was Dan Boone who was made President and COO of Armco Steel in the late 1970's. If systems analysis is performed correctly, programmer productivity should improve as analysts should be providing good specifications for application assignments. In the absence of systems analysts, considerable time is lost by the programmer who has to second-guess what the end-user wants. Inevitably, this leads to rewriting software over and over again. Good data and processing specs, as provided by a systems analyst, will improve programmer productivity far better than any programming tool or technique. This means programmers are the beneficiaries of good systems analysis. This brings up an interesting point, what should be the ratio of Systems Analysts to Programmers in a development organization? Frankly, I believe there should be twice as many analysts than programmers. By concentrating on the upfront work, programming is simplified. Let me illustrate the point by using the following triangles representing the total amount of effort in a project (as an aside, I picked this up from my customers in Japan who share my opinion), see: http://www.phmainstreet.com/mba/blog/ss060724.jpg The triangle on the left represents the traditional approach whereby there is twice the number of programmers to systems analysts. Under this approach, considerably more time is spent producing software to satisfy poorly defined requirements. The Japanese point out the bottom of the triangle is actually bottomless as it means more time is needed to complete a project. Compare it to the triangle on the right where there are twice as many analysts to programmers. Under this scenario, more time is spent analyzing the problem, designing the system, and producing better programming specs. Consequently, the programmers do not have to second-guess what has to be performed and can go about their work more productively. The problem with the diagram on the right though is that Systems Analysis is considered to be somewhat of a nebulous concept to management. Programming, on the other hand, is more tangible and easier for people to grasp; you are either writing code and producing a program or you are not. Therefore, the mindset in management is that you are not being productive unless you are coding, hence the inclination to shortcut systems analysis. This is a key reason why Systems Analysis collapsed in the 1980's. And this is why it is necessary to provide training so management appreciates the need for systems analysis. Frankly, I have found management can be very supportive if it is presented to them properly. CONCLUSION Whether you call them Systems Analysts, Business Analysts, Systems Engineers, or Enterprise Architects, it is very encouraging to see this vital function being reintroduced to companies. As far as I am concerned, it was inevitable. I guess companies finally figured out you cannot satisfy your systems problems simply by using better programming tools and techniques. We are also beginning to see the resurgence of related trade groups to replace such groups as the Association for Systems Management (ASM), for example: The International Institute of Business Analysis The IIBA appears to be picking up where ASM left off, including certification. Whereas ASM developed and offered the Certified Systems Professional (CSP) certification years ago, IIBA wants to create something similar. All of this is indicative of how the industry is trying to reinvent systems theory. Whereas such systems work was well known up until the 1980's it was forgotten over the last twenty years due to the emphasis on programming. Fortunately, companies have finally realized the importance of systems work and are trying to get their houses in order. I guess what goes around, comes around. Source: Free Online Articles from ArticlesBase.com Source: Free Online Articles from ArticlesBase.com Tim Bryce is the Managing Director of M. Bryce & Associates (MBA) of Palm Harbor, Florida, a management consulting firm specializing in Information Resource Management (IRM). Mr. Bryce has over 30 years of experience in the field. He is available for training and consulting on an international basis. His corporate web page is at: He can be contacted at: timb001@phmainstreet.com Copyright © 2006 MBA. All rights reserved. Permalink: http://expert-talk.com/tips/649/the-ratio-of-analysts-to-programmers-164649.htm Related Tips and Advices
| Related Tags |
SEND A COMMENT
PLEASE READ: All comments must be approved before appearing in the thread; time and space constraints prevent all comments from appearing. We will only approve comments that are directly related to the article, use appropriate language and are not attacking the comments of others.