 Agile.  
 . 


  ()
          Agile.    ( ) ,       Agile,           ,      .      ,  ,      Agile.  Agile    ,     Agile        .

  Agile         ,       ,     ,          .               ,       Agile.

     Agile,         Agile.  Agile ,    , , ,    .





 

 Agile.  



Robert C.Martin

Clean Agile. Back to Basics



 2020 Pearson Education, Inc.

       , 2020

    ,    , 2020

   , 2020


* * *




    Agile


  , Agile,       ,  . ,       .  ,      ,       .   Agile  .   ,   Agile    ,    .

 



       Agile, , ,   . ,     Agile,        ,      .        .   .   .

 



   ,      Agile.  ,  ,  ,             -  .        .        ,   .      ,   85,09%.

 



  ,    ,      Agile.  , ,    ,   .     .        ,   Agile.

   


 ,         










       Agile?    ?  ?

          .            Agile.    ,      .        Agile.

       .      1979-,         Teradyne.   -,     ,        .       .

-             .  1981-             ,          .       ,       E.R.   (The Electronic Receptionist).   .       MP/M    Intel 8086.       Seagate ST-506.       ,    .  ,      .        .

   1985-,    1986- Teradyne    E.R.        .      ,         .

      Teradyne    .       .         .               .

 2000    -     Learning Tree International.      UML     (USDP).       ,      Scrum,     .

   2001    Agile.       :    Agile?  ,    ,    ,      .  Agile    ?   !

   .                .           USDP.

  18 ,    .         .     Agile      .

        .   ,    ,      Agile.  , ,    ,   .     .        ,   Agile.



  Software Renovation Corporation  2019 










,     ,   .       . ,    ,   ,   . -,       Agile.

   - .         .       ,   ( )      ,   ,     !

   ,   .    ,   -  ,   ,   .         Agile,      ,   .             ,      .     ,        . ,          ,    Agile,      .

   ,    .    .

  .        Agile    -   ,   .

 .  ,      . Agile   ,     ,    ,    . Agile         ,    .   -   ,          .   ,  ,    ,    1950-  60-,  ,      .              .     1970-.    ,    ,   ,       .

   ? ,   !      .          ,        .  1950-  60-       .   1970-    - .

  ? ,    - .         1970- .         .         .      .

   1950-  60-   .      30, 40    50.  1970- ,     -,     .       .    20        ,       ,      .

 ,         .   30     ,  ,        ,   ,             .

,   1990-,    ,   .        .           .  2000-   ,      .

    ,   ,    ,   .     ,      ,        .  ,  ,    ,   .     Agile.

       2019-.        2000- , , ,     .

?  ,      Agile      .     Lean, Kanban, LeSS, SAFe, Modern, Skilled   .    - ,      Agile.

   ,    ,       1950-  60- ,   ,       2000-.  ,   Agile   .

        ,   .  ,   . ,      Agile,  ,      2000-.  .      .   20 ,     ,   - ,     .        ,    2001-,   1950-.

   .      .          ,    ,    .







      ,      ( ,   ) ,    ,     .

    .     ,  Agile,      .

             Agile.

          ,      Agile,     Agile Alliance.

  ,     , ,             Agile.

     Agile,           .

    Agile     .  :   ,  ,  ,  ,  ,  ,  ,  ,     .

 ,     ,         Agile   ,     (    , )    .

    ,    Object Mentor Inc.           Agile.       ,         XP Immersion.






 :  ,  (),  ,  ,  ,  ,  ,  ,  .  :  ,  ,  ,  ,  ,  ,  ,  .  :  ,  ,  ,  ,  ,     



    ,       Agile Alliance.                   .






 :  ,  , ,  ,   ( :  )



,     Pearson,      .




 










 . ( )     1970 .     cleancoders.com,        ,   Uncle Bob Consulting LLC,    ,         .      ,    , 8th Light Inc.,   .

                .         cleancoders.com.        ,   :

 -   C++    (Designing Object-Oriented C++ Applications Using the Booch Method)

      3 (Patterns Languages of Program Design 3)

   C++ (More C++ Gems)

    (Extreme Programming in Practice)

  . , ,  (Agile Software Development: Principles, Patterns, and Practices)

UML    Java (UML for Java Programmers)

 [1 - .  : ,   . .: , 2018.  464 .: .]

 [2 - .  .     . .: , 2019.  224 .: .]

 [3 - .  .    . .: , 2020.  352 .: .]

     , -        C++ Report,     Agile Alliance.




 


 , ,     comp@piter.com ( ,  ).

     !

 -  www.piter.com       .




 1.   Agile






  2001-             ,  .      .            ,       Rational Unified Process (RUP).      ,        .

 ,   .       , ,    . ,        ,    .   ,    ,   ,   Agile                .

            .   ,     -,         , ,  ,  .

          .   - ,    CRC-. , ,    ,     .            . -      .  Agile .

 ,        ,       .   ,       ,   ,       .     Agile.

 ,          ,       .            Agile    .

     Agile.         .      Agile      Agile.   Agile   .  ,       ,       Agile,      .




 Agile


  Agile? ,  50   ,         .                 ,     -  .

   Agile   ?  .   ,   ,  ,    ,       ,      Agile.   ,          ,  ,    .

   Agile   ?          ,       1936 [4 - TuringA.M. 1936. On computable numbers, with an application to the Entscheidungsproblem []. Proceedings of the London Mathematical Society (   ), 2 (. 1937), 42(1):23065.            : Petzold C. The Annotated Turing: A Guided Tour through Alan Turings Historic Paper on Computability and the Turing Machine. Indianapolis, Indiana: Wiley, 2008.].   ,     ,            .

   ,   ,        (Automatic Computing Engine, ACE)  1946 ,   ,  ,               .

           ,      Agile. , ,        ,            .

     .       ,       [5 -  , c2.com    ,      .      .],      Agile & Iterative Development: A Manager's Guide[6 - Larman C. Agile & Iterative Development: A Managers Guide. Boston, Massachusetts: Addison-Wesley, 2004.].

    Agile. ,   ,          :   .

     -    .     ,                    .  ,    ,       .

  , ,   ,    ,       :   ,    -.   ,          ,      .

          ,   1880-.    ,           .               .

    1970-,               . -Agile (Agile,     Agile)         ,     ,          .              . -Agile         ,         .

       ,         .       .        ?        ?     ?     ,     ?

      .   ,     .   ,  ,   1970- , ,  , ,  .

 1970      [7 - RoyceW.W. 1970. Managing the development of large software systems. Proceedings, IEEE WESCON, August: 19. URL: http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf.]          .      (.1.1),     .             .                 .






.1.1.   ,        



     .  ,        ,       ,         .

,   ,    ,     ,     .

       .          ,   ,        .       ,        .           [8 -  ,        . .: BossavitL. The Leprechauns of Software Engineering: How Folklore Turns into Fact and What to Do About It, Ch. 7. Leanpub, 2012.].

      .  1970-   18 ,      A.S.C.Tabulating,    , .

    IBM 360/30      16 , IBM 360/40   64    Varian 620/f   6 .      360  COBOL, PL/1, Fortran  .  620/f     .

 ,      .         .    ,   ,     .       ,        ,  ,   ,    .           ,      ,  , .

  620/f   .     ,       ,  .   , ,         .       , ,       ,  .        ,      ,   .

       ? , ,    .        .      , ,    .      .     Agile    -Agile.       -  .    -        .        .   ,   .

          1972 .     .      ,    ,    ?        ,     ?

,   ,     ?     .     .   ,   .

  ,    ,            . ,    ,       .

 ,   .       , ,                 .   ,   ,   ,        .      -    ,           .

     ,        .   ,   ?    ,          ?     ,      .       .     , -    .

 ,      ,      .    1968    ,  [9 - DeMarco T. Structured Analysis and System Specification. Upper Saddle River, New Jersey: Yourdon Press, 1979.]   [10 - Page-JonesM. The Practical Guide to Structured Systems Design. Englewood Cliffs, New Jersey: Yourdon Press, 1980.]   .  1988 ,  -  ()  , - [11 - CoadP., Yourdon E. Object-Oriented Analysis. Englewood Cliffs, New Jersey: Yourdon Press, 1990.]  - [12 - Booch G. Object Oriented Design with Applications. Redwood City, California: Benjamin-Cummings Publishing Co., 1991.]    .   ,        .     ,    - -.

  ,  .

 ,   Agile,    1980-    90-.   Smalltalk      1980-.     - ,   1991-,    .     1991.    Crystal Methods.  Design Patterns     1994-   ,   [13 - CoplienJ.O. A generative development-process pattern language. Pattern Languages of Program Design. Reading, Massachusetts: Addison-Wesley, 1995. P. 183.].

 1995  [14 -     23  2018      ,      99 ,      .     .], , ,         Scrum ()[15 - BeedleM., DevosM., SharonY., SchwaberK., SutherlandJ. SCRUM: An extension pattern language for hyperproductive software development. : http://jeffsutherland.org/scrum/scrum_plop.pdf.].   .      ,     .

       . ,    ,   ,         ,  .   ,      ,      .   ,        .

         1994      PLoP[16 - Pattern Languages of programming  ,    1990-     .],     .    ,     .         1999-    ,  .           .

       C++  - ,     ,       C++    - .

     .  ,       - ,      .    [17 -      ,     .      - ,        ,          .]      ,     .

      - .  ,     ,            (XP).

      ,     .    (  ,    ).   ,    -  (        ).     .

  ,      ,  - ,  ,          . -            -  ,    .         .         ,  ,       .

           ,    .

        Object Mentor.              ,   XP Immersion.   1999-  11  2001 [18 -    ,    .]    !    .

 2000            .      .          .          .   ,      .

    .    ,      . ,            .    ,   .           ,     .  .

     2000       Thought Works,   .              ,  .       .     .    ,  ,    .         .

     .     ,      ,      ,   .          ,            --.

,    .







    ,       .  -    ,     ?

             .

 17 .         ,        .     ,     .   ,          ,     .

,   ,               .             .

  17           .      .    ,  ,  ,    .

 Scrum      ,     .

     ,  ,         . ,      ,      Crystal.

    . ,         .       .      .           .      ,     ,  ,        . , ,   .       ,   ,   -      .      .

      ,       .      -,  ,  [19 -       ,     The Atlantic     : Caroline Mimbs Nyce. The winter getaway that turned the software world upside down // The Atlantic. 08.12.2017. URL: https://www.theatlantic.com/technology/archive/2017/12/agile-manifesto-a-history/547715/.     ,       ,       ,    .].     ,   .       .   65,         . ,    ,  , ,  .

-   ,     .        ,       ,                 ,  . ,  .

 ,         .

    ,      ,          .       ,    .  ,    .

 ,     ,    .   ,      .

,         :   ,   ,       . -    - ,     .         ,    ,       , , ,   .

    Agile, , ,    ,      .   ,    .        .

     agilemanifesto.org.  ,   ,     .            ,    [20 -  ,    ,   :  ,   (, ,  ),  (         ),  , -,     . -,    ,   .     , ,    ,       .]




  .


   .

   ,     (https://www.litres.ru/pages/biblio_book/?art=56089520)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .



notes








1


.  : ,   . .: , 2018.  464 .: .




2


.  .     . .: , 2019.  224 .: .




3


.  .    . .: , 2020.  352 .: .




4


TuringA.M. 1936. On computable numbers, with an application to the Entscheidungsproblem []. Proceedings of the London Mathematical Society (   ), 2 (. 1937), 42(1):23065.            : Petzold C. The Annotated Turing: A Guided Tour through Alan Turings Historic Paper on Computability and the Turing Machine. Indianapolis, Indiana: Wiley, 2008.




5


 , c2.com    ,      .      .




6


Larman C. Agile & Iterative Development: A Managers Guide. Boston, Massachusetts: Addison-Wesley, 2004.




7


RoyceW.W. 1970. Managing the development of large software systems. Proceedings, IEEE WESCON, August: 19. URL: http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf.




8


 ,        . .: BossavitL. The Leprechauns of Software Engineering: How Folklore Turns into Fact and What to Do About It, Ch. 7. Leanpub, 2012.




9


DeMarco T. Structured Analysis and System Specification. Upper Saddle River, New Jersey: Yourdon Press, 1979.




10


Page-JonesM. The Practical Guide to Structured Systems Design. Englewood Cliffs, New Jersey: Yourdon Press, 1980.




11


CoadP., Yourdon E. Object-Oriented Analysis. Englewood Cliffs, New Jersey: Yourdon Press, 1990.




12


Booch G. Object Oriented Design with Applications. Redwood City, California: Benjamin-Cummings Publishing Co., 1991.




13


CoplienJ.O. A generative development-process pattern language. Pattern Languages of Program Design. Reading, Massachusetts: Addison-Wesley, 1995. P. 183.




14


    23  2018      ,      99 ,      .     .




15


BeedleM., DevosM., SharonY., SchwaberK., SutherlandJ. SCRUM: An extension pattern language for hyperproductive software development. : http://jeffsutherland.org/scrum/scrum_plop.pdf.




16


Pattern Languages of programming  ,    1990-     .




17


     ,     .      - ,        ,          .




18


   ,    .




19


      ,     The Atlantic     : Caroline Mimbs Nyce. The winter getaway that turned the software world upside down // The Atlantic. 08.12.2017. URL: https://www.theatlantic.com/technology/archive/2017/12/agile-manifesto-a-history/547715/.     ,       ,       ,    .




20


 ,    ,   :  ,   (, ,  ),  (         ),  , -,     . -,    ,   .     , ,    ,       .


