FEAST-Feedback,EvolutionAndSoftwareTechnologyKeynoteLectureSAICSIT’99MountAmanziLodgeJohannesburg,SA19November1999MMLehmanDepartmentofComputingImperialCollegeofScienceTechnologyandMedicineLondonSW72BZ+442075948214fax.+442075948215mml@doc.ic.ac.uk~mml/17/12/999:52ammml634/3kc2Background•1968studyofIBMProgrammingProcess•SubsequentstudyofevolutionofOS/360and5othersystems•1971observationthatsoftwareprocessesmustbeseenandtreatedasfeedbacksystems•ObservationsandinterpretationledtoformulationofLawsofSoftwareEvolution•AndtoaPrincipleofUncertainty•Morerecentlyto:FEASThypothesis,FEAST/1,FEAST/217/12/999:52ammml634/3kc3SettingtheSceneE-typeapplications,systems,software•Realworldactivitiesandsystemssupportingthem•Systemmustbevalidated•Ultimatevalidationcriterion,acceptabilitytostakeholders-e.g.usersatisfaction•Correctnessirrelevant,oftenmeaningless-cannotbeprovenS-typesystems,software•Systemdefinedbyitsspecification-openloopbydefinition•Criterionofacceptability:verifiedcorrectness-relativetospecification•Unsatisfactoryspecificationrequiresre-developmentofspecificationandprogramNote•S-typeprogramsthebricksfromwhichE-typesystemsshouldbeconstructedHowareE-typesystemsevolved,iedeveloped,maintained?17/12/999:52ammml634/3kc4E-typeSystemEvolutionProcess•TriggerNeed/Demand/Opportunitynotsatisfiedbycurrentsystem-manualorautomatedleadstoPreliminarystatementofsystempurposeorrequiredchange•YieldsApplicationconceptInitialidentificationofdomainofapplicationNote:theserepresenttwoseparateandindependentconcepts•Bothinitially:–illdefined,thatis:•notexplicitlybounded•neitherfullynorpreciselyverbalised•Universethedomain•FirststepsVerbalise,bound,develop17/12/999:52ammml634/3kc5Bounding•Elicit,reconcile,merge,limitincompleteandbiasedviewsofstakeholders:-–organisationalandindividualusers–theirclients,thatisdirectandindirectsystemusers–theirsuppliers–domainsandapplicationexperts–marketeersandprocurementpersonnel–systemandsoftwareengineers–developers–etc.,etc.•Processofsuccessiveelucidationblendsviewpointstoprovidebasefordevelopment•Convergencetoconsensuschangesapplication,bounds•Leadsinto:Developmentprocess17/12/999:52ammml634/3kc6DevelopmentProcessAmoredetailedviewofboundingstep•Processisrequiredtoyieldavalidatedsystemreadyfor:Installation,useTheories,Models,Procedures,LawsofApplicationandSystemDomainsEvolvingUnderstandingandStructureViewsApplicationConceptProgramComputationalProceduresandAlgorithmsProgramDefinitionRequirementsAnalysisApplicationDomainEvolvingViewsApplicationDomainApplicationConcept17/12/999:52ammml634/3kc7ClosingtheLoop•Installationofsystemchangesdomain–systemcontainsimplicitmodelofitself•Usechangesapplication•InstallationandintroductionintousageclosesamajorfeedbackloopAdriverofcontinuingsoftwaremaintenanceThatissystemevolutionApplicationConceptComputationalProceduresandAlgorithmsProgramDefinitionRequirementsAnalysisOperationalProgramApplicationDomainPredictiveViewsEvolvingUnderstandingandStructureTheories,Models,Procedures,LawsofApplicationandSystemDomainsProgramExogenousChange17/12/999:52ammml634/3kc8WhatisMaintained?Factoflife•Softwaresystemisafinitemodelofanapplicationwithacountablyinfinitesetofpropertiesinanunboundeddomain•Thegapbetweenthetwoisbridgedbyconsciousorunconscious,explicitorimplicitassumptionswhoserealisationisembeddedinthesystem•InevitablysomeoftheassumptionswillbecomeinvalidastimepassesandtheapplicationandtheoperationaldomainsevolveSowhatismaintained?•Validityofassumptionset•StakeholdersatisfactionSystemadaptedtomeetcontinuallyevolving(changing)needs17/12/999:52ammml634/3kc9SmallPartofPicture•Stepped,sequential,standaloneprocessamyth•Manygroupsinvolvedinorinfluenceprocessanditsproduct•Iterationasrequired•EntirecomplexpartofoperationaldomainMustfocusonglobalprocess17/12/999:52ammml634/3kc10TheGlobalProcessAtbestapartialpictureApplicationConceptOperationalProgramViews(Predictive)EvolvingUnderstandingandStructureTheories,ModelsProcedures,LawsofApplicationandSystemDomainsRequirementsAnalysisComputationalProceduresandAlgorithmsProgramDefinitionProgramCorporateManagementMarketeersUsersUserSupportProject&ProcessManagersExogenousChange.17/12/999:52ammml634/3kc11TheGlobalProcess•Complexmulti-agent,multi-level,multi-loopfeedbacksystem•Factoflifethatcannotandmustnotbeignored–fordaytodaymanagement–foreffectiveplanning–whenseekingprocessimprovementFEASThypothesis17/12/999:52ammml634/3kc12FEASTHypothesis•GlobalsoftwareprocessforE-typesystemsiscomplexfeedbacksystemwhosedynamicsmustbeconsideredwhenseekingmajorprocessimprovement-forotherthanprimitiveprocesses•Changestofeedbackstructureandmechanismsmaywellbegloballymoreeffectivethantraditionalforwardpathfocusandchanges•Needtodevelopdisciplineoffeedbackcontrolandmanagement•Preliminaryinvestigationin:FEASTprojects17/12/999:52ammml634/3kc13FEASTProjects•FundedbyUKEngineeringandPhysicalSciencesResearchCouncil•FEAST/1investigatedcommonbehaviour,evolutionarytrendsofsystems•FEAST/2isrefiningandextendingresults,examiningbehaviouralandtrenddifferencesan