|
|
| |
| SPONSORED BY: MKS |
Scaling Agile: White Paper on Agile Adoption in the Enterprise
The benefits of Agile methodologies are appealing to large organizations, but the challenge is how to go Agile without fracturing well established enterprise processes? How does an organization address scalability and compliance issues? This paper argues that Agile practices should be blended with proven enterprise practices to achieve the right mix of agility and discipline.
http://www.mks.com/jan-agile-for-the-enterprise-white-paper
|
| MEDIA SPOTLIGHT |
STARWEST 2008: Interview with Paco Hope
In this interview from STARWEST 2008, Paco Hope discusses the sessions he led at the conference, "Ajax Testing: Inside and Out" and "Automating Security Testing with cUrl and Perl."
Watch the video now. |
|
|
| |
|
|
| |
| WHAT'S NEW |
@StickyMinds on Twitter Want to get a daily dose of what's new and popular on StickyMinds.com and in Better Software magazine? Follow @StickyMinds on Twitter for regular updates about weekly columns, news, discussion boards, eNewsletters, and more.
http://www.twitter.com/StickyMinds |
|
|
| |
|
|
| |
AGILISM: Defining the Movement Effort Creep |
While scope creep is doing more work than you expected, due to added scope, effort creep is doing more work without added scope. You're just taking longer to do the same stuff.
From agilekiwi.com |
|
|
| |
|
|
| |
Featured White Paper
|
|
Source Code Analysis In An Agile World
The adoption of Agile development practices has increased as software developers strive to keep pace with customer and market demands. However, to fully realize the benefits of Agile, a repeatable process for creating bug-free code is critical. This paper examines how source code analysis can enhance the Agile development process and empower Agile teams. Download this white paper to learn more.
http://www.stickyminds.com/KlocworkIT
|
|
|
| |
|
|
| |
CONTENT POINTER: Scope Keep, Not Scope Creep By Ellen Gottesdiener |
An often-cited bugaboo of many projects is scope creep—the unrestrained expansion of requirements as the project proceeds. Yet requirements development is about gaining an ever-growing understanding of requirements. So, isn't scope creep normal? Find out in this week's column as Ellen Gottesdiener explores exactly how to keep scope under control.
http://www.stickyminds.com/s.asp?F=S14462_COL_2 |
|
|
| |
|
|
| |
BOOK REVIEW: The Enterprise and Scrum By Ken Schwaber |
Reviewed By: D. André Dhondt
Probably the most difficult aspect of agile software development is in figuring out how to apply the various principles and practices to our own daily work. In his book, The Enterprise and Scrum, Ken Schwaber attacks this problem by providing a clear roadmap to applying Scrum in the enterprise and further clarifies, with many anecdotes, on how various companies have implemented Scrum. At the same time, this book is an accessible, quick read—and is perfect for high-level executives or those commissioned by them to roll out Scrum to a larger part of the enterprise. Readers need only a cursory introduction to Scrum before beginning this book, and, for more information, they can refer to the appendixes. This is an excellent resource guide that I'd recommend to any medium to large group adopting Scrum.
Keep reading at http://www.stickyminds.com/s.asp?F=S1054_BOOK_4.
|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
Better Software Conference & EXPO 2009 Agile Development * Project Management* People & Teams |
June 8-11, 2009 | The Venetian Resort | Las Vegas, Nevada
Gain the best of agile development, project management, people and teams, testing and QA, requirements, process and metrics, and design and architecture. Learn about the latest tools, trends, and issues in software development.
* Register Early and SAVE $200! *
http://www.sqe.com/go?BSCE09Iteration |
|
|
| |
|
|
| |
Featured Web Seminar
|
Uncover Software Security Vulnerabilities Off the Beaten Path
Learn how to "Uncover Software Security Vulnerabilities Off the Beaten Path" in this popular, on-demand Web seminar. If security is important for your systems, you need a comprehensive validation approach that includes cyclomatic complexity and basis-path analysis to scrutinize risky code structures using data and control flows. Speakers Paco Hope and Thomas McCabe Jr. will discuss which activities to apply first in your lifecycle to get the most bang for your buck and ways to use static- and dynamic-path analysis to improve application security.
Listen Now! |
|
|
| |
|
|
| |
THE AGILE EXPERIENCE: We Need More Metaphors By Jonathan Kohl |
|
Let’s face it, in software development we are blessed with a lot of opportunity for rewarding and creative work. We also have the added bonus of working on something that many people find cool and want to learn more about. People come to expect edgy, off-the-wall ideas from software development practitioners. Sometimes they are disappointed at how outdated and conservative our ideas seem to be.
Recently, I was in a meeting with software executives. They were seasoned veterans who were already familiar with the agile movement. They wanted to know more about new ideas that are gaining currency in agility. When I mentioned lean manufacturing and kanban, they were incredulous. They’d already been through that in the ‘80s and early ‘90s. “We thought you techies would be leading the charge, not rehashing ideas we were using in manufacturing twenty years ago.” While there are certainly lean manufacturing ideas we can learn from and apply to software development, there’s more than yet another manufacturing metaphor to talk about.
There are people in the agile movement (as well as non-agilists) who are thinking about other metaphors for software development and, more importantly, trying to learn lessons from other disciplines that we can use to help in our software development efforts. Some of them include:
- Mathematical theory, such as graph theory and calculus
- Anthropology
- Craftsmanship
- Scientific experiments
- Music and other arts
My personal favorite in that list is music. Many of us in the software industry are musicians. Some of us have had various levels of professional success, and others like to pull out a guitar for a campfire sing-along or teach their kids piano theory basics. However, I was surprised to find how much my leadership and project coaching was influenced by my experience as a musician. This influence was awakened by listening to leadership coach and former pro musician and producer David Hussman speak. David helped me realize that my experience as a musician has a very large influence on how I approach software development work.
Music affords a surprisingly complex metaphor for software development. There are:
- Traditions and different contexts where different styles of music or composition are more appropriate than others
- Classical, popular, and avant garde schools of thought that often disagree with each other
- Varying degrees of formulaic procedures and seemingly chaotic creative practices
- Different styles and genres that influence each other
- Controversies between groups and schools of thought and around certain genres of music
- A vast array of tools that can be used to support musicians as they create and record music
A byproduct of the popularity of agile methods is a more widespread adoption of iterative, incremental lifecycles on software projects. These are lifecycles that follow and encourage the kind of collaboration and development that many songwriters and band members who create custom music are familiar with. While many musicians with a strong music theory background tend to be quite linear and formulaic (which lends itself more to linear, phased, “waterfall” lifecycle models) there are those of us who create music in a different way. Many bands (particularly popular and traditional, cultural music styles that rely on oral traditions to pass down knowledge) don’t rely on sheet music and formalized music theory but tend to be more experimental, depend much more on improvisation, and use guidelines and rules of thumb (heuristics).
Many musicians of different stripes are talking about creating music as a metaphor for software development. It’s not perfect, but it’s a welcome change from hearing about manufacturing yet again. Manufacturing may float some people’s boat, music others. Why not talk about different metaphors?
Somehow, musicians get the job done in all sorts of unique, creative ways—kind of like software development teams. Apparent chaos works for one team, while another team craves more traditional, structured approaches. Since software development is much more rooted in design than manufacturing, programming musicians tend to relate software development to their artistic work.
The use of music as a metaphor isn’t specifically agile, but notable agilists such as David Hussman point out compelling compatibilities. Thankfully, the agile movement has provided space for discussing ideas that in the past were often relegated to the periphery or lunatic fringe. Agility has encouraged:
- An environment that welcomes a variety of metaphors (particularly in Extreme Programming)
- Using iterative/incremental lifecycles (which is dominant in some music circles; others are more like waterfall)
- Visual and lightweight project management techniques (musicians often use whiteboards, control room glass, chord sheets, musical scores, etc.)
- More opportunity for experimentation of thought in open space get-togethers (self-organized, ad-hoc discussion groups with self-determined topics)
Unfortunately, in recent years, the agile movement has become more mainstream and less open to avant garde and more experimental ideas. With growing community inertia toward ideals in lean manufacturing, we see more dominance of the manufacturing metaphor once again. The experimental ideas are still out there; they just need to be encouraged and discussed. There are as many surprising motivations and creative ways of developing software as there are software development teams in different markets, industries and cultures. Our sources of influence are rarely singular. Music is just one alternate metaphor from manufacturing; there are many others.
I’m just scratching the surface here. One could spend a good deal of time studying music and musicians and find surprising lessons to apply to software development teams. If the music metaphor resonates with you, I encourage you to look into the metaphor and apply it to your own work. If not, I encourage you to discover what other sources of influence exist on your team. You might be pleasantly surprised at what you find. Once you do, please share with the community–we’d love to hear your stories.
Jonathan Kohl is a software testing consultant with Kohl Concepts Inc., based in Calgary, Alberta, Canada.
Find out what you missed in past issues of iterations at: www.stickyminds.com/Media/eNewsLetters/Iterations/Default.aspx?eNewsletter=Archive
|
|
|
| |
|
|
| |
ADVERTISEMENT: New Agile Courses from SQE Training |
Implementing agile projects in your organization and want to master Agile Development techniques? SQE Training has a new agile training program for you. Learn, experience, and practice the ScrumMaster approach to managing development. Apply lean-agile principles to software development projects. Practice using test-first design development methods. Gain experience developing programs in small verifiable steps for better designs. Create user stories that describe what the user really needs. Attend two courses in the same location and save up to $500.
For more, information visit: http://www.sqe.com/go?09agiterations |
|
|
| |
|
|
| |
AGILE IN MOTION: Music and Metaphor Interview with David Hussman |
David Hussman leads DevJam, a company comprising agile collaborators working on assignments worldwide. In the following interview, he elaborates on Jonathan Kohl's "We Need More Metaphors" by answering our questions about connecting music to software development.
Iterations: What are some things you picked up in the music industry that have transferred to your work in software development?
David Hussman: The recording studio is filled with a collection of bright, shiny, technical distractions. Producing records taught me that, while processes and technology were helpful tools, my greatest hits happened when I got to know the band, got to know their music, and went to see them play live, either in the rehearsal room or on stage. With this knowledge, I always did a better job guiding them through the recording journey, helping to select a set of techniques and gear, which helped bring the best they had to the final product.
I do the same thing in my coaching. My greatest coaching hits happen when I get to know the community before suggesting which practices or variations of agile processes (e.g., Scrum, XP) it should use. Even though I cannot see a project community perform, I can take a short trip to its world, so as to better understand who its members are, how they work, why they are moving toward agility, and where they see their strengths or challenges.
Instead of prescribing a path, I combine my experience with what I know of that community's world to suggest, teach, and coach a set of practices that help its members deliver more value in a more predictable fashion. Contrary to what the many agilists teach, this does not always mean faster. Similar to learning to play difficult music, many people need to slow down to deliver more; simply playing a song faster does not mean it is better.
Iterations: Jonathan writes about the over-reliance on manufacturing as a metaphor in agile. How have you seen that metaphor used, both successfully and unsuccessfully?
David Hussman: I think there are many great tools we can draw from the manufacturing community. Trying to find and fix (or stop) wasteful work habits is a great one. I took this and many other gems from my first read of The Toyota Production System by Taiichi Ohno. When I engage with a community to help it improve, I do look for waste, but I also use Ohno's Five Whys to make sure I am not simply running toward the first solution from my past that might seem to apply for this community.
So, while I do see ideas from manufacturing helping tune processes, I also see them being applied in an ever-increasing and simplistic manner. We are not building cars! For instance, the manufacturing world has physical constraints that need not limit software development. Where automobile manufacturers may need to keep five radiators in place as a tool to make decisions at the last responsible moment, software developers can build systems in an evolutionary manner, making incremental changes to systems without the need to build five parallel systems.
I have seen software teams overly focused on process only, trying to fix problems by applying ideas from manufacturing (in the name of "optimization") that could have been fixed in a much simpler manner by employing a few development practices—many of which they simply did not know.
While there is evolution in manufacturing, once the product can be produced, a great deal goes into how to produce more units faster. For me, this is where a great deal of art can be pulled from software development when manufacturing ideas are simplistically applied. I have met many teams who have consistent velocity and who are iteratively and consistently producing more mediocre code iteration after iteration. In the name of being lean, they have leaned out all the incremental innovation that happens as you try to bring a product to life and keep it alive—instead of working hard to produce 10,000 units with the highest quality in the least amount of time.
Iterations: Why is the concept of "metaphor" in general important to software production?
David Hussman: Software is an abstraction that cannot be simply defined with prose. Kent Beck tried hard to raise the value of metaphor. I think it failed because it was too difficult for many (most people do not consciously wield metaphor). If you take George Lakoff's approach in his book Metaphors We Live By, you find that metaphors are everywhere. In my coaching, listening for the active metaphors—those that communities live by—I find one more tool to help me make connections and improve my ability to coach more effectively.
Metaphor also helps feed creativity by allowing people to "think outside the box"—an excellent example of what Lakoff discusses in his book.
|
|
|
| |
|
|
| |
Iterations is an extension of StickyMinds.com and Better Software magazine—and a reminder that your "online resource for building better software" is just a click away at www.StickyMinds.com |
|
| |
|
|
| |
SUBSCRIBER SERVICES
|
You are receiving this issue of iterations as part of your StickyMinds.com membership, Better Software magazine subscription, or iterations subscription. We hope this publication will be a useful and enjoyable benefit. To change your email address or update your preferences, go to www.stickyminds.com/eletters.asp?fx=change. To ensure optimal receipt of these emails, please add iterations@lists.stickyminds.com to your address book or all messages from @lists.stickyminds.com to your email white list. To unsubscribe, go to www.stickyminds.com/eletters.asp?fx=unsub.
If this eNewsletter has been forwarded to you by a friend, you can register for your own free subscription to iterations at www.stickyminds.com/eletters.asp SOFTWARE QUALITY ENGINEERING • 330 CORPORATE WAY • STE. 300 • ORANGE PARK, FL 32073 |
|
|
| |
|
|
|
|
|