Scrum and Agile for devops

Posted on 16. Jul, 2013 by ger in Agile, Guides, Scrum

agile-scrum-resources-devops-training-dublin

Devops engineers were part of two recent Agile and Scrum training workshops I ran in Dublin. Here’s some resources that you might find useful if you’re coming to agile from a devops perspective.

Blogs and blog posts

Two of the best blogs I found are the Agile admin and Agile Web Operations. The Agile admin has a good post describing Scrum from an ops perspective. Some devops teams combine Scrum for longer term projects and Kanban for shorter term work. This blog post I wrote recently summarizes a great article by Jim Coplien about the linkages between Kanban and Scrum.

Books

These books include sections on agile devops

  • Scott W. Ambler; Mark Lines, Disciplined Agile Delivery.
  • Paul Swartout, Continuous Delivery and DevOps
  • Michael Hüttermann, DevOps for Developers
  • Jez Humble; David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

Learn more

Try Goshido, our collaboration & project management platform. Goshido is so flexible it can be used for Scrum, Lean and projects with traditional work-breakdown plans. It’s great for both long and short term devops projects.

Photo Credit

Internet Splat Map by Steve Jurvetson

User Stories for Agile Requirements Management

Posted on 26. Mar, 2013 by ger in Agile, Guides, Scrum

We use “user stories” to document and manage requirements. Recently I provided training for one of our customers. Here’s some interesting resources we recommend.

What are user stories?

User stories are a short placeholder for a detailed conversation about requirements – deferring detail until needed. Stories represent customer value and are written in the customers’ terminology.

The general formula for a user story is: As a <type of user>, I want <some activity> so that <some reason>.

For example: “as a registered user, I want the system to warn if my password is easy to guess, so my account is harder to hack.”

Why use them?

I’ve seen studies which state incorrect requirements are the cause of 80% of software project failures. User stories are a simple, low-overhead way of documenting and managing requirements.

Resources

One of the trickiest parts of using user stories is breaking them down to the right size. Richard Lawrence has written an excellent pattern language to help you in this process.

There’s been an interesting debate on the value of acceptance testing.

We recommend the following books:

  • User Stories Applied: Mike Cohn
  • Agile Software Requirements: Dean Leffingwell
  • Specification by Example: Gojko Adzic
  • The Art of Agile Development: James Shore

Learn more

Try Goshido, our collaboration & project management platform. Goshido is so flexible it can be used for Scrum, Lean and projects with traditional work-breakdown plans. It’s great for managing product roadmaps and requirements documented as user-stories.

Project Collaboration Overview & 7 Great Books : Siemens Talk

Posted on 12. Mar, 2013 by ger in Agile, Events, Guides, Leadership, New Ways to Work, blog

Last night in Dublin I spoke to a group leaders from Siemens at an event coordinated by WDHB.

The key points of my talk were:

  • Existing tools still don’t solve the problems of communication within large organizations
  • Businesses need a flexible system that can scale from gigantic to many small-informal projects
  • Culture is even more important than tools. Agile ways of working & leading with short iterations and empowered teams are crucial.

I recommended a number of books that explore the last point:

  • Radical Management: Stephen Denning
  • Succeeding with Agile: Mike Cohn
  • The Future of Management: Gary Hamel
  • Management 3.0: Jurgen Appelo
  • Getting Things Done: David Allen
  • The Way We’re Working isn’t Working: Tony Schwartz
  • What Were They Thinking?: Jeffrey Pfeffer

Other speakers at the event were Marie Wallace of IBM and Polly Sumner of Salesforce. Polly recommended a really interesting followup action at end of her talk. She suggested everyone in the room try to buy or get customer support for their own product.

By coincidence I read the following quote in the Siemens “Pictures of the Future” magazine this morning.

    “Modern information and communication media promote a short attention span and a superficial understanding of the world.” — David Gelernter.

By another coincidence I read this in the Chess Media newsletter this morning.

    “Communication barriers cost large companies an average of $26,000 per employee per year due to productivity losses.” — Jacob Morgan

Learn more

Try Goshido, our collaboration & project management platform. Goshido is so flexible it can be used for project collaboration in any kind of business: product development, energy, healthcare & consulting.

You can download my slides.

Dispelling common misconceptions in Lean, Kanban and Scrum

Posted on 17. Nov, 2012 by ger in Agile, New Ways to Work, Scrum

Happiness Door Scrum Training Dublin

Happiness Door Scrum Training Dublin

They say teaching is the best way to learn something. Recently, I delivered a Scrum training course for a multinational company in Dublin. Afterwards I did some reading to followup on some of the questions that came up. This reading lead me to some interesting new thinking on Scrum, Lean, Agile and even running training courses. It looks like many people have common misconceptions about how Kanban and Scrum fit together.

Some background

Scrum is one of the agile project management techniques that can make your team far more productive. Most of the time I’m CTO of Goshido (cloud software for project communication). Goshido is inspired in part by some of the concepts in Scrum. Some of our customers ask for training in agile project management and Scrum in particular. Our Scrum training is unique because I am still a practicing software developer and project manager, not a Scrum-trainer who delivers training every week.

Lean is a process improvement discipline that software development and startup companies.

Kanban is one of the Lean tools, originally a card or a box used in manufacturing to signal depletion of product, parts, or inventory. It is a way to “pull” work through a system.

Overlapping phases & organizing by project

The company I was training has structured the organization based on roles and skills rather than projects. The analysts are in one team, the UX people another, the developers and testers yet another, and operations another. During the project there’s a handover from one team to another. One of the principles of Scrum is to organize teams around the work that needs to be done for a customer, to mix the disciplines together with overlapping phases. Dustin Curtis tells a great story about the magic of Penn and Teller to illustrate the point that:

    Assembly lines work fantastically well for raw assembly, but they suck the life out of creative people.

Getting feedback during training

During each training day I asked people to provide anonymous feedback both half way through and at the end of the day. I applied Jurgen Appelo’s happiness door technique. I got great feedback from the attendees and was able to make adjustments both during the day and for subsequent days to make the training more relevant and valuable to the people attending.

Kaizen, retrospectives and continuous improvement

One of the technical leads was concerned about the business focus of the product backlog. How would he get technical tasks like a transition to github into the backlog? He knew this would boost the productivity of the software team but what if the product owner didn’t feel the same way?

Conversely, I’ve seen situations in other companies where technical leads have refactored parts of a system without concern for the business priorities. This in turn lead to a surprise then an overreaction by senior management who as a consequence put unnecessary controls in place to enforce visibility.

In my experience, Scrum retrospectives pay big dividends at the end of each sprint but it’s easy to let them slide. In the post “Getting Lean with Scrum”, Christine Hegarty describes how you can add a simple process to retrospectives.

She suggests capturing a single kaizen in each retrospective to be added to the next Sprint backlog as a task. I think it’s a great idea, and could balance the needs of continuous improvement and business priorities while making retrospectives more actionable.

Misconceptions about Lean and Kanban

While reading Christine’s post I also spotted a guest post by Jim Coplien describing Kanban, Lean and Scrum. I remember Jim from the early days of the software patterns movement. He wrote a pattern language for software organizations. Jim is a co-author of the recent book Lean Software Architecture. In the blog post, he clarifies some of the many misconceptions of Kanban and it’s goals.

    The challenge is to develop a learning organization that will find ways to reduce the number of kanban and thereby reduce and finally eliminate the inventory buffer. Remember: the kanban is an organized system of inventory buffers and, according to Ohno, inventory is waste…

He’s also concerned it’s been missappropriated in software development.

    Kanban applies to repetitive work — building the same item again and again… Not everything can be replenished based on a pull system; some things must be scheduled… That is what software is like: We rarely build the same thing again and again.

The ideal Scrum team “does a little analysis, a little design, a little building, and a little testing all at once in very short cycles”. While Kanban can be a good fit for teams that view work as firefighting…

    A good Scrum team automatically enjoys the provisions of kanban when practicing one-piece continuous flow. It is a built-in way to limit work in progress while encouraging teamwork. It gives team members time-boxed autonomy to carry out their plans while enabling them to better meet their planned forecast. Such maturity may be a foundation for later addition of techniques like kanban…

Learn more

Try Goshido, our collaboration & project management platform. Goshido is so flexible it can be used for Scrum, Lean and projects with traditional work-breakdown plans. Some of our customers do all three together. They map out a long term plan using Gannt charts then each team runs sub-projects as Scrum-Sprints.