INFO 447 - L15 - February 23, 2005 Notes By: Prins, Serim, Horm Case Ware -> Continuus -> Telelogic (www.telelogic.com) Configuration Management - How does any software development process begin? * Break the problem/process down * Identify and group functions of the software - Why? * Easier to manage * People can specialize in specific areas Conway's Law - When you decompose large software products, it is not always rational. It usually follows the organizational structure, not the software development structure. - You decompose the software product as a function of the organization Decomposition - If you just decomposed it in the right way, it would work out better - You can't eliminate all dependencies - The decomposition argument is about management. If they spend less time figuring out how it works, they spend more time coding. Fredrick Brooks 'The Mythical Man Month' - Manager on a really complex project, was almost a disaster - Once it was out, it was one of the most successful products - When you add people to a product it ended up being later How do you keep track of it all? - Break up the teams - Version Control * CVS * SVN * VSS Why Version? - Bug Fixes - Updates - Control the version of the tool that is used to build these things Perfective Maintenance - Add some features! Corrective Maintenance - Bug Fixing Good Configuration Management 1) Source/Version Control 2) Configuration Control 3) Process 4) Issue/Task Tracking Grinter Stuff - If you don't use the tool in the way it is meant to be used you'll run into problems - Should create an issue in the DB, check it out, fix it, check it in - They didn't do this... they just edited the code - Bad because * the versioning is off * dependancies are messed up when people test on local copy - Use the tool to think about what other people had done - Organizational Memory * good for when changing company names - Interaction Mechanisms - Articulation Work * The work you have to do... to do the work * The discussion of work - This tool does not show... * The architecture. It can't show it. * They talk a lot about what they are working on. But, more times than not their work was not related... but they thought it was. ** Recomposition Paper ** What's the main idea? - Relationships between different teams, how the relationships work when you put them back together. - Only decompose once (ideally) but recompose many times - When recomposition doesn't work, developers need to talk to each other Found Some Things - Build - Merging # END #