tag:blogger.com,1999:blog-56199821511902437832024-03-13T22:37:31.108-07:00Agile JourneymanSharing knowledge along the road from apprentice to journeyman to master craftsmanUnknownnoreply@blogger.comBlogger154125tag:blogger.com,1999:blog-5619982151190243783.post-87952390681023234632012-06-04T08:00:00.000-07:002012-06-04T08:00:06.621-07:00Keeping Retrospectives FunAt the May DC Scrum user group, we had a workshop on retrospectives. We covered six different techniques to keep retrospectives fun.
For all the techniques we followed this structure:
Set the stage: This entails ensuring that everyone feels safe to express their opinions. A good way is to start out with the prime directive: "Regardless of what we discover, we understand and truly believe that Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-13555997103299471072012-05-28T08:00:00.000-07:002012-05-28T08:00:08.658-07:00Spiral Matrix KataIn the May DC Software Craftsmanship meeting we tackled the Spiral Matrix kata. The instructions for this one are simple and are best illustrated by the examples below:
3 by 4 matrix:
4 by 4 matrix:
3 by 5 matrix:
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-59082814732216096232012-05-21T08:00:00.000-07:002012-05-21T19:58:29.587-07:00You Build It, You Run ItIn my previous post, I described the changes that Jez Humble believes an organization needs to go through to enable DevOps. In this post, I’ll describe why Jez is encouraging organizations to align around products instead of projects.
On average 29% of an IT budget is spent on new system development while 71% is spent on maintaining existing systems and adding capacity to those systems. This is Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-39858375047566697712012-05-14T08:00:00.000-07:002012-07-12T07:08:45.797-07:004 Parts to DeliveryIn a previous post, I discussed how Jez Humble made the case for the need for continuous delivery and DevOps. In this post I’ll cover the changes that need to be implemented to enable DevOps.
Below is how Jez describes the 4 parts to delivery:
1. Culture
2. Automation
3. Measurement
4. Sharing
Culture is the most important part of DevOps. We need to make sure development and Ops are not Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-64795110956311956612012-05-07T12:02:00.000-07:002012-05-07T12:02:57.340-07:00Managing Technical DebtThanks to all that attended my presentation on Managing Technical Debt at the 2012 Atlanta Scrum Gathering. Below are the slides and notes from the presentation.
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-26205216596677799262012-04-29T19:34:00.000-07:002012-05-19T16:32:42.360-07:00Making the Case for DevOpsAt the ADP East conference, Jez Humble made the case for continuous delivery and DevOps.
He described a simplistic view of an organization where you’ll have a business department that comes up with a new product and hands-off requirements documents to the development department. After a couple of years, the development team finally completes the application and hands it over to the operations Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-28856257196651546032012-04-24T20:36:00.000-07:002012-05-26T12:55:32.396-07:00Hard Choices - A Technical Debt Simulation
At the April DC Scrum User Group meeting, I presented the technical debt simulation game "Hard Choice". The game was developed by the Software Engineering Institute to help players understand the impacts of technical debt. Players need to balance investing effort to gain an advantage or paying a price to take shortcuts.
The game is a board game and the goal is to accumulate as many points as Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-72599697094471746302012-03-22T20:02:00.000-07:002012-05-26T12:55:32.413-07:00Kanban Pizza GameAt the March DC Scrum User Group, Dave Sharrock presented a great fun and interactive Agile games session called the "Kanban Pizza Game". Each team owned a pizza store and had to take in orders and bake pizzas. The teams had to adjust their processes to eliminate waste and maximize value. The game demonstrated perfectly how a Kanban System works. We started with no process and slowly observed andUnknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-39776533048442573322012-02-12T10:00:00.000-08:002012-02-12T19:42:03.550-08:00Share the Love
Agile encourages self-organizing teams and emphasizes team performance. This is at odds with the traditional employee performance review and the individual recognition system common in most organizations. Phillip Rosedal founder of Linden Labs (creators of second life) approached this problem with an innovative system that he setup at their offices. The system allowed team members to send each Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-6836371303145656952012-01-04T09:33:00.000-08:002013-07-19T21:10:44.388-07:00Timeline RetrospectiveThe Timeline Retrospective is a technique used to reflect back on major events that occurred during a Sprint or a Release
The process is as follows:
Silently write down on sticky notes the major events that occurred
Create a single timeline on a wall
One by one, layout the notes in order of occurrence on the timeline
Place positive events above the timeline and negative events Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-70294578280512698312011-12-23T10:53:00.000-08:002011-12-26T15:45:09.769-08:00The Code Christmas Tree
The Code Christmas Tree is a technique used to visualize the quality of your code. It is based on a treemap which is an information visualization technique to display hierarchical or tree-structured data as a set of nested rectangles. Branches are represented by rectangles and sub branches are represented by smaller rectangles and so on. The leaf node’s rectangle has an area and color Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-76716621938307398142011-12-13T09:09:00.000-08:002012-05-26T09:16:20.990-07:00Draw me a pictureDraw me a picture is a retrospective technique that can be used when people are tired of the same old routine and when verbal communications are failing.
The process is as follows:
Ask the attendees to silently reflect on the on the events of the last iteration or release
Ask them to draw a picture reflecting their feelings
Place the picture on the wall
In turn, let each Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-87026084489249108852011-12-06T14:38:00.000-08:002011-12-06T14:38:01.390-08:00The 1st ever bug
In 1946, the 1st ever case of a bug was reported when an actual moth trapped in the relay of a Mark II caused it to malfunction. The bug was removed and taped into a log book and recorded as the 1st actual case of a bug being found! The log book (with attached moth) is on display at the Smithsonian National Museum of American History. How’s that for error tracking!
The term bug however was Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-76250868920161493162011-11-29T12:46:00.000-08:002011-11-29T12:46:00.174-08:00The Kata in the HatAt Agile 2011, Emmanuel Gaillot and Jonathan Perret performed a coding Dojo entitled "The Kata in The Hat." Emmanuel and Jonathan are behind the original coding dojos in Paris. Usually, katas are performed by practicing TDD and applying baby steps. The main kinds of Katas include:
Prepared Kata where someone comes prepared with a full solution to the Kata and presents it to the group.
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-18852770074299659312011-11-21T18:18:00.000-08:002011-11-21T18:18:00.489-08:00Organizational AgilityThe Economist Intelligence Unit published a paper entitled "Organizational agility: how businesses can survive and thrive in turbulent times." The paper is based on in depth interviews and surveys of 349 executives around the world on the benefits, challenges and risks associated with creating a more agile organization.
The report finds that organizational agility is a core differentiator in Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-90992943665069203672011-11-14T06:14:00.000-08:002012-05-26T12:55:32.426-07:00CaptionsCaptions is a retrospective technique
that can be used as a collaborative and safe way to share feelings. The technique is fun and the results can be very insightful and hilarious at the same time.
The process is as follows:
Announce a specific topic for discussion
Each team member gets n number of index cards where n is the number of team members. The cards are numbered sequentially inUnknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-47566689339653871372011-11-09T13:20:00.000-08:002011-11-13T06:20:33.102-08:00The Nordstrom Innovation LabAt the Nordstrom Innovation Lab, a new team is applying agile and lean startup techniques to move quickly from conception to deployment. The team is acting like a startup within a large organization. They work in a collaborative open workspace and go through several iterations using frequent customer feedback loops to plan out their next iteration. They keep their planning simple and light-weightUnknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-17273888333948032832011-09-20T13:06:00.000-07:002011-12-29T17:18:11.319-08:00The Spinning LadyLook closely. Is she spinning clockwise or counter-clockwise?
Think of happy places, found memories, poetry, and music. Let your mind wander.
Look closely. Is she spinning clockwise or counter-clockwise?
Solve 3*5=?
Solve 15+5=?
Solve 20+5=?
Solve 25 + 3 =?
Solve 28/2=? 14.
Look closely. Is she spinning clockwise or counter-clockwise?
Did she switch direction? The idea here is that our Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-30192235393588428842011-09-09T09:58:00.000-07:002011-09-18T16:09:46.382-07:00Effective Daily StandupsThanks to all that attended my talk on Effective Daily Standups at the SA Scrum Gathering Conference. Below is the presentation slide deck and speaker notes.
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-48605899584785679852011-09-03T14:00:00.000-07:002011-09-03T14:00:01.389-07:00Source Code Word Clouds
Here’s a neat way to look at code quality - use source code word cloud generators.
A word cloud or tag cloud is a visual representation for text data. Tags or words are listed and the importance of each word is shown with different font size or color. When applied to well written and clean code, word clouds give us a quick way of understanding what the code is about.
Below is an Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-38816204452839285272011-08-27T12:42:00.000-07:002011-08-27T12:42:00.220-07:00Back to the Future!At the conclusion of the Agile 2011 conference, Todd Little jokingly looked back to the 1st Agile conference in 2004 when agile experts made predictions of the future and came up with the top 8 things that will happen once main stream gets hold of Agile Software Development:
8. The 1st Agile software development conference will undergo historical revisionism, in which it will be told as Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-14523567933786335952011-08-20T12:14:00.000-07:002011-08-20T12:14:00.213-07:00Measuring Code QualityA common measure for code quality is to measure Cyclomatic Complexity. Cyclomatic Complexity is used to measure the number of linearly independent paths through a program’s source code. The more conditionals (if statements) or the more loops (for, while …), then the more branches run through the code and thus the code becomes more complex. But what is considered to be a good number for CyclomaticUnknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-60926621701141741382011-08-13T11:45:00.000-07:002011-11-13T06:28:44.972-08:00The 5 WhysThe 5 whys is a retrospective technique
that can be used when the team needs to focus on a specific symptom that does not have an obvious solution. The goal of the 5 whys is to clearly understand the situation and not necessarily to solve the problem.
The process is as follows:
Write the problem statement clearly and concisely on the board.
Divide the team into groups of at least 3 but Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-90208025681261863852011-07-31T08:00:00.000-07:002011-07-31T16:25:59.072-07:00Follow-up on Getting Fit Using Agile WorkstationsBack in late December, I blogged about my New Year's resolution of using a standing workstation. Well 6 months later, I can say that I have stuck to it. I can now work standing for about 6 hours a day, with a break during lunch. Overall, I definitely feel better and more energized, but I do not have concrete metrics to show that my health is improving. There are however more studies that have Unknownnoreply@blogger.comtag:blogger.com,1999:blog-5619982151190243783.post-13322770014400847302011-07-19T08:00:00.000-07:002011-07-19T08:00:02.126-07:00Importance of Well Designed SoftwareAt the 2011 Agile Development Practices West conference, Martin Folwer addressed trade-able quality.
Martin explains that quality is something we can trade-off for other things. We often hear managers saying “We need to put less effort on quality so we can build more features for our next release.” We also do this every day. We do it when we buy a car. Sure we want the fancy car, but we go for Unknownnoreply@blogger.com