Portability

Shared by: zhangyun
Categories
Tags
-
Stats
views:
3
posted:
10/5/2011
language:
English
pages:
13
Document Sample
scope of work template
							Portability
  Hohmann Chapter 6




               www.itu.dk   1
   The Perceived Advantage of
           Portability
• By supporting multiple platforms, we
  can address new markets
  – Not necessarily, building a good solution on
    one platform is better than building
    mediocre solutions on many (an exception
    seems to be midrange software)


• By supporting multiple platforms, we
  demonstrate that we can meet
  customers individual needs
  – Customers want platform specific features,
    portability moves in the other direction!
                              www.itu.dk         2
 Real Motivation for Portability


• Developers think writing portable code
  is cool
  – Reality is that it is hard and tedious


• One or two key customers demanded
  different solutions
  – Search for customers within target marked




                               www.itu.dk       3
 Key Cost Factors of Portability

1.   Training developers and QA
2.   Purchasing hardware
3.   Testing time (the matrix of pain)
4.   The complexity of managing multiple
     release cycles

• A good rule of thumb: it is easier to
  justify a portable technology like a DB
  than an application


                           www.itu.dk       4
 Techniques Helpful for Making
     Portable Applications
• Use an interpreted language
• Use standards-based persistent storage
  (XML, ansi SQL)
• Use XML for communication between
  subsystems
• Make business logic portable: not
  buried within system specific resources
• Closer to user means less portable.
  GUIs hard!
• Avoid hiding the power of a specific
  platform

                          www.itu.dk    5
  The Matrix of Pain: market
 driven configuration matrices
• Toy Example
  – 5 operating systems on two platforms
    • Unix: Solaris 2.7, Solaris 2.8
    • Windows: NT 3.5.1, NT 4.0, XP
  – 2 Web servers: Apache, IIS
  – 2 browsers: Netscape, IE
  – 4 DBs: Oracle 8i, Oracle 9i, SQLServer 7.0,
    SQLServer 2000
• 5x2x2x4 = 80 configurations
• Problem: QA can cover 10 times less


                                 www.itu.dk   6
                Step 1: Remove Invalid
                    Configurations
                       Solaris 2.6     Solaris 2.7    NT 3.5.1     NT 4.0        XP


Apache                         PC               PC            PC        PC               PC

IIS                            NA               NA            PC        PC               PC

Netscape                       PC               PC            PC        PC               PC

IE                             NA               NA            PC        PC               PC

Oracle 8i                      PC               PC            NS        PC               PC

Oracle 9i                      NS               PC            NS        PC               PC

SQLServer 7                    NA               NA            PC        PC               PC

SQLServer 2000                 NA               NA            NS        PC               PC

Total valid                     1                2             4        16               16
configurations (39)


PC = Possible configuration,         NS = Not supported,           NA = Not Applicable


                                                           www.itu.dk              7
         Step 2: Rank-Order
           Configurations
• Make prioritization based on which
  configurations:
  – Are actually installed in the field
  – Are used by the largest most profitable
    customers
  – Are going to be most heavily promoted
  – Are most easily supported!
• Use color coding: must test, should
  test, would like to test
• Or weights


                              www.itu.dk      8
        Step 2: Rank-Order
          Configurations
• Use Pareto Chart to analyze the
  distribution of customer configurations




           C1 C2 C3 C4 C5

               Adopted from: www.isixsigma.com

                             www.itu.dk          9
                      Step 2: Rank-Order
                        Configurations
                      Solaris 2.6   Solaris 2.7   NT 3.5.1    NT 4.0    XP


Apache                          1             1         0.2       0.5        0.3

IIS                                                     0.8       0.5        0.7

Netscape                        1             1         0.2       0.2

IE                                                      0.8       0.8         1

Oracle 8i                       1           0.5                   0.1

Oracle 9i                                   0.5                   0.3        0.3

SQLServer 7                                              1        0.5        0.2

SQLServer 2000                                                    0.1        0.5

Total valid                    1              2          4         16         6
configurations (29)




                                                    www.itu.dk          10
                               Cut
            Step 3: Make Final 53% revenue
                                                   from Solaris.
              Solaris 2.6   Solaris 2.7   NT 3.5.1 Consider all 3
                                                     NT 4.0   XP


Apache                 √              √            configuration
                                                            √
                                                  Orthogonality
IIS                                            √        √        √

Netscape               √              √                 √

IE                                             √        √        √

Oracle 8i              √              √                 √

Oracle 9i                             √                          √
                NT 3.5.1
SQLServer 7                             √               √
            phasing out, NT 4.0
SQLServer 2000                                                   √

Total valid
                only oneMost important 1
                         1       2                      8        2
            configuration
configurations (14)
                       configuration, but
                 SQL output identical
                                           www.itu.dk       11
                 Step 3: Make Final Cut
                      Solaris 2.6   Solaris 2.7   NT 3.5.1   NT 4.0       XP


Apache                         √              √                       √

IIS                                                      √                     √

Netscape                       √              √                       √

IE                                                       √            √        √

Oracle 8i
                              Removing IIS.
                              √        √                              √

Oracle 9i
                             Still the relative
                                       √                                       √

SQLServer 7
                             most important√                          √

SQLServer 2000                                                                 √

Total valid                    1              2          1            4        2
configurations (14)




                                                    www.itu.dk            12
               All Pairs

• Assume n variables with two values
• How many configurations?
  – 2n
• Simple upper bound on the number of
  distinct pairs?
  – (2n)2




                           www.itu.dk   13

						
Related docs
Other docs by zhangyun
Appendices
Views: 3  |  Downloads: 0
ProyLey2012Tit_402
Views: 2  |  Downloads: 0
Pro Men Raw Full Power Records
Views: 82  |  Downloads: 0
CMMnotes Oct 29 09
Views: 32  |  Downloads: 0
return of the king
Views: 26  |  Downloads: 0