The business of building systems has changed. A time once existed when computer literacy, technical know-how, and programming skills were all it took to become a successful information systems professional. In many companies, this is still the case. But slowly, yet steadily, a new breed of systems professional is beginning to emerge. Technical skills are no longer enough. Business knowledge, communication ability, and a client centered perspective are becoming more and more important. With computer systems playing an ever increasing role in the management and the competitiveness of companies of all sizes, the information systems professional no longer just serves the company, in many case he or she has a major influence on the way business is conducted.
What does this mean for today's systems professional? It means the burden of keeping up is even more challenging than ever! Systems professionals must increasingly view themselves as business problem solvers and business enablers, not just technicians. Computing power has become a part of corporate strategy, and the system builders are charged with creating the business information systems "vision" and making it a reality. Add to this the vast array of technical platforms, programming languages, databases, and system building methodologies which are available in today's marketplace, and the job becomes somewhat overwhelming! So how should the computing professional approach these challenges?
First, today's system builder must adopt a more business centered philosophy, and second, he or she must exercise discipline and flexibility as the company moves through the system building lifecycle. But which lifecycle? Traditional System Building Approaches, Information Engineering, Object Oriented Design, Rapid Application Development, and a host of others all possess inherent strengths and weaknesses. Which one is best? How should these approach decisions be made?
Unfortunately, no easy answers exist to these questions. Depending on circumstances and experience, one approach may be preferable over another. In other situations, a sampling of techniques and methods from one or more of the current approaches may be appropriate. What follows within this web site is a mix. Some of the strengths from the traditional lifecycle are still present, the foundation of structured analysis is present, many of the advantages of information engineering have been incorporated, and the new paradigms of object-oriented analysis, design and programming are included.
The main criteria for discussion here is one of practicality. What are the approaches which make most sense in today's business climate, and which will yield the greatest productivity results given the ever increasing quality demands of the business clients. The other consideration for inclusion here is that the selected philosophies and approaches are proven and they work. They have been developed from actual IS implementation and support experiences.
Success! The system is in the hands of the client and it is processing real business information. Time for a project team celebration! Pats on the back all around for everyone. High minded speeches from team leaders, project sponsors, and various excited client participants. No more late nights, weekends, or early mornings. The effort was long and seemingly endless but it was all worth it. The sense of achievement experienced from the solution of a complex business problem by the installation of a new system is indescribable. A number of years and a large number of people may have been involved. The time has come to celebrate the team's victory!
But is it always this way? Another team is exhausted. The death march is finally over. They will never have to see each other again. Boxes and logon IDs can't be turned in quickly enough. All references to real names are removed from programs. "Don't call me when this thing blows up", is muttered now and then. No team gathering is held, just a slow disbanding as each team member disappears onto other projects or activities. The clients seem disenchanted. An air of uncertainty and impending difficulty surrounds the system and those associated with it...
Or, the worst fate. A surprise meeting! The team has been progressing, but somewhat without direction. The budget is slipping, the client is unsure what is happening, and questions are raised about competence. No one team member can be identified who has a "vision" of the system or the system building process. The inevitable happens, the project is cancelled. The money spent to date was absolutely, totally wasted!
Why do some teams seem to make to the end successfully, other teams just make it to the end, and others never get the chance? Why are some teams on a continual "high" throughout the project while the members of a team right across the hall seem to drag into work every morning? Why is it that some clients describe a team with words like: * they understand my business * they are right on target * we are all a part of the same team * we were glad to be a part of this process?
Yet another team may be described with: * we not sure what they are doing * they don't understand how our business really works * we are very worried about how this mess is really going to turn out. Does some secret formula exist to insure success, or is it just a matter of luck?
Recent observations which have been made by non-technical business people are striking in their implications. One comes from Robert Townsend, the author of Further up the Organization, in which he states that "most of the computer technicians that you're likely to meet or hire are complicators, not simplifiers. They're trying to make it look tough, not easy. They're building a mystic, a priesthood, their own mumbo-jumbo ritual to keep you from knowing what they - and you - are doing". This is disturbing commentary. It gives a clear voice to the concerns that many clients express when the computer professional's back is turned: * Will I get the results I need? * Will my business problem be comprehended? * Will I understand both the solution as well as the process used to arrive at the solution? * How will I be included in the process? * How much control will I have? * Will I really have anything at the end to show for the risk I am taking?
最近由非技术业务人员作的调查结果是显著的。一个来自Robert Townsend,Further up the orgization的作者,写到“大多数你可能遇到或雇用的 计算机专业人士是复杂化人士,而不是简单化的人。他们尽力使问题看起来困难,而 不是容易。他们正在建造一个神秘的、宗教色彩的,自己拥有的繁琐的过程,使你不 知道他们、还有你自己在做什么”。这是一个很烦恼的解释。这恰恰表明了当计算机 专业人士转过身去时客户所关心的: *我能得到我需要的结果吗? *我的业务问题能被理解吗? *我能理解解决方案和达到解决方案的过程吗? *我将怎样被包括在这个过程中? *我将能控制多少? *在最后我能真正得到为我所付出的冒险的收益吗?
An even more disturbing observation comes from one of the acknowledged "thought leaders" in the systems field - Ed Yourdon. In his book, Managing the Structured Techniques, he writes: Managing the Structured Techniques "Something happened to the personality and mentality of the data processing profession as a whole as we moved to the ultra-sophisticated on-line, real-time, fourth-generation and fifth-generation machines of the 1980's and 1990's. The profession began to attract people who, regardless of their race, creed, color, or university degrees, are clerks. They think like clerks, talk like clerks, and they approach computer programming and systems analysis with all the enthusiasm of a sleepy civil service clerk who knows that he's just one year away from retirement.Having met some twenty-five thousand analysts, designers, and programmers throughout the world, I found a surprising number of them have never read any computer articles or even opened a copy of Datamation or Computerworld; have never heard of ACM, DPMA, IEEE, ASM, or any other professional organizations; can't spell Dijkstra's name and probably have never heard of him; aren't aware of the structured techniques and wouldn't be interested if somebody showed them."
What makes this even more distressing, is that fact that business executives are now turning to the IS professionals on an ever increasing rate in order to provide them with systems which give the business a strategic as well as a competitive advantage. The major problem here is that computer programming clerks who are enamored with the technology and who could care less about the business itself, will not make this happen. A new breed of computer professional is required who has a balance of people skills, technical skills, and business skills.
Some Required Thinking Shifts: * Stop automating existing ways of doing business without assisting in improving the business processes first. * Stop thinking in terms of departmental processing. * Start thinking in terms of cross-organizational systems and business clients. * Start adjusting to the fact that business processes are changing at an ever increasing rate, and the development team must be prepared to keep up - even as a system is being designed and constructed. * Start embracing new forms of technology which show significant cost savings potential. * Start recognizing that if the business client's demands can't be met by you, countless other service providers exist who will be willing to meet those needs.
In today's information based society, the system building professional is faced with even greater challenges than ever before. Exploding technological innovation, relentless complexity increases, faster paced business changes, and increasingly sophisticated business clients are placing greater demands on the talents on the business system professional. In addition, a true spirit of trust and teamwork must exist and perpetuate between the business clients and the business systems professionals. This is the first real quest. The next is even more critical. In the end, a business system must be delivered. A system provides no benefit to anyone unless it is in an accepted technical environment and actually being utilized by the business. That is the creed of this site. All of the analysis and design, or the blood, sweat, and tears, won't amount to anything if a working system does not exist in the end as a result of the effort.
What makes a winning techical project team? A quick look at some of the factors which seem to be consistently present on winning project teams is appropriate. The degree of attention paid to each can have a distinct impact on the success of the project as well as elevating the confidence of the business client.
是什么造就了一个成功的专业项目团队?浏览一下成功的项目团队所固有的特点是 很好的。对每个因素的重视程度对于项目的成功和评价业务客户的信任度将有很大的 影响。
System Building Competence
系统建造能力
This is absolutely critical. The ability to succeed is established within the minds of the clients as well as the project team members in the early stages of the effort. An essential component of this perception is both the management ability, the technical skills, and the sense of direction possessed by the project leadership. Both the business clients and the team can detect fairly quickly if the project leaders have "what it takes" to take them to a final product. Without question this feeling has a tremendous impact on morale.
这是绝对关键的。成功的能力是在努力的早期阶段在客户的思想和项目团队成员中 建立起来的。这个观点的本质在于管理能力和专业技术和由项目主管拥有的方向感 上。业务客户和团队能够快速清楚的察觉项目主管是否有带领他们向最终目标前进的 思想。毫无疑问这个感觉对士气是至关重要的。
Humphrey Watts in his book Managing the Software Process, describes a model for measuring the maturity of a software development organization. These ideas were further refined by the Software Engineering Institute (SEI) at Carnegie Mellon University. A brief summary of the maturity levels of the model (in terminology which will relate to some of the central themes of this white paper) are presented below:
Humphrey Watts在他的书《管理软件过程》中描述了一个衡量软件开发组织成熟 度的模型。这些观点由Carnegie Mellon大学的软件工程组织作了进一步精炼。有关 模型(有些术语与本文的一些要点有关)成熟层的简短概括如下: Initial Level 初始层 A team or organization at this level tends to take a chaotic, ad-hoc, "invent as we go" approach toward every new systems building effort.
处于这层的团队和组织试图以一种混乱的,特别的,"如我们所想的"方法对待每一 个新的系统建造工程。
Repeatable Level 可重复层
A team or organization at this level uses planning techniques, gathers requirements in a systematic fashion, utilizes software quality assurance techniques, and follows a patterned approach on each subsequent effort.
处于这层的团队和组织通常使用编制计划技术,收集体系模式的需求,使用软件质 量保证技术,并在后来的开发中使用模式化的方法。
Defined Level 被定义层
A team or organization at this level follows defined methodological steps, uses process improvement techniques to enhance the methodological approach, conducts regular training programs, views the entire systems development process from an integration perspective, and utilizes more disciplined information engineering and structured development techniques.
处于这层的团队和组织使用定义好的方法步骤,使用改进过程的技术来提高方法, 管理有序的练习程序,从综合的观点看待整个系统开发过程,使用更加严格的信息工 程和结构化开发技术。
Managed Level 被管理层
A team or organization at this level actually captures and utilizes software development metrics for future estimation and process analysis purposes. In addition, some of concepts of Total Quality Management (TQM) are employed to reinforce the effectiveness of the entire development process.
处于这层的团队和组织通常为将来的评估和过程分析捕获并使用软件开发度量。另 外,整体质量管理的一些概念也被使用来增加整个开发过程的效力。
Optimized Level 优化层 A team or organization at this level utilizes continuous organizational change management techniques to optimize its own operations (as well as the company's), emphasizes defect prevention rather than defect detection, and constantly seeks technological innovation opportunities.
处于这层的团队和组织使用持续的有组织的变化管理技术来优化他们的操作,强调 避免错误而不是发现错误,并经常寻求技术革新的机会。
Project Team Experience 项目团队的经验 Even within organizations with high success rates, one factor which never changes on each new effort is the amount of experience possessed by the chosen project team members. Will the project team include a business expert? If not, will the assigned members be able to effectively comprehend and discuss the business requirements and issues in the client terminology? Having someone on the team (even if only in the initial phases) who understands the business is a great confidence builder! It allows the analysts and designers to ask the dumb or simplistic questions to someone other than the client. This actually makes more effective use of everyone's time and it adds an subsequent level of security. In addition, it puts someone in the position of making sure that "creative thinking" stays within reasonable boundaries.
即使是拥有高成功率的组织中,每个新努力中从不改变的因素是被选择的团队成员 拥有的经历的程度。项目团队应该包括一个业务专家?如果不是,指定的成员能够有 效的理解和讨论业务需求和客户术语中的组织?在团队里有没有理解这项业务的人士 个很自信的开发者?允许分析员和设计员向任何人询问简单的问题,而不是向客户。 这能充分利用每个人的时间,并增加后期工作的安全性。另外,它是每个人在合理的 范围里进行创造性的思想。
What about technical expertise? Is the project entering uncharted waters without a guide? Having someone on the team who is familiar with the specialized knowledge surrounding a selected technological environment provides the same confidence creating benefits as those listed above. A technical expert can assist others, make suggestions, develop standards, and prevent time consuming mistakes. In addition, he or she can provide leadership by example. By spearheading the work and creating examples for others, a technical expert can transfer knowledge and experience in a timely and effective manner. The prevents the "invent as we go" situation teams often find themselves in when embarking on a new technology.
专门的技术怎样?是不是项目进入了没有向导的水域?有没有团队中的成员熟悉指 定技术领域的特定知识提供上面提到的同样的信心?一个技术专家能够帮助别人,做 出建议,开发标准,阻止耗时的错误。另外,她或他能通过例子提供领导能力。通过 传播工作并为他人创造例子,一个技术专家能够以及时有效的方式传播知识和经验。 这能阻止当一个团队在着手于一项新技术时通常发现他们处于按自己所想进行的处 境。
Project Control and Coordination 项目的控制和合作
Large, complex undertakings which require the participation of many people throughout the development process, demand both high-level and detailed guidelines to assist in the channeling of the individual results into an integrated final product. As each person focuses on his or her's part of the system, a clearly defined set of standards and specifications must exist insure that the final result will "mesh" with the results being produced by others. In many ways, a systems building project can be thought of a series of specifications, each level spiraling from broad requirements into highly detailed procedural instructions. The collection of these efforts into a unified whole presents the ultimate challenge for the group. What are some of the ways to successfully make this happen?
大型的复杂的事业需要在开发过程中很多人的参与,需要高水平详细的设计细节来 辅助独立的成果融入最后完整的产品中。当每个人专心与它所负责的系统的一部分 时,一个清楚的已经定义标准和规范的集合必须存在以保证最后的结果能够和其他人 的结果相吻合。在很多方式下,系统的建造项目可以看成是一系列规范,每层从广泛 的需求螺旋发展成为高度详细的过程指令。这些努力的集合就构成了一个整体,给整 个团体展现最后的挑战。那些方法能使这件事情成功的发生?
Ultimately, three major factors contribute to the level of success that systems building team will enjoy at each of the required integration points. One of these factors is the creation of "consistency" standards. During each phase, guidelines should be developed for both the content as well as the format of the final work products. A second important factor is cross-team communication. Common requirements, similar issues, shared data, and reusable functionality all should be openly discussed and coordinated. Sub-teams should participate in the development of overall high level shared goals and objectives which encourage cross-team interaction and decision making. A third factor is the insistence on the part of the top team leadership that individual and sub-team successes be innertwined. Consistent deliverable, quality assurance, methodological, and review standards must apply to all team members equally.
最后,三个关键的因素将对系统建造团队将会享受每个需求的综合点成功级别起作 用。这些因素之一是一致性标准的建立。在每个阶段,详细的细节必须为内容和最后 的运行产品的形式所制定。第二个重要的因素是跨团队的交流。通常的需求,相似的 组织,共享的数据和可复用的功能都应该被公开的讨论和协作。子团队应该参加整个 高层的开发,共享鼓舞跨团队交互作用和决策制定的目标。第三个是代表高层领导的 坚持性,个人和子团队的成功相交互。交付的一致性,质量的保证,方法和复审标准 必须对团队的所有成员一视同仁。
Team Goals and Individual Objectives 团队目标和个人目标
A project team seems to develop a unique "personality" over time. It becomes a reflection of everyone involved, radiating confidence and certainty if spirits are high, seething with doubts and confusion when direction is lacking. How can project dynamics be so different from one team to the next? Leadership certainly plays a vital role, but individual team member attitudes make the difference.
一个项目团队看起来时在开发一个独一无二的个性软件。成为每个参与者的反映, 如果士气高的话则充满自信和确定性,当缺乏方向时则由于疑虑和混乱而沸腾。怎样 才能使项目因团队的不同而不同?领导能力当然起了一个很关键的作用,但团队成员 的态度也会造成不同影响。
Two fundamental questions illuminate the spirit of the group effort. First, is everyone on the team driving toward a well defined and articulative objective? Second, whose objective is it? An amazing thing can happen on development projects; everyone is busily working away on whatever it is that they individually perceive as his or her's most important tasks. Hopefully, each person's work will mesh with the rest of the group's results. This will probably happen if everyone clearly and precisely understands the ultimate phase objectives. But what if they don't?
两个基本的问题说明了组织努力的精神。首先,是不是团队的每个人都朝着已经制 定的清楚的目标前进?第二,这是谁的目标?在开发项目中可能发生这样令人惊讶的 事情,每个人都忙于她或他认为最重要的任务。希望是每个人的工作都能与其他人的 工作相吻合。如果每个人都很清楚并精确的指导最终的目标则可能,但如果不是呢?
This is where human nature begins to step in and things can begin to get interesting. If the attitudes of the team members tend to be goal driven (which is good) but the team leadership is fuzzy about what the objectives really are (which is bad), individual and sometimes scattered goals begin to pop up. Unique and potentially conflicting agendas take shape. Before you know it everyone is busily working away and the atmosphere appears to be productive. But an time of reconciliation lies ahead. At some point the individual results must be combined, and depending on the fit, the attitude of the team will ultimately be affected. The group's mission or purpose at this point becomes very real, because it is at this moment that the team realizes that there may not have really been a common direction in the first place, and that fact is painfully obvious.
当人类开始涉足的地方并且能过的兴趣。如果团队成员是目标驱动,而领导者对最 终的目标而疑惑,独立的或分散的目标突然出现。独自的潜在的议程出现。在你知道 之前每个人都忙于工作,而且是生产性的气氛。但要调和的时间摆在前面。在某个点 上独立的结果必须合并,以来与合适性,团队的态度最终会被影响。这时组织的任务 或目的变得很真实,因为这时团队才意识到在开始时就没有统一的方向,事实显然是 很痛苦的。
Why even take this risk? Insuring that goals and objectives are clearly spelled out, and the activities and tasks which will be followed to ultimately reach them are uniformly understood, will only give the team a shared sense of purpose. Everyone needs to have a stake in, and a share of, the responsibility for the outcome of each phase. Doing this can have an incredible impact on people's attitudes. Clearly comprehending the relevance of the work and how it will contribute to the final product, is a powerful motivator for creating an air of cooperation and open channels of communication between team members. Individual goals can be visualized as a part of the larger team objectives. The goal driven attitude of the team will truly be reflected in the quality of the results.
为什么冒这个险?确保目标很清楚的确定,他们所从事的任务和活动被一律的理 解,将会给整个团队一种目的共享的感觉。每个人都需要由对每个阶段成果的责任 感,共享感。这样做肯定会影响每个人的态度。清楚的理解工作的关键和怎样影响最 终产品,是产生合作环境及创造成员界交流通道的强有力的因素。独立的目标可以被 想象成为大型团队目标的一部分。团队的目标去动态都会在产品的质量中有所反映。
Systems Building Vision 系统建造的蓝图
A "vision" doesn't do anyone any good if it is only in one person's head. Only when it has been absorbed and adopted by the team does its usefulness begin to emerge. A business or system "visionary" plays an important yet sometimes unenviable role in making this happen. His or her willingness to share insight and understanding of a situation, and the necessary steps he or she envisions to arrive at a desired outcome, tend to be dependant on two factors: the level of confidence he or she has in the ideas, and his or her tolerance for scrutiny and criticism. Regardless of these personal risks, a professional system builder must strive to be a system "visionary". With each passing phase of the project, he or she must constantly develop and communicate his or her vision of both the system functionality and the project approach.
如果蓝图只存在于一个人的脑中则不会给任何人带来好处。只有被团队吸取和采纳 才能使它的作用发挥出来。一个业务或系统的“蓝图”作用重要但有时仍不能实现。 她或他的希望是共享对情况的理解和见识,并采取了步骤以达到理想的结果,依赖于 两个因素:她或他的自信程度,忍耐审查和批评的能力。不管这些个人的冒险,一个 专业的系统建造者必须为成为一个系统设计者而奋斗。随着每个阶段的完成,她或他 必须持续开发和交流她或他对系统功能和项目方法的构想。
Putting forward this vision assists in accomplishing two important results. First, it creates a baseline foundation for continuing discussion. In many cases, the original system/approach vision may not survive for long as better ideas are presented and improvement discussions occur. Second, the vision promotes constructive, critical thinking.
提出构想能有处于实现两个重要的结果。首先,它创造了继续讨论的基础。在很多 情况下,最初的系统/方法构想不能比好的思想提出和改进的讨论维持的时间长。第 二,构想提供建设性的严格的思考。作者: angelcc216 时间: 2006-1-12 13:26
People tend to provide more input in a "review and improve" mode rather than a "create from scratch" mode. The presentation of a baseline vision stimulates this process. In addition, if the "visionary" can relinquish ownership of the original idea, and subsequently encourage it to become the property of the group, the effectiveness of the process can be even more enhanced. The system builder serves to plant the "starting point" ideas, and the team members and business clients assist with, and take responsibility for, the ultimate direction and composition of the shared vision.
人们更倾向于提供更多的输入给“复审和提高”而不是“从零开始”的模式。最初 的构想的提出促进这个过程。另外,如果“构想”能够放弃最初的思想的所有权,而 成为组织的财产,这个过程的效果将会更加提高。系统建造者负责产生开始点的思 想,团队成员和业务客户辅助并负责共享的构想的方向和合成。
Project Team Confidence 项目团队信心
Another important team attitude is confidence. The development of a complex system presents tremendous challenges to a project team. Sometimes it can even feel like an act of faith. An enormous amount of detail is collected, analyzed, organized, and assimilated into a functional "whole". On very large efforts, only a few key individuals may possess the total "big picture", and this may be at varying levels of completeness. This ambiguity can from time to time test the confidence of the project team members. Given these uncertainties, how does a team feel assured and confident of success throughout the process, and have this reflected in the individual team member attitudes?
另一个重要的团队是信心。开发复杂的系统将会给团队带来很多挑战。有时感觉是 一种信仰的活动。大量的细节被收集、分析、组织并吸取为整体的功能。在非常大的 付出中,仅有一些关键个人支配整个“图纸”,并随完成的不同层次不同。这种不确 定性时不时的检验团队成员的信心。给出这些不确定的事情,一个团队怎样才能在通 向成功的过程中感到有保证和信心,并反映到团队个人的态度呢?
Clearly, the realization on the part of the team, that a system design is formed as a gradually evolving solution, from a process which tends to be iterative in nature, helps everyone to be patient with the slowly disappearing level of ambiguity. The more team members who participate on the project who have been through the complete system building life cycle, the more likely the overall team awareness will be that everything will come together at each major milestone. This is an important confidence builder for the less experienced members of the team. The higher the level of confidence possessed by the team, the more secure the business clients feel, and the more likely the team will actually "see" themselves succeeding, even in the face of the unknown.
A Case for a "Deliverables Driven" Approach By Russ Finney Many system builders consider formal project deliverables to be a complete waste of time. They give the following reasons for holding this opinion: * Why produce something which will just eventually change and become out-of-date anyway? * Producing formal documents takes time away from the really important task: programming the system. * I like to leave my options open through each phase of the process, and producing a document may commit me to something which was wrong in the first place. * If it is not written down, I can't be held accountable for it (and the way things go around here - you have to cover yourself every way possible!). Reasons for taking a deliverables based approach: * It forces decision making and issue resolution. * It creates tangible deadlines. * It encourages information completeness. * It provides a mechanism for feedback to the developers. * It records the state of the project at a moment in time. * It gives the team members a sense of accomplishment. Tom Demarco in his book, Controlling Software Projects, discusses the impact that a deliverables based approach should have on a manager's project planning and control philosophy. As a part of this discussion he refers to the Cardinal Rule of Project Modeling: * A project activity is defined by its deliverable. * There is one activity per deliverable. * The only work charged against that activity is work spent producing that deliverable. * The activity is complete when the deliverable is delivered and accepted. Deliverable-oriented project modeling may yield some overly large activities, at least by the arbitrary standards of common project control systems. But further dividing those activities into components that produce no discernible product is to invest precious effort into an illusion of detailed planning. Fred Brooks in his classic book, The Mythical Man-Month(davew注:Frederick P. Brooks,IBM OS/360之父,他的这本书问世近近三十年,至今畅销不已,每次再版只是附增 加Brooks新论文或新观点而已,如大家常常提的No silver bullet,原文近乎不变。此书兄 弟早期只是读了《Datamation》节选的7页,后来弄到原书,苦读n遍,收获不少,建议大家多 看看),gives even greater insight into the value of taking a deliverables based approach: "Why Have Formal Documents? First, writing the decisions down is essential. Only when one writes do the gaps appear and the inconsistencies protrude. The act of writing turns out to require hundreds of mini-decisions, and it is the existence of these that distinguishes clear, exact policies from fuzzy ones. Second, the documents will communicate the decisions to others. The manager will be continually amazed that policies he took for common knowledge are totally unknown by some member of his team. Since his fundamental job is to keep everybody going in the same direction, his chief daily task will be communication, not decision-making, and his documents will immensely lighten this load. Finally, a manager's documents give him a data base and checklist. By reviewing them periodically he sees where he is, and he sees what changes of emphasis or shifts in direction are needed."作者: angelcc216 时间: 2006-1-12 13:28 那么到底什么是一个系统呢?(软工系列文章之五)
讲究原则型
一些系统只是基于简单的,已接受的业务原则。一个已经建立的,被很好界定的方法执行已存在的业务,所有的公司都遵循这个模式。审计(G/L,A/P,A/R,等等),薪酬制度,财务报表系统都适于这个范畴。既然不同公司,工厂之间的运行的系统的基本方法只有很小的区别,大量的非自身独有的(off the self 的意思,用英文来解释就是available without self,or on the other envirement--方雨)自动化替代方案可以适应于从最大的,到最小的企事业实体。除了有彻底的业务原则改变发生,这些系统是所有之中最稳定的,最少动态改变的。往往一个公司从他们当前的系统中“成长”起来,这种情况会引发改变的发生。
A system is a set of manual and automated procedures devised for conducting business. Some procedures may support monthly information gathering, others may consist of calculations, summarizations, and report creation, and still others may center on picking from a series of known alternatives, each with a respective set of required decisions. A system can be a totally manual process, a completely automated process, or a combination somewhere in between. But all systems at one time or another seem to be rooted in one or more of the following sources:
Tradition
Systems which are developed within companies with long operating histories and stable product or service lines, tend to be based on slowly evolving business procedures. Within these companies, a mix of manual and automated practices may exist which, over time, become "institutionalized". If the company is large and bureaucratic, the masses of business clients become focused on small individualized tasks, and only a handful of long term employees may really have any idea of the "big picture" of what is really occurring.
Regulations
Companies which have their business practices regulated by governmental entities, tend to have systems, procedures, and individuals who are adaptive and reactive to the various changing rules and regulations. Depending on the regulatory pace and the amount of advance notification given the company, systems may either smoothly evolve to the new regulatory environment, or they may degrade into "piecemeal" temporary solutions which seem to live on indefinitely.
Principles
Some systems are simply based on accepted business principles. An established and well defined way of conducting business exists, and all companies follow this model. Accounting (G/L, A/P, A/R, etc.), payroll, and financial reporting systems all fit into this category. Since only minor differences exist in the fundamental way in which these systems operate from company to company, and from industry to industry, numerous "off the self" automation alternatives exist
which suit the largest to the smallest business enterprise. Other than when sweeping business principle changes occur, these systems are by far the most stable and the least dynamic in the organization. Usually a company "grows" out their current systems, and this is the situation which triggers change.
Industry Practices
Every industry has unique characteristics which define the organization's approach to conducting business. These industry practices become embodied in the systems which evolve within the company. These systems also tend to be the most closely guarded since they are perceived to represent a competitive advantage. Any type of significant organizational, procedural, or system advance which provides higher quality, lower costs, or better customer service can give the company an important competitive "edge". Changes to these types of systems are no trivial matter since they represent the "lifeblood" of the enterprise.
Innovation
The last group of systems are those born from innovation. They are created when a new organization is formed or a new product or service is offered. As these systems develop and evolve, an awareness of the overall short term risks and the long term benefits should be the prime concern of the organization. Since the creation of the procedures and the associated system infrastructure tends to be from "scratch", a company is well advised to harness as much expertise and experience as possible during the process. This insures that a solid foundation
is created for both current business requirements as well support for future growth needs.
Understanding both the history, character, and source of a particular new or existing system is a vital requirement of the business analyst. System implementation and support options vary in each of the above situations. The business analyst and system designer must be keenly aware of the business sensitivities surrounding system implementation or change effort. Understanding these "roots" of the particular system is the first step.作者: dandan 时间: 2006-1-12 16:37 标题: 真的好东西呢! 非常感谢楼主,正在学看英文文档呢!作者: jnhhy0913 时间: 2006-1-18 14:06
要好好看看!学习学习啊!!!!!!!:p:p作者: jzqc 时间: 2006-3-21 13:25
楼主辛苦了!作者: 李逍遥 时间: 2006-6-16 17:39
Thank you very much!作者: addvalue 时间: 2006-7-12 20:48
外文翻译版真的很不错作者: elsalpq 时间: 2008-1-15 14:34
太棒了作者: PrincessPP 时间: 2008-1-18 20:54
wow~bravo!that's great ; )