Monday, December 12, 2011

Frederick P. Brooks

He was Corporate Project Manager for the System/360, including development of the System/360 computer family hardware and the decision to switch computer byte size from 6 to 8 bits.

His best-known books are
  • The Mythical Man-Month (1975, 1995); 
  • Computer Architecture: Concepts and Evolution (with G.A. Blaauw, 1997); and 
  • The Design of Design (2010).
 Dr. Brooks has received the National Medal of Technology, the A.M. Turing award of the ACM, the Bower Award and Prize of the Franklin Institute, the John von Neumann Medal of the IEEE, and others. He is a member of the U.S. National Academies of Engineering and of Science, the American Academy of Arts and Sciences, the Royal Academy of Engineering (U.K.) and of the Royal Netherlands Academy of Arts and Sciences.

The Mythical Man-Month

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. 20 years after the initial publication of his book, Brooks has revisited his original ideas in a new version.

  1. a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; 
  2. Brooks' view of these propositions a generation later; 
  3. a reprint of his classic 1986 paper "No Silver Bullet";[printed in Computer mag April 1987]
    "Essence and Accidents of SW Engineering"
  4. today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."



Tom DeMarco

Bell Lab
ESS-1 SW Engineer, from an electronic background.

What's the matter with you software people?

" ... everything we were doing had the unstated goal of moving the hard stuff out of the hardware into the software."

Founder of the "Atlantic Systems Guild"

Early work on SW design metrics now no longer supported ! 

Now apply “You can’t control what you can’t measure” to the teenager. Most things that really matter—honor, dignity, discipline, personality, grace under pressure, values, ethics, resourcefulness, loyalty, humor, kindness—aren’t measurable.  You must steer your child as best you can without much metric feedback. It’s hard, but then parenting is hard. You get a little bit of measurement in the form of school grades, and you’re grateful for it. But you also know that your child’s math grade is a better indicator of achievement than his Spanish grade, because math understanding is easier to measure. And his “grade” in comportment is much more likely to tell you something about the teacher than about the child.

.... So far, I’ve mostly discussed software engineering’s metric component. How about the rest? I’m gradually coming to the conclusion that software engineering is an idea whose time has come and gone. I still believe it makes excellent sense to engineer software. But that isn’t exactly what software engineering has come to mean. The term encompasses a specific set of disciplines including defined process, inspections and walkthroughs, requirements engineering, traceability matrices, metrics, precise quality control, rigorous planning and tracking, and coding and documentation standards. All these strive for consistency of practice and predictability.

Consistency and predictability are still desirable, but they haven’t ever been the most important things. For the past 40 years, for example, we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business. We’ve been rather successful at transformation, often while operating outside our control envelope. Software development is and always will be somewhat experimental. The actual software construction isn’t necessarily experimental, but its conception is. And this is where our focus ought to be. It’s where our focus always ought to have been.

Classic book :   Peopleware 
February 1, 1999
Demarco and Lister demonstrate that the major issues of software development are human, not technical. Their answers aren't easy--just incredibly successful.
Other publications :

    1979. Structured Analysis and System Specification. Prentice Hall, ISBN 0138543801
    1986. Controlling Software Projects: Management, Measurement, and Estimates. Prentice Hall,
           ISBN 0131717111
    1987. Peopleware: Productive Projects and Teams. With Timothy Lister. Dorset House.
           ISBN 978-0932633439
    1997. The Deadline: A Novel About Project Management. Dorset House.
    2001. Slack, Getting Past Burnout, Busywork, and the Myth of Total Efficiency.
    2003. Waltzing with Bears: Managing Risk on Software Projects.
           With Tim Lister. Dorset House in March, 2003.
    2008. Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior.
           With Peter Hruschka, Tim Lister, Suzanne Robertson, James Robertson, Steve McMenamin.
           ISBN 978-0932633675

    2009. "Software Engineering: An Idea Whose Time Has Come and Gone?".
           IEEE Software, Viewpoints. July/August 2009. pages 94–95.

Wednesday, December 7, 2011

Grady Booch: On Archtecture

Grady Booch

best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh.

Grady is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments. He has devoted his life's work to improving the art and the science of software development. Grady served as Chief Scientist of Rational Software Corporation since its founding in 1981 and through its acquisition by IBM in 2003. 
He now is part of the IBM Thomas J. Watson Research Center serving as Chief Scientist for Software Engineering, where he continues his work on the Handbook of Software Architecture. Grady has served as architect and architectural mentor for numerous complex software-intensive systems around the world in just about every domain imaginable.
 
Grady Booch : On Architecture : " Draw me a picture"

Text : http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=05672512


Great podcast :
http://www.computer.org/portal/web/computingnow/onarchitecture
Booch - On Architecture Podcasts

Aside from giving some guidance on what we're trying to do when we start drawing system architecures for discussion and posterity, this gives a summary of the values of architectural viewpoints.

He also presents a summary of the series so far.