Finished writing Succeeding with Agile review.
h3rald h3rald@h3rald.com
Sun, 25 Apr 2010 14:17:52 +0200
7 files changed,
184 insertions(+),
34 deletions(-)
M
README.textile
→
README.textile
@@ -8,12 +8,12 @@ h3. Requirements
The following ruby libraries (gems) have been used to create this web site: -* *"nanoc3":http://rubyforge.org/projects/nanoc/*, to generate the entire web site -* *"extlib":http://rubyforge.org/projects/extlib/*, in some custom Rake tasks -* *"bb-ruby":http://rubyforge.org/projects/bb-ruby/*, for the BBCode filter -* *"builder":http://rubyforge.org/projects/builder/*, to create RSS and ATOM feeds -* *"haml":http://rubyforge.org/projects/haml/*, for the SASS filter -* *"glyph":http://www.h3rald.com/glyph*, for the Glyph filter +* *"nanoc":http://rubygems.org/gems/nanoc*, to generate the entire web site +* *"extlib":http://rubygems.org/gems/extlib*, in some custom Rake tasks +* *"bb-ruby":http://rubygems.org/gems/bb-ruby*, for the BBCode filter +* *"builder":http://rubygems.org/gems/builder/*, to create RSS and ATOM feeds +* *"haml":http://rubygems.org/gems/haml/*, for the SASS filter +* *"glyph":http://rubygems.org/gems/glyph*, for the Glyph filter Additionally, the following gems were necessary to migrate from the previous version of this web site, powered by "Typo":http://www.typosphere.org: * *"mysql":http://rubyforge.org/projects/mysql/*@@ -21,7 +21,8 @@ * *"sequel":http://rubyforge.org/projects/sequel/*
Besides Ruby-related dependencies, the following was also necessary: -* *"pygments":http://pygments.org/*, a Python library for code highlighting +* *"pygments":http://pygments.org/*, a Python library for code highlighting. +* *"prince":http://www.princexml.com*, a program to generate PDF files from HTML. * A cron job to fetch backtype comments, delicious bookmarks, tweets, and github commits in JSON format and save them to the @/output/data@ folder. h3. Licensing
M
Rules
→
Rules
@@ -61,22 +61,29 @@ doc = %{
document[ head[ style[default.css] + style[css3.css] <style> h1 { font-size: 24px; - font-style:italic; margin: 0.5em auto; padding: 0.5em auto; } + .contents { + text-align:justify; + margin-bottom: 2em; + padding-bottom: 2em; + border-bottom: 1px solid #000; + } </style> ] body[ titlepage[ + =>[http://www.h3rald.com/archives/|img[$[site.root]/images/theme/h3rald.svg|25%|25%]] title[] - subtitle[] author[] <span class="pubdate">\\.$[document.date]</span> <div><em>Originally published on =>[http://www.h3rald.com#{item.identifier}|H3RALD.com]</em></div> + toc[] ] textile[ #{item.raw_content}@@ -90,16 +97,22 @@ file_write f, doc
# Now compile the PDF (works if Prince is installed) target = Glyph['document.output'] Glyph['document.output'] = 'pdf' - Glyph['document.author'] = "Fabio Cevasco" + Glyph['site.root'] = ".." Glyph['document.date'] = item[:date].strftime "%A, %d %B %Y" Glyph['document.title'] = item[:title] + Glyph['document.subtitle'] = "" Glyph.compile f.to_s, f.to_s.gsub(/\.glyph$/, '.pdf') - f.unlink - Pathname.new(f.to_s.gsub(/\.glyph$/, '.html')).unlink - Glyph.reset + begin + f.unlink + Pathname.new(f.to_s.gsub(/\.glyph$/, '.html')).unlink + rescue + end + # Re-apply overrides + require 'lib/glyph-data' # Filter text rep rep.filter :glyph layout 'default' + Glyph.reset end end end
M
content/about.textile
→
content/about.textile
@@ -16,19 +16,21 @@ h3. Requirements
The following ruby libraries (gems) have been used to create this web site: -* *"nanoc3":http://rubyforge.org/projects/nanoc/*, to generate the entire web site -* *"extlib":http://rubyforge.org/projects/extlib/*, in some custom Rake tasks -* *"bb-ruby":http://rubyforge.org/projects/bb-ruby/*, for the BBCode filter -* *"builder":http://rubyforge.org/projects/builder/*, to create RSS and ATOM feeds -* *"haml":http://rubyforge.org/projects/haml/*, for the SASS filter +* *"nanoc":http://rubygems.org/gems/nanoc*, to generate the entire web site +* *"extlib":http://rubygems.org/gems/extlib*, in some custom Rake tasks +* *"bb-ruby":http://rubygems.org/gems/bb-ruby*, for the BBCode filter +* *"builder":http://rubygems.org/gems/builder/*, to create RSS and ATOM feeds +* *"haml":http://rubygems.org/gems/haml/*, for the SASS filter +* *"glyph":http://rubygems.org/gems/glyph*, for the Glyph filter Additionally, the following gems were necessary to migrate from the previous version of this web site, powered by "Typo":http://www.typosphere.org: -* *"mysql":http://rubyforge.org/projects/mysql/*, to connect to the MySQL database used by Typo -* *"sequel":http://rubyforge.org/projects/sequel/*, to retrieve data from the Typo database +* *"mysql":http://rubyforge.org/projects/mysql/* +* *"sequel":http://rubyforge.org/projects/sequel/* Besides Ruby-related dependencies, the following was also necessary: -* *"pygments":http://pygments.org/*, a Python library for code highlighting +* *"pygments":http://pygments.org/*, a Python library for code highlighting. +* *"prince":http://www.princexml.com*, a program to generate PDF files from HTML. * A cron job to fetch backtype comments, delicious bookmarks, tweets, and github commits in JSON format and save them to the @/output/data@ folder. h3. Licensing
M
content/articles/succeeding-with-agile-review.glyph
→
content/articles/succeeding-with-agile-review.glyph
@@ -3,20 +3,27 @@ :type: article
:tags: - book - review +- productivity +- software :permalink: succeeding-with-agile-review :title: "Book Review: Succeeding with Agile" -:summary: "" +:summary: "A review of Mike Cohn's Succeeding with Agile. Possibly one of the most well-organized technical books I came across." :toc: true :pdf: true -:date: 2010-04-22 14:16:28.099000 +02:00 +:date: 2010-04-25 14:16:28.099000 +02:00 ----- &:[book|_Succeeding with Agile_] &:[author|Mike Cohn] -&:[url|![URL to the book's web site]...] -&:[links|![Links to agile resources]...] -&:[l_book|=>[&[url]|&[book]]] +&:[url|http://www.succeedingwithagile.com/] &:[S|_Scrum_] &:[ag|_agile_] +&:[links| +* =>[http://www.mountaingoatsoftware.com/topics/scrum|Introduction to &[S] - An Agile Process] +* =>[http://en.wikipedia.org/wiki/\.&[S]_(development)|&[S] (Wikipedia Page)] +* =>[http://www.scrumalliance.org/|&[S] Alliance] +* =>[http://www.scrum.org/|&[S].org] +] +&:[l_book|=>[&[url]|&[book]]] %:[=pt| n, title, contents = @params interpret %{section[header[Part #{n}: #{title}]@@ -25,7 +32,7 @@ ]}
=] --[-----------------------------------] -bq. "This is not a book for those who are completely new to Scrum or agile. There are other books, classes, and even websites for that. If you are completely new to Scrum, start with one of those." +bq. "This is not a book for those who are completely new to &[S] or &[ag]. There are other books, classes, and even websites for that. If you are completely new to &[S], start with one of those." p(((((. -- &[author], &[book]@@ -33,40 +40,74 @@ Great. That's just great. Good job I started with the _Introduction_ first, otherwise the first chapters of this book would have been way too overwhelming!
&[l_book] is a book that _doesn't_ teach you about &[S] or &[ag] methodologies, it won't give you a definition of ScrumMaster, sprint, or backlog... instead, it takes all that for granted and teaches how to pragmatically adopt -- or better, ADAPT(Awareness, Desire, Ability, Promotion, Transfer) to -- &[S], in the context of yourself, your team, and even your entire organization. -bq. "\[...\] this book draws on my experience with &[S] over the past 15 years, but especialle the last 4. For the last 4 years, every evening after I spent the day with one of my clients, I would go back to my hotel room and make notes about problems they were facng, the question they asked, and the advice I gave." +bq. "\[...\] this book draws on my experience with &[S] over the past 15 years, but especialle the last 4. For the last 4 years, every evening after I spent the day with one of my clients, I would go back to my hotel room and make notes about problems they were facing, the question they asked, and the advice I gave." -Indeed, this book is a gold mine of information, anecdotes, tips and tricks about everything you could possibly want to know about making Scrum work, at any level. If you have some knowledge about &[ag] development you definitely have some questions: _will it work?_ ... _is it really more productive?_ ... _how can I make my boss understant this?_ Well, I'm not exaggerating when I say that this book has all the answers you need. Most definitely it also answer questions you didn't think of (yet). +Indeed, this book is a gold mine of information, anecdotes, tips and tricks about everything you could possibly want to know about making &[S] work, at any level. If you have some knowledge about &[ag] development you definitely have some questions: _will it work?_ ... _is it really more productive?_ ... _how can I make my boss understant this?_. This book has all the answers you need. Most definitely, it also answer questions you didn't think of. If you don't know what all this is about, then you'd better do your homework first: &[links] -section[header[Contents] +section[header[Overview] + +!>\.$[site.root]/img/pictures/succeeding-with-agile.jpg! -The book is organized into five parts of different length, ranging from 20 to over 100 pages. If you read the book from the start till the very end, you'll notice that the start of each part is like a new milestone in Scrum adoption: first the author makes sure that _you_ are prepared (Part 1), then move on to deal with individuals and initial resistance (Part 2), then teams (Part 3) and finally the whole organization (Part 4), until you can finally see the fruits of you labor (PArt 5). +The book is organized into five parts of different length, ranging from 20 to over 100 pages. If you read the book from the start till the very end, you'll notice that the start of each part is like a new milestone in &[S] adoption: first the author makes sure that _you_ are prepared (Part 1), then moves on to deal with individuals and initial resistance (Part 2), then teams (Part 3) and finally the whole organization (Part 4), until you can finally taste the fruits of you labor (Part 5). -In a way, you may well want to carry this book in your briefcase every day you go to work, and read it bit by bit, as you make progress in your quest for Scrum adoption. +In a way, you may well want to carry this book in your briefcase every day you go to work, and read it bit by bit, as you make progress in your quest for &[S] adoption. pt[I|Getting Started| -... +Part I is about making sure you know _why_ becoming gile is important and beneficial to you and your work environment. It will teach you how to promote &[S], its advantages and challenges, and the different ways to go about it: Start Small or Go All In? Stealth or Public Display? Things like that. Pointless theory? Not really: everything is well documented, with success stories to support one way or the other. ] --[End of part I] pt[II|Individuals| - +This part was very interesting from a psychological point of view: it deals with individuals and their possible reactions to becoming &[ag]. You'll meet _skeptics_, _followers_, _saboteurs_ and _diehards_ -- no hope? Well, of course not: you'll learn how to deal with each one of them in the best way possible. This part will also introduce you to new roles and responsabilities related to &[S]. ] --[End of part II] pt[III|Teams| +Up next, Teams. You're no longer dealing with single-minded individuals, but with more complex groups. New challenges emerge, mostly related to communication and people interactions. I particularly enjoyed *Chapter 13 -- The Product Backlog*, which provides invaluable insights on this important everyday tool. *Chapter 15 -- Planning* is another interesting read: it teaches you a lot about planning vs. estimating, and coming to compromises to meet deadlines. ] --[End of part III] pt[IV|The Organization| +If you made it up to here, then you're nearly done. You probably know most of the tricks by now, but there's still a lot to learn. *Chapter 17 -- Scaling &[S]* is definitely worth reading, even just for the analysis between _formal_ and _informal communities_, while *Chapter 19 --Cohexisting with Other Approaches* almost feels heretical at times: mixing &[S] with Waterfall? Is that even conceivable? Yes. Sometimes it's the only way, especially when you have to deal with compliance to standards like ISO9001. Once again, the author has a nice success story on how a company passed an ISO9001 audit by providing documentation in form of photocopied notes and by adding a single failing test to persuade the auditor that the automated test suite was not rigged. Priceless. ] --[End of part IV] pt[V|Next Steps| +Only two chapters in this part of the book, which mainly deals with (self) assessment and progress analysis. Still worth a read, but you can safely leave it out for when you succeeded with &[ag]. ] --[End of part V] ] --[End of Contents section] +section[header[Technical Analysis] +I'm not exaggerating when I say that this is _by far_ the best book I've read in the past few years when it comes to the way it is organized. Start by reading the =>[http://my.safaribooksonline.com/9780321660534?portal=informit|table of contents]: if you take each chapter out and make a bulletted list of each section you'll end up with a handy (and free!) cheat sheet on how to promote and adopt Agile methodologies. + +This doesn't mean the book isn't a worthwhile read, but rather that it can also be used as a reference when needed. + +section[header[Formatting and Readability] +From a technical writing point of view, this book is spotless. I should keep it on my desk to remind me how technical documentation should be written, except that... it's not a technical manual of course. But the formatting and the way content is laid out can make the most skilled technical writer very jealous: there's never a huge blob of boring text, never a series of pointless pictures: Mike Cohn (or his editors) did a terrific job composing this book. + +You can start reading it from any point and it still makes sense, diagrams are simple and clear, and yet extremely useful, and so are the reference tables and spreadsheets. They never hurt, they are always in the right place, at the right time. And bold text is aptly used at the start of list items, so that even if you skim through the key concepts will still make it to your brain. Excellent. +] + +section[header[Style and Contents] +Reading this book is like listening to a seminar hold by some charismatic icon like =>[http://en.wikipedia.org/wiki/David_Allen_(author)|David Allen] or =>[http://en.wikipedia.org/wiki/JoAnn_Hackos|JoAnn Hackos]: you never get bored, and you constantly learn something. Mike's informal and conversational style is one of the main reasons why you should read this book instead of others on the subject: he is a great communicator, and he knows how to make his point across. + +As an added value, Mike also uses two types of _boxes_ throughout the book: +* *Things to try now* -- Whenever a new strategy or practice is introduced, you'll find one of these boxes containing a bulleted list. _"Commit to running the next two or three sprints without any overtime"_, "Do you understand what motivates every other person on your team? If not, find out. How? Ask them.", ... these are just examples of some of the author's reccommendations to put you in the right track. +* *Objection* -- Either actual quotes from customers and employees, or possible statements which may come out throughout the process of adopting &[S]. Things like _"If the product includes less than what we've planned, no one will buy it"_, or _"My team won't self organize; team members are too passive and look to me to lead"_, ... of course, what makes these objection boxes valuable is not the statement themselves, but the tips on how what to do about them. There's not a single one left unanswered: you really feel you're covered in any situation. +] + +] + +section[header[Final Thoughts] + +I really enjoyed this book. It took me ages to read it, not only because it's quite long (450 pages), but also because it's very dense of information. Another author could have made it three times longer, but I was glad Mike didn't. I'm pretty certain I'll keep it near me and read bits from it when I need to: it's pretty much the Bible of &[S] adoption. + +What's wrong with it then? Not much. Perhaps the only thing I really missed was an introductory 50-page-chapter on &[S] and &[ag]. I know this is not meant to be a book for beginners, but some basic glossary or &[S] cheat sheet would have made it accessible to an even wider audience, at virtually no cost for the author or the readers, who could have just skipped that part. + +Anyhow, I give it a 9 out of 10. +]
A
content/images/theme/h3rald.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="192.72461" + height="50" + id="svg2" + version="1.1" + inkscape:version="0.47 r22583" + sodipodi:docname="h3rald.svg"> + <defs + id="defs4"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 22.076241 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="192.72461 : 22.076241 : 1" + inkscape:persp3d-origin="96.362305 : 14.717494 : 1" + id="perspective12" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.8" + inkscape:cx="109.11954" + inkscape:cy="47.237147" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1280" + inkscape:window-height="749" + inkscape:window-x="0" + inkscape:window-y="24" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-87.179131,-151.72462)"> + <text + xml:space="preserve" + style="font-size:50px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Cardo;-inkscape-font-specification:Cardo" + x="86.071426" + y="189.86218" + id="text2816"><tspan + sodipodi:role="line" + id="tspan2818" + x="86.071426" + y="189.86218">H RALD</tspan></text> + <text + xml:space="preserve" + style="font-size:60px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Cardo;-inkscape-font-specification:Cardo" + x="108.92857" + y="195.57645" + id="text2820"><tspan + sodipodi:role="line" + id="tspan2822" + x="108.92857" + y="195.57645" + style="fill:#d40000">3</tspan></text> + </g> +</svg>
A
lib/glyph-data.rb
@@ -0,0 +1,8 @@
+require 'rubygems' +require 'glyph' +module Glyph + + self['site.root'] = "" + self['document.author'] = "Fabio Cevasco" + +end