CONFIGURATION
    MANAGEMENT: WHAT DOES
    VERSION NUMBER TELL US?
1
WHAT IS BUILD



        From           Process          To
                    of conversion




                                                run at the end-user
      Source code                   Artifacts       workstation




                                                                      2
WHY DO WE NEED TO BUILD?

                          Build
                              RESULT OF


                      Configuration
  defined set of components or elements of specific
   versions
  components = functional units
  components and their versions are chosen to meet
   specific objectives or tasks

                      Main objectives
                                                        3

      Functionality                       Performance
WHY DO WE NEED TO BUILD?


Conclusion. Why we need to build is:
 To incorporate additional functionality
 (feature)
 To reach defined level of
 performance
 Or implement other functional/non-
 functional requirements                4
WHY DO WE NEED TO MANAGE
BUILDS?
 When application grows in size, it becomes
 more complex
 What   means complex application?
 From   configuration management point of
 view,

         most complex application
         incorporate all possible
         variant properties                  5
BUILD VS VARIANT

Build:
         install.msi

Variant:
      AppName-1.1.8.en.x32_beta.msi


Real world example:
 HTC_Touch_Diamond2_WM6.5_RUU_Topaz_S_HT
 C_RUS_2.16.411.2_Radio_Sign_Topaz_61.44
 tc.25.32_4.49.25.17_Ship.exe              6
CONNECTION BETWEEN
CONFIGURATION AND VARIANTS

     Functional requirements for the variant being built
               #1     #2     #3      …    #N


                           version                       Maturity
                                                         Platform
                           variant                       OS
                                                         Localization
                           build                         Build type




      configuration           +      source code changes
                                         (changeset)                    7


            static                             runtime
WHAT IS VARIANT




    Variant is the result of the build
   characterized by the set of specific
      properties and their values


                                          8
VARIANT PROPERTIES


 Version

 Build
      type: debug or release
 Operating system, hardware platform
    (x32, x64, …)
 Localization      (en, ru, ua, …)
 Platform
  (development, test, integration, production)
 Maturity (alpha, beta, release candidate, stable)
   …
                                                      9
It is possible to incorporate all variant
properties into single version number



                                            10
TELL ABOUT YOUR EXPERIENCE. HOW DO YOU
        MANAGE YOUR VERSIONS?




                                   11
END OF THE SECTION



                     13

1.2 introduction to scm - what does version number tell us

  • 1.
    CONFIGURATION MANAGEMENT: WHAT DOES VERSION NUMBER TELL US? 1
  • 2.
    WHAT IS BUILD From Process To of conversion run at the end-user Source code Artifacts workstation 2
  • 3.
    WHY DO WENEED TO BUILD? Build RESULT OF Configuration  defined set of components or elements of specific versions  components = functional units  components and their versions are chosen to meet specific objectives or tasks Main objectives 3 Functionality Performance
  • 4.
    WHY DO WENEED TO BUILD? Conclusion. Why we need to build is:  To incorporate additional functionality (feature)  To reach defined level of performance  Or implement other functional/non- functional requirements 4
  • 5.
    WHY DO WENEED TO MANAGE BUILDS?  When application grows in size, it becomes more complex  What means complex application?  From configuration management point of view, most complex application incorporate all possible variant properties 5
  • 6.
    BUILD VS VARIANT Build: install.msi Variant: AppName-1.1.8.en.x32_beta.msi Real world example: HTC_Touch_Diamond2_WM6.5_RUU_Topaz_S_HT C_RUS_2.16.411.2_Radio_Sign_Topaz_61.44 tc.25.32_4.49.25.17_Ship.exe 6
  • 7.
    CONNECTION BETWEEN CONFIGURATION ANDVARIANTS Functional requirements for the variant being built #1 #2 #3 … #N version Maturity Platform variant OS Localization build Build type configuration + source code changes (changeset) 7 static runtime
  • 8.
    WHAT IS VARIANT Variant is the result of the build characterized by the set of specific properties and their values 8
  • 9.
    VARIANT PROPERTIES  Version Build type: debug or release  Operating system, hardware platform (x32, x64, …)  Localization (en, ru, ua, …)  Platform (development, test, integration, production)  Maturity (alpha, beta, release candidate, stable)  … 9
  • 10.
    It is possibleto incorporate all variant properties into single version number 10
  • 11.
    TELL ABOUT YOUREXPERIENCE. HOW DO YOU MANAGE YOUR VERSIONS? 11
  • 12.
    END OF THESECTION 13

Editor's Notes

  • #2 Одним из основных вопросов конфигурационного менеджмента является то, как назначать версии нашим программным продуктам
  • #3 Понятие версии напрямую связано с понятием сборки.Сборка – это процесс преобразования из исходного кода в артефакты, исполняемые на рабочей станции конечного пользователя
  • #4 Конфигурация – результат сборкиВ качестве конфигурации выбираются компоненты и их версии, предназначенные для того, чтобы решать определенные задачи: реализовывать требования. Требования могут быть функциональными и нефункциональными. В качестве нефункциональных я здесь привожу пример производительности.
  • #11 Это вопрос будет раскрываться на протяжении всей серии тренигов посредством приводимых примеров и решения возникающих противоречий.
  • #12 Это вопрос будет раскрываться на протяжении всей серии тренигов посредством приводимых примеров и решения возникающих противоречий.