It is my site!
           Alex Shell

 Starting 

My work
Methodology   of management  

  Analytics
 Picture albums
 Humour
 Puzzles
 Games
 Music
 VAU!
 Extreme Programming
 Archive


 

Google
Web
On a site

" Become outdated(Out-of-date) methodology - on pension! "

Use of methodology Adaptive Software Development (ASD) will help(assist) you to perform work in conditions of frequent and urgent changes in the project

Jim Khajsmit (jimh@adaptivesd.com)
Software Testing and Quality Engineering
July/August 2000
About what this clause(article)?
  • Reconsideration traditional an expert of management of projects
  • 6 characteristics of adaptive life cycle of the project

Do not trust that to you vtolkovyvali during all life: the form is based not on functionality. The form is based on mistakes(errors).

" The form of the things created by the person varies every time when it(he) finds out in them already existing or potential lacks " - writes Henry Petroski (Henry Petroski), the professor teaching civil construction, and the author of the book " The Evolution of Useful Things " (" Evolution of useful things "). " This principle is fair for all inventions, innovations and innovations. It(he) forces to work a creative idea of inventors and engineers ". In the same key other author, Styuart writes also the Brand (Stuart Brand). It(he) too believes, that the postulate " the form results from functionality " - no more than illusion. In its(his) book " How Buildings Learn " (" to That learns(teaches) construction ") we read: " Lui Sullivan (Louis Sullivan) has proclaimed, that the form follows functionality therefore the majority of architects more than hundred years piously trusted that nuances of functioning of the creations " can expect all.

So, what from all it(this) follows? First, specifies the Brand, anybody from us actually cannot predict(forecast) really, the end-product will function how. In all books about management of requirements (and them much) write, that the best way to define(determine), evolyutsionirovat this or that thing how should is it(her) to use. (Petroski gives an example lighters and plugs.) certainly, the effective, "dry" analysis of requirements is absolutely necessary. The main thing that developers thus did not forget, that is obviously not enough one such analysis.

Secondly, iterativnost (designing, test, success, failure, repeated creation) is a mortgage of successful development of a product, especially in conditions of a becoming tougher competition. Except for " enough detailed " requirements to a product there should be a certain experience of its(his) use (which appears, for example, when the customer will test the prototype) then to initial requirements new uses based(founded,established) on experience are added.

Now a lot of various metodology development ON have taken advantage of the iterative approach. However, the majority of them overlooks such important factors as disorder and unpredictability of complex(difficult) operating conditions (high speed, great volume of changes). Despite of use of iterations, in the rest all base positions of these(it) metodology remain deterministicheskimi. It is possible to tell, that as a whole they remind a little short "vodopadnykh" the cycles connected among themselves.

However rate of development of technologies and business all is accelerated, and static ways of management become unsuitable. The old world was the world of optimization where corrected efficiency, predictability and the control. The new world is the world of adaptation in which the main place is allocated(removed) to changes, improvisations and to new ideas. Such dikhotomiya - optimization against adaptation - allows us to imagine clearly the future of management of program development.

It is strange, that up to us, originators of the most scale technological changes for all history of business, it till now "does not reach". In each publication - whether it be clause(article) in "ComputerWorld" or " Business Week ", to us broadcast that " business never will be former ". Why then we insist, what process of development ON and methodology of management of this process can avoid these capital changes? We quite agree with an idea, that all should change to be arranged under new rules of the world of 21 centuries - the world of the Internet. " Yes, - we speak - all should vary, except for us and how we have got used to do(make) that we do(make) ". Unless there is a sense in such position?

Remember a series of caricatures about Dilberta? And so, on one of them its(his) colleague Uolli complains that cannot affect(influence) result of works in any way. However it(he) finds a consolation in " pride of process ". " That I do(make) All - senselessly, - speaks Uolli, - but I very much am proud of HOW I do(make) it ". Has Perhaps, come to look time at these things in a new fashion? Already it is time to put result above process, understanding above the documentation, cooperation above management and adaptation above optimization.

Adaptive Software Development (ASD) - one of new metodology which have appeared as alternative traditional, focused on process, to methods of management of development ON. ASD, Extreme Programming (XP), Lean Development, SCRUM and family metodology Crystal, certainly, in many respects differ from each other, however all of them have one general(common) feature - in the chapter(head) of a corner in them the human factor, relzultaty works and minimization of the process is put at the maximal increase in interaction between people. All these(it) of methodology have been developed proceeding from objective realities of modern hi-tech business which differs in the huge speed of development and high variability.

Than you would not supervise - over testing, a team of developers or the project as a whole, has come to reconsider time those values and positions which underlie process of a management(manual). Experts ASD are based on a principle of continuous adaptation owing to which there is other philosophy and other life cycle of the project when constant changes become norm(rate).

In ASD usual static life cycle Plan-Design-Build (Planning - Designing - Designing) is replaced on dynamical - Speculate-Collaborate-Learn (Considering - Interaction - Training).

This cycle sets as the purpose continuous training. It(he) is connected with constant changes, repeated estimations, attempts to foresee unknown by the current moment the future of the project and demands close interaction between developers, testirovshchikami and customers. (pay attention, that all this cycle not always represents a correct circle. Even at iterative process it is possible to deviate sometimes aside to study(investigate) the areas not investigated(researched) till now).

Methodology ASD is constructed on conceptual base of the theory of complex(difficult) adaptive systems. It(she) is calculated on use in extreme projects in which prevail fast rate of development, unpredictability and frequent changes. There are projects which cannot be considered extreme, however for all others ASD any traditional approach approaches(suits) to development much better, than ON. You will find references(links) to more detailed statement of the theory of adaptive systems In the end of this clause(article).)

The life cycle of the project focused on modification

The main precondition of a typical cycle of management of the project - Plan-Deliver-Review (Planning - Delivery - Viewing) - is rather stable business-environment. Today to find such environment it is practically impossible, therefore traditional methodology do not cope with a constant stream of changes. The first step in such cycle, planning, represents the most difficult moment for the majority of engineers and managers. Planning has arisen on the basis of reduktsionizma (sciences to reduce any thing up to its(her) components) and almost religious belief that careful planning which strict realization of the planned plans follows, leads to achievement of desirable result (" we we supervise a situation "). For this reason of us the idea seems to much such strange what to make all correctly from first time simply it is impossible.

In the word "planning" (in that sense in what it(him) use in the majority of the organizations) the greater(big) share of confidence of results of work is heard. Thus both obvious, and the latent purposes of "scheduling" essentially limit ability of the head to investigate(research) new directions of work, to search for new ways of the decision of arising problems. Working under the plan, you, most likely, will manage to reach(achieve) the planned results, here only these results as a result can not coincide at all that is necessary for you.

Considering gives much greater open space to ideas and researches, gives an opportunity to clear those questions of realization of the project of which you while doubt, and, at last, allows without any fear and remorses to deviate the planned plans. It at all does not mean, that planning has become outdated and it is not necessary any more. It is necessary to understand, that today it should be much less full and categorical, rather than earlier. It also means, that delivery cycles of a product should be short, and that in them it is necessary to use the iterative approach. Considering does not exclude planning, but unlike it(him), recognizes competency of any necessary changes. More often deviations(rejections) from traditionally developed plans nemedlya get in the category of the mistakes(errors) which are a subject immediate correction while many of them are a fine opportunity to receive new experience and knowledge. At considering you realize that any challenge has the ambiguous nature. Moreover, considering means carrying out of researches and the experiments directed on its(her) finding-out. Considering (which so it is complex(difficult) for perceiving to my clients from bank circles) allows us to realize that fact, that we cannot know all. And we recognize time, that we do not know everything and consequently, we can be mistaken we perceive the third step of cycle ASD - Training is much easier.

Between these(it) two cycles are the second, average component. A name to it(him) - Interaction. Complex(difficult) systems are not created for once - they grow and develop. To work above such system, it is necessary to collect a plenty of the various information, to analyse it(her) and to understand, how it(she) can be applied to the given problem. Such work not under force to one person. " Anybody from us one by one will not be compared to all us together " - write Warren Bennis (Warren Bennis) and Patritsiya Biderman (Patricia Biederman) in the book " Organizing Genius " (" To rally talents ").

The majority of developers pretty well owns skills of the analysis, programming, testing, etc. (though, certainly, any knowledge always it should be filled up and improved). However for modern business-environment the constant increase in a stream of the information (on the one hand) and necessity to own knowledge from the diversified areas (with another) is characteristic. So that to create a site for electronic trade, it is necessary to involve much richer set of technological decisions, knowledge in the given sphere of business and other useful skills, than for creation of typical software product five - ten years ago. Now the small team, therefore today that " the nobility all " it is necessary to learn to cooperate widely with other people, the organizations and commands(teams) cannot capture all stream of the information not only one person, but even. Skills of such cooperation - from teamwork above the project before joint decision-making - already became vital components for successful work above any project.

In Michael Shrage's book (Michael Schrage) " No More Teams, Mastering the Dynamics of Creative Collaboration " (" Commands(Teams) any more will not be or we Comprehend dynamics(changes) of creative cooperation "), cooperation name " the certificate(act) of joint creation and-or opening something ". The problem, speaks SHrage, at all in a team, and in that, " what attitudes(relations) should build and support(maintain) the organizations if they wish to put the customers and clients really unique product ". Teamwork does not recognize those borders in which there are usual commands(teams) of developers. It(she) covers both a team of programmers, and customers, and foreign advisers, and those who will trade in this software product. Thus, cooperation and interaction become third necessary "whale" for construction of more flexible methodology of management by the project. Commands(teams) of developers should cooperate at the decision of technical problems and at definition of requirements to system. It is necessary for them to improve the ability to make joint decisions., by the way, it is time to management(manual) to transfer(transmit) commands(teams) of more rights for decision-making, as constant changes (and the rigid schedule of works) absolutely exclude traditional style of management - Command - Control (the Order - the Control).

Decision-making process directly depends on the third component of our cycle: Training. It is necessary to check constantly the knowledge - for this purpose it is possible to use such experts as retrospective consideration of the project and focus of group of clients. Moreover, such "revision" is better to arrange in the end of each iteration, not expecting the termination(ending) of all works above the project. How people are trained during such here retrospective an expert, clearly shows a true state of affairs with obuchaemostyu in this organization, and consequently, and its(her) ability to adaptation.

It is complex(difficult) enough to many organizations to venture to investigate(research) opinions occuring among its(her) employees, assumptions and mental models. Studying itself (it is unimportant, whether one person, the team working above the project or all organization as a whole) it can appear rather disease process.

So, for example, postmortemy the project are very simple as a matter of fact. They serve defining(determining), that has passed(has taken place) well where there were failures, and, at last, what changes are necessary for making. Strangely enough, many organizations do not do(make) postmortemy as the similar review of the done work by all means turns at them to politics tricks and mutual recriminations. Very often, instead of wondering " to that to us it is necessary to learn? " We start to search for the answer to a question " who in this all is guilty? ". Remember, that your organization became adaptive and flexible, it(she) needs to become first of all the organization where are able and like to be trained.

Characteristics of adaptive process

Adaptive life cycle has six base characteristics: Mission Focused (Purposefulness), Component Based (the Componental approach), Iterative (Iterativnost), Timeboxed (Rigid time(temporary) frameworks), Risk Driven (the Estimation from the point of view of risks) and Change Tolerant (the Admissibility of changes).

Those who work above projects in sphere of electronic business, seldom from the very beginning precisely understand, what should be results of their work. Nevertheless, they clearly realize an overall aim, and this purpose is clearly enough formulated to a team of developers. Substantive provisions of the purpose serve directing for initial research, and further, during work above the project, start to be narrowed. The purpose defines(determines), more likely, borders of the project, instead of its(his) end result. The iterative project without correctly put overall aim and constant revision of current tasks becomes "project-pendulum" - development move there-here, iteration behind iteration, without visible progress. Artefacts in which the purpose of the project (them is fixed(recorded) can be some types), not only help(assist) to specify the necessary direction of works, but also are used that in case of sharp necessity to find the conciliatory proposal. If such artefacts do not help(assist) with decision-making then, they have been created incorrectly.

Adaptive life cycle of the project is under construction proceeding from results, instead of tasks, and as results components of system act. In this context the component is understood as a word a certain set of properties of the program (or some elements entering into delivery of system) which should be developed during iteration. Certainly, (for example, model of data) too it is possible to consider(count) documents a delivered component, however in relation to property of the program the documentation is always minor, as only the working program code enables the customer to feel real results of work.

In iterative life cycle "alteration" of a product borrows(occupies) not less places, than its(his) "creation". On manufacture all is in another way. There the special programs which are watching(are keeping up) quality of work of machine tools, help(assist) to avoid "marriage(spoilage)" (result of a mistake(an error) during manufacturing any thing) and its(his) subsequent alteration. However in the field of program (and other intellectual) development business is a little differently, than on the conveyor where everyone some seconds stamp the callous automatic device identical shtukoviny. By the way, it is rather probable, that itself shtukovina it has been designed and developed with application of iterative process. Components, as a rule, undergo changes during several iterations. It occurs(happens) that customers inform developers the comments concerning a product in process of its(his) development.

Rigid time(temporary) frameworks, or establishment of the fixed terms of delivery for each iterative cycle, quite often is exposed to the furious criticism from admirers of fast program development (rapid application development, RAD). But it occurs(happens) because they absolutely incorrectly approach(suit) to a question of an establishment of these terms. In advance established(installed) time(temporary) frameworks of the project, because of which it is necessary to stretch(drag out) that work at long o'clock to hurry up, endowing quality of work, represent the real tyranny and an arbitrariness, they undermine that atmosphere of cooperation to which so adaptive process aspires. Within several years I supervised over RAD-projects before has understood (I in general the person sluggish), that, speaking about rigid time(temporary) frameworks, we should mean not so much time and terms, how many acceptance of complex(difficult) conciliatory proposals. When you are surrounded with constant changes, it is necessary to involve periodically a certain factor which will force to lead up begun up to the end. Besides existence time(temporary) ramok forces a team of developers and clients constantly to reconsider the basic parameters of the project: its(his) borders, the schedule of works and deliveries of the next versions, resources, defects, etc. Those commands(teams) which cannot (or fast decisions do not wish) to make and to make a choice, never will become successful in extreme conditions.

As well as in spiral model Berri Boema (Barry Boehm), planning in adaptive life cycle is conducted proceeding from comprehension and the analysis of critical risks. Besides the adaptive way of development ON priemlet also welcomes all arising changes. From the adaptive point of view, the opportunity of modification is a competitive advantage, instead of is simple one more "problem".

Base model of adaptive process

The iterative cycle "Speculate/Collaborate/Learn" ("Considering/interaction/training") suits the general(common) description of process but really to make on its(his) basis software product, it is necessary to stop more in detail on some details. In figure 2 the base model of adaptive process with its(his) all components is represented.

Considering: the Initial phase of the project and planning of cycles of development

"Considering" consists of seven consecutive steps:

  1. To lead an initial phase of the project.
  2. To define(determine) time(temporary) frameworks of the project.
  3. To define(determine) optimum quantity(amount) of cycles and time(temporary) frameworks of each of them.
  4. To paint the primary goals on all cycles.
  5. To connect developed components of system with corresponding(meeting) cycles.
  6. To connect with cycles technological components and components of support.
  7. To develop the list of tasks under the project.

In adaptive process the initial phase of the project the little differs from that which exists in any normal managerial process by projects. It(she) includes definition of the purposes and tasks of the project, judgement and documenting of various restrictions, studying of an alignment of forces in the project (that is the organization of the project and definition of key figures), revealing and the brief description of requirements to system, an initial estimation of the size and scale of the project, and also definition of key risks. As one of the major factors accepted on consideration at use of the adaptive approach, speed of system engineering the most part of the primary information under the project should gather during sessions Joint Application Development (JAD, Joint development of software product) is. For small projects all initial phase can be laid in week term. For larger it is expedient to plan so-called " a zero cycle " which will allow developers to carry out more extensive preliminary researches and a spadework. (" the zero cycle " differs from all subsequent themes, that its(his) result will be not a real part of system, and certain preparatory materials).

The second step should become an establishment time(temporary) ramok for the project. This estimation is based on primary understanding of scale of the project, requirements to functionality of system, estimations of expenditures of labour, resources (in other words, on materials which gather during an initial phase). Considering does not mean refusal of carrying out of estimations of expenditures of labour, it is necessary to understand, that any estimation can appear inexact, and it is not necessary to be afraid to change them.

On the third step it is necessary to solve, for how many cycles you can create all system. Besides it is necessary to set to each of cycles time(temporary) frameworks. For small and average systems (up to 5000 functional points) the length of each cycle varies within the limits of from four about eight weeks. In some projects is better to use fortnight cycles, but is also such for which eight-week and even more long cycles (however more will approach(suit), it is not enough such projects). To define(determine) duration of cycles it is necessary proceeding from the general(common) schedule of development of the project and a degree of uncertainty of the planned tasks.

Having defined(determined) quantity(amount) of necessary cycles and the schedule of performance of each of them, the team passes to the fourth step: defines(determines) the purposes and tasks for each cycle of development. Precisely the object in view should be not only at the project as a whole, but also at each cycle separately. Intermediate control points in the end of each cycle are called to provide availability and obozrimost created software product for participants of the project. Without this availability and obozrimosti it is impossible to see and correct various defects and mistakes(errors) which any project does not manage.

In the end of each cycle the customer receives the certain set of components of system, which can (and should) to see(overlook) and comment. It allows it(him) to see and test developed system really. For integration of separate components of system during each of cycles intermediate assembly (builds) serve. They allow to see and test system to the team of developers. If the system is constantly accessible to a review testing becomes incessant and an integral part of each cycle, instead of feverish activity right at the end of works, before delivery of a product.

During the fifth and sixth steps correlation of the certain components of system with cycles of development is made. The main criterion here should be such rule: in the end of each cycle the visible, tangible, working part of system is delivered the customer. Distribution of components on cycles - a uneasy task. Among many factors which influence acceptance of this or that decision, it is possible to name the following:

  • In the end of each cycle certain tangible "piece" of system should be delivered the customer
  • First of all to development there should be components with the highest risk
  • The schedule of development of components should consider natural dependences between them
  • Balancing of charges of resources

To plan cycles proceeding from developed components is better by means of a spreadsheet (see fig. 3).

In the first column necessary components of system are specified all. On one column it is allocated(removed) and on each of cycles. As you see, when the team makes a decision to develop the certain component during any cycle, in a corresponding(meeting) line of the table the dagger is put. Experience shows, that such type of planning much better (it(him) all team of developers is engaged, instead of exclusively the project head) enables developers to understand the project, than it happens at the usual approach to orientation to tasks. Planning in which basis the schedule of development of components of system lays, reflects uniqueness of each project. Certainly, for such kinds of activity as the analysis, objective modelling or designing can (and should!) to exist " the best experts ", however components delivered to the customer bring in these kinds of activity those corrective amendments which do(make) their unique for the given concrete project.

And, at last, specially for those who feels uncomfortably without the list of tasks under the project - creation of each component can be perceived as an end result of a corresponding(meeting) task: To create a component And. It is possible to bring In the list and additional tasks which though are not connected directly with components, but are necessary for successful end of work above the project. However, in spite of the fact that in the plan of the project also it is possible to bring additional tasks, the structural analysis of components of system, instead of the structural analysis of works should make its(his) basis.

Interaction: the coordinated(agreeed) development of components

Working components of system appear as a result their parallel development. Thus heads more should disturb how to achieve the most effective interaction and to provide a coordination of carried out works, rather than questions of designing, testing and coding. As we already spoke, today for many projects (for example, for what are developed with commands(teams) physically removed from each other or constantly varying partners) how people cooperate among themselves and as they cope with inevitably arising interdependence has the greatest importance. For small commands(teams) where all developers work in immediate proximity from each other, the close interrelation and a coordination of works can be reached(achieved) by informal methods. All can be solved during conversation in a corridor or having drawn a little at a board. In greater(big) projects all not so is simple. To reach(achieve) a coordination of actions in the large-scale project, it is necessary to apply the expanded variant of adaptive process. However, it is a theme for separate clause(article).

In the small commands(teams) working in one place, the coordination, parallelism and interaction can be strengthened by means of an expert of methodology Extreme Programming (KHR). So, for example, at pair programming two persons work behind one computer: thus everyone involuntarily tries to distinguish, the general(common) quality of work why improves.

Joint possession of a code (one more expert KHR) deduces(removes) cooperation between developers on a new level. Owing to this approach everyone can make own changes that forces all team to work even more splochenno to any code. All developers - and separately, and pairs - use the best efforts as much as possible to raise(increase) quality of design of system, a code and test scripts.

Attitudes(Relations) between people are the most important moment of modern business as write in the new book " The Soul at Work: Embracing Complexity Science for Business Success " (" the Soul is obliged to work or How to take advantage of a science about complexities to become successful in business ") Roger Luin (Roger Lewin) and Biryut Rezhin (Birute Regine). Attitudes(relations) between people are important " not only for cleanly human reasons but also as the way for achievement of the best adaptibility and success in business ", - is considered(counted) by these authors. For today the strict control and process (that is, those components which earlier were necessary for successful realization of projects) should be replaced with alliances between the various companies, joint overcoming of problems and joint decision-making, and also on an exchange of knowledge and experience.

Training: the Estimation of quality

The adaptive approach to management of development consists in the following: it is necessary to define(determine) scale and the purposes of the project, to show the team, what components to it(her) are necessary for developing, and then to depart aside and to allow developers to solve as they will do(make) it. The feeling of the responsibility in a team is supported(maintained) by means of a periodic estimation of quality. In that case, quality will grow not owing to the meticulous control over all stages of works, and owing to formation of corresponding(meeting) criteria for a let out(a released) product and to its(his) critical analysis. The constant analysis and an estimation of the done work - a key to training.

Here that it is necessary to know in the end of each cycle of development:

  • Quality of a product from the point of view of the customer
  • Quality of a product from the technical point of view
  • As the team, and what experts it(she) works thus uses
  • Current state of affairs in the project

In the majority of projects the most important is to provide the customer with an opportunity to work with intermediate versions of system and to give comments to developers. One of variants - work about focus by group of clients. Based(founded,established) on the concept marketing focus of groups, sessions of work with client focus by groups are used for studying the working model of the program and formation of inquiries about changes. Such sessions are similar to sessions JAD, however instead of formulating requirements to system or to develop the plan of the project, focus of group of clients are engaged in viewing of the program. Eventually, it is easier to client to communicate with working program, than with a pack of documents or diagrams. If at work with prototypes separate people or small groups help(assist) to define(determine) an essence of the future program work focus of group testifies to the formal termination(ending) of works for the given cycle.

The second parameter of quality of a product is its(his) estimation from the technical point of view. The standard way to define(determine) technical quality of system is to lead its(her) technical analysis. To reconsider design of system it is possible in the end of each cycle whereas revision of a code or the plan of testing can pass(take place) during the cycle. The purpose of the analysis should be training, instead of search guilty.

Thirdly, it is necessary to watch(keep up) process of work of a team, more truly, for people and behind process. Retrospective revisions are necessary for this purpose in the end of the project, and also in the end of each cycle.

Here you should set what questions to yourselves during postmortemov:

  • What works?
  • What does not work?
  • That we need to do(make) more?
  • That we need to do(make) less?

No other practice shows ability of the organization to training, as the similar analysis. Owing to it(him,them) we understand also ourselves and how we work is better.

And, at last, last item(point) of our plan goes definition of the status of the project, that however, does not concern directly to questions of quality. It conducts to repeated planning in the beginning of each subsequent cycle.

The basic questions which you need to answer:

  • At what stage of development there is a project?
  • Than its(his) position differs what was expected under the plan?
  • It(He) should be in what position?

At use of the componental approach, definition of the status of the project looks(appears) a little in another way. In a method of a falls, the end of each phase of the project is noted by the termination(ending) of work above its(his) certain artefacts (for example, result of a phase of development of the specification is the document in which requirements to system are completely described all). At the componental approach the status of the project will be defined(determined) not by one document or an artefact, and a lot of components which can be at different stages of readiness.

It is quite obvious, that is far not to everyone such method is pleasant. Many heads who have got used to traditional methods, at the componental approach will feel, that can partially lose the control and influence on process. In that case, it is better to them to reconsider the ideas and reasons concerning progress of the project.

It would be desirable to note especially last from three questions, a concerning(touching) status of the project: " the project " should " be In what position under the plan? " As initially it is supposed, that plans are cleanly speculative constructions to estimate(appreciate) progress of the project, comparing it(him) with planned, will be obviously insufficiently. Besides it(this) a team of developers and customers should ask to themselves a question constantly: " to That we have already learned, and how it changes our representations about in what condition there should be now a project? "

Forward, in the future

"Optimizing" cultures ragard as of paramount importance efficiency, the control and strict process. However the era of the Internet has already made changes to a fundamental basis of these positions - in predictability. Anybody will not undertake any more to predict(forecast) (with any degree of accuracy) results of work above the project from the category of electronic commerce calculated for twelve months. (with what stati it(he) should be such long is a separate question.) it is too much in it(him) will be components which will vary very often.

"Optimizing" cultures see the world in black-and-white light. "Adaptive" cultures, unlike them, recognize presence grey. They understand, that planning efemerno, and the control is practically impossible. "Adaptive" cultures realize, that the success can be reached(achieved), only having tried some various alternative variants, studying both on successes, and on mistakes(errors). They know what to study(investigate) new often not less important, than to use in work for a long time habitual.

Far not it is possible to consider(count) each project complex(difficult). In the majority of the organizations complex(difficult) projects make no more than 20 % from the general(common) number (however it is very important 20 %!). The decision of challenges of creation and testing ON the expert of management of the project and the developed methods of work does not mean refusal from old kind, it is necessary to look at how them to use in a new fashion simply. It is necessary to understand, that development ON - not so mechanical, and the organic, nonlinear and not determined process. It is necessary to change base principles on which the organizations build the work at the decision of challenges, and also to start to apply new, connected with them, experts. To pass from the category of optimizing cultures in the category adaptive means to make a step in the future, instead of to vegetate in the past.

Jim Khajsmit (Jim Highsmith) (jimh@adaptivesd.com) - the president of the company " Information Architects, Inc "., the author of the book " Adaptive Software Development: A Collaborative Approach to Managing Complex Systems " (" Adaptive development of the software: the joint approach to management of complex(difficult) systems), the editor " E-business Application Delivery. Advises those IT the organizations and the companies, engaged program development which aspire to work in higher rate.

More detailed information about ASD can be found to the address of: http: // www.jimhighsmith.com or http: // www.agilealliance.com



© Copyright Jim Highsmith, 2000, all rights reserved
© Copyright maxkir.com, translation(transfer), 2002

Email me