Tuesday, August 5, 2008

Mary Poppendieck

First of all I'd like to excuse my ignorance of not knowing who Mary Poppendieck is. I had read a lot of software engineering text books back in university but, although the name rings a bell, it didn't catch much of my attention back then and I hadn't hear much about her since. I find it kind of impressive to hear a presentation from a 40 year veteran in software development citing famous people like Dijkstra.

The presentation was title "Expanding Agile Horizons, The Five Dimensions of Systems". The purpose of the presentation was to look at agile methodologies compared to what has been done beforehand and to try and explorer if agile is not just another fad. In order for agile to work, it must be a sustainable process that will not only provide immediate short term benefits but will continue to provide these benefits over time.

A history of programming practices was presented from the pre-internet era up until the World Wide Web boom of 1995. This all showed us that much of the methodologies and paradigms today aren't new. Some very similar practices were once used but had different names:
  • Structured programming
  • Not separating design from implementation
  • Information hiding
  • Top down programming
  • Chief programmer teams
According to Mary, during the World Wide Web boom, these practices seemed to have been forgotten because the web was not considered software properly said... it was the Net and businesses were booming. Some lessons we can take from this time and that can be applied to software today are:
  • Breaking dependencies
  • Broad-based discussions
  • Design systems to accommodate change
Emphasis was put on the importance of making a clear distinction between project management practices and systems engineering. Over time, systems engineering principles haven't much in contrast to project management practices. So in essence, the message was that AGILE = Good Engineering Practices.

This brought on the presentation of the five dimensions of systems:
  1. Purpose
  2. Structure
  3. Integrity
  4. Life span
  5. Results
I will leave the details of each dimension as a link to the original presentation at the end of this post. In summary, the presentation was quite interesting, although a bit more time should have been spent on discussing the five dimensions. Finally, I think the message that was being passed on is that in order for agile to work, we need to insure that the practices are sustainable over time and that overall systems goals are achieved.

A copy of the presentation can be found at the follow link:

Official Site:
http://www.poppendieck.com/

Presentation:
http://www.poppendieck.com/pdfs/The Five Dimensions of Systems.pdf

2 comments:

Anonymous said...

Overaqll -system- goals are important but I feel overall -business- goals are the most important. Satisfy the people who pay the checks - yeah? Weve used DSDM Atern a lot and I see this is represented on the Thursday session too..

J said...

Well, I think point Mary was trying to make is that over time, both system goals and business goals have been somehow confused and seen as a single entity. The message was that we need to clarify the distinction between both practices in order to something that is sustainable over time. Obviously, the "people" who pay the check" are considered however, better defined and distinct system engineering practices paired with proper project management practices are key in making it work.