Monthly Archives: May 2014

Agile Book – Technical Debt

In the next edition of this blog series highlighting excerpts from our upcoming book, we will tackle the tricky subject of Technical Debt.  To be honest, I had a hard time choosing a single topic from this chapter because there are so many great topics covered – debt2Definition of Done, Planning Poker, Value Stream Mapping, the Kano Model, Velocity, the XP Planning Game – and much more in this chapter on Grooming and Planning.  And it includes an interview with none other than Mike Cohn!  If this post, or any of the previous ones on Roles or Requirements or our guest blog from co-author Sondra Ashmore inspire you to want to purchase the book, please visit Amazon and search on Introduction to Agile Methods.

Back to Planning and Grooming, here are the Learning Objectives for the chapter.

Learning Objectives

  • Understand the elements of a product backlog and what traits lead to the strongest deliverables
  • Dive into prioritization and learn different methods for understanding what is the most important feature or item to work on
  • Explore estimation and the different practices and measures that are used today
  • Understand story points and planning poker as ways to discern the level of effort and complexity of the user stories/requirements
  • Learn the other inputs that affect the planning process, such as team velocity, definition of “done,” technical debt, and bugs/defects
  • Evaluate Sprint planning and the XP planning game to learn how commitments are made and work is planned
  • See how maintenance work can be incorporated into Agile teams
  • Review the triple constraints model and how it is handled within the Agile framework

Agile Book – Requirements

This is the second in a series of blogs about our upcoming textbook called Introduction to Agile Methods that I have written with Sondra Ashmore.  The first blog spotlighted Roles and our second post was a guest blog by Sondra on Agile in Academics.  I hope these blogs inspire you to want to read the whole book!  Pre-orders are available on Amazon right now – just search Introduction to Agile Methods by Sondra Ashmore and Kristin Runyan. The chapter spotlight for this post concerns Requirements and how they Userstoryare approached very differently in Agile, as opposed to Waterfall.  Within Agile, the terms around requirements include User Stories, Epics, Acceptance Criteria, Personas, Release Management and much more.  The excerpt that I have chosen to share here addresses a particularly challenging aspect of managing requirements and priorities – Customer Specific Code Requests.  First, here are the learning objectives for the chapter.

Learning Objectives

  • Recognize the differences between Agile and Waterfall with regard to requirements gathering and documentation
  • Understand the format used within Scrum for user stories, including epics and acceptance criteria
  • Explore several examples of how user stories are broken down from epics to child user stories and how acceptance criteria add important details to the story
  • Learn how the other methodologies differ from Scrum in their terminology and practices
  • Examine how requirements can be enhanced by using personas or engaging User Experience (UX) designers to better understand potential system users
  • Understand how user stories and Agile development efforts map into a marketplace driven by consumer demands and customer-specific development requests
  • Value the importance of communication and transparency when it comes to requirement specifications and priorities
  • Explore Lean software development and the Lean start-up concepts and how they influence the product development process

Agile in Academics – Guest Blog

Please enjoy this guest book from my co-author, Sondra Ashmore.

I have spent my career working in IT for Fortune 500 companies, so it is fair to say that my career has followed a corporate path rather than an academic one. I am happy with my choice, but there has always been a part of me that is fascinated by higher education. I dabble in the academic world by teaching an occasional course, speaking at conferences, writing journal articles and soon publishing a textbook about Agile software development methods with Kristin Runyan. I love to learn, contribute to the knowledge base and help people acquire the skills they need to achieve their goals.

Sondra_Ashmore_headshot_v2In 2009, I returned to school to finish my doctorate. I had been practicing Agile methods at work for a couple years and assumed there would be an Agile course offered at my university. I was surprised to learn that most of my (very technical) professors had scarcely heard of Agile and the thought of teaching an Agile course was not on their radar. I decided to do my dissertation research on Agile methods due to the limited research on the topic. My research encouraged me to network with many local Agile enthusiasts. They complained that there was not a pipeline of students at any of the local universities who even knew the basics of Agile requiring them to do extensive training with all of their new hires. They were desperate to have an Agile methods course taught and encouraged me to sell the idea of an Agile course to my university. I presented the idea to my university and was subsequently recruited to teach because I was the only one they could think of that had any expertise or experience with Agile.

Agile Book – Roles

We are getting closer to the publication of the Agile textbook that I have co-authored with Sondra Ashmore.  It is such an exciting time for us and I want to use this blog series to highlight chapters from the book.  I hope you enjoy this so much that you want to order the book.  Pre-orders are available on Amazon right now – just search Introduction to Agile Methods by Sondra Ashmore and Kristin Runyan.

One of the chapters that I was responsible for addresses the roles within Agile and specifically Scrum teams.  Here are the chapter learning objectives as well as an excerpt from the section about Product Owners, something I am very passionate about.

Learning Objectives

  • Understand the roles in Scrum with their specific responsibilities—product owner, Scrum master, and team
  • Identify the attributes and personality types that are most successful in the various roles
  • Learn the Agile definitions of “chickens” and “pigs”
  • See how extended team members interact with the team
  • Compare and contrast the roles in Scrum and the other methodologies
  • Walk through practical examples of how the roles are filled in different-sized organizations

Product Ownership – Breadth

Another nuance of the product owner role is the breadth of his or her ownership. Does one product owner manage multiple products? Or is one product so big that it requires multiple product owners? Both of these situations are common in the workplace where teams are thin and expectations are high.

To examine the first instance, what are the advantages and disadvantages of having one product owner responsible for multiple products? The biggest risk factor is time and attention. Can the product owner devote adequate time to every product that he or she is responsible for? Does this person have the necessary depth of understanding to truly collaborate with IT on the best solutions? It is a risk, but certainly one that can be overcome.

In the instance where the product is large enough to have multiple product owners, there is a chance that the priorities will not Manyto1align. Related to the previous reference of business value, if one product owner wants to expand to new cities to attract new users but another product owner places top priority on improving the processing speed, then you can run into conflicts. However, one of the core tenets of Agile is collaboration, which includes collaboration between product owners. Product owners need to be in communication with each other to clearly articulate the best plan for all groups—knowing that at any given time, one group’s needs will take precedence over another’s.

Even if you have a single product owner for every product, that does not mean that things are easy. Between systems there are interactions, and to create a new feature or make a modification, the product owner may need to consider dependencies.