One of the first hurdles to get over when working with a manager who is accustomed to working with Waterfall projects:
Show me our milestones for this project, and when are theses project artifacts to be delivered? Is there a timeline that articulates our deliverables? I want to know when I should get engaged in the project, such as when milestone delivery dates’ slip, and we need to revisit or rebaseline our projected delivery timetable.
Going through the agile transformation on the team level, invoking the Agile Values empowers the team to “Respond to Change”, which may deviate from our initially targeted “milestones”. Not only the timetable may shift, but the milestone, and what it represents may significantly change, and that’s OK with an Agile team. Product stakeholders outside the team may not be adaptive to changes in deliverables. “Outside” stakeholders may not be engaged in the cadence of Scrum ceremonies.
When working with Agile toolsets like JIRA, and Azure DevOps, a Gantt chart does not traditionally come to mind. We think of a product backlog and user story commitments to the current, and next sprint(s). Maybe we are targeting several sprints of work transparency, such as leveraged with SAFe, and Planning (IP) Iteration. We’re still not seeing the visuals in the “traditional” style from Waterfall efforts.
Azure DevOps Provides the Necessary Visuals
So, how do we keep our “outside” product Stakeholders engaged in the product life cycle without inviting them to all Scrum ceremonies? We don’t have Gantt charts, but we do have “Feature timeline and Epic Roadmap” as a plugin to Azure DevOps through the Microsoft Marketplace, for FREE by Microsoft DevLabs. To me, this functionality should be “out of the box”, but apparently this was not the case. I had to have the need/pain in order for me to do research to find this plugin and install it in our enterprise environment. Why would Microsoft disassociate itself with this plugin to some small degree? I can only hypothesize, like the man in the grassy knoll. Regardless of why, “It’s in there, ready for you to install
Articulate Epics, Features, and User Stories
1. Populate the Product Backlog with Features and Epics
Using Azure DevOps, during the initial phase of the effort, Sprint 0, work with your Product Owner to catalog the Features you are looking to deliver within your product evolution, i.e. Project. Each of these features should roll up into Epics, also commonly called Themes. Epics are the highest level of articulation of delivery.
2. Define User Stories, and Attribute them to Features
Working with the Product Owner, and the implementation team, create User Stories in the Product backlog which will help the team to implement the Feature set. Make sure to correlate each of the User Stories to the Features defined in your Product Backlog. User Story, effort estimations would also be helpful to determine “how big”, i.e. how many sprints it will take to implement the feature.
3. Plan Feature Delivery Within / Across Sprints
Within Azure DevOps, Boards –> Backlogs, Team Backlog, and select “Feature Timeline”. From there, you are able to drop, drag, and define the periods of Feature delivery.
- All Sprints are displayed as Columns horizontally across the top of the chart. There is an indicator of the current sprint.
- On the left side are Epics, and the rows REPRESENT Features within the Epics.
- Select the box, “Plan Features”, and a column of unplanned Features will appear to the right of the screen.
- Drop and Drag a Feature from the list of unplanned Features into one of the defined Sprints. Deselect “Plan Features”, and then select the “Info” icon on the planned Feature. A Feature dialog box will appear to the user with all of the User Stories associated with the Feature.
- User can drop and drag User Stories from the “Backlog” column to any of the Sprint buckets.
- Finally, the user should define the Start Iteration and End Iteration for each feature, showing how Features span multiple sprints and an estimation of when the Feature work will conclude.
- Note, although Features may span multiple sprints, User Stories cannot within this Feature planning view of Azure DevOps. The approach of a single user story fitting into a single sprint makes sense as implemented in the “Agile Mindset”.
The Final Product – Epic and Feature Roadmap
Although this view is immensely valuable to articulate to ALL stakeholders at both a high and low-level, Epic, Feature to the User Story, there is no Print capability, just as annoying as trying to print out Gantt charts.
Microsoft 365 Project offers the capability of building Roadmaps and Timeline (Gantt) views. From Microsoft Project 365, the user connects to the Azure DevOps server in order to import all of the User Stories desired to track. At first glance, the user would be tracking Azure DevOps, User Stories, which, in my opinion, should be done at the Feature level, one layer of abstraction for business communication.
The other aspect of MS 365 Project, is the cost, three tiers, and if you want to use the Roadmap capability, it’s $30 per user/month. Here’s a video blog, 4-minute video that shows how to get started.
- Outside the Product Owner and the implementation team, senior stakeholders may require milestones articulating deliverables.
- Epics or Themes, high-level declaration of the “Release” essence, rolls up from Features, and Product Backlog Items (PBI). Relative effort estimations may be applied at the PBI level, and then rolled up to calculate/guestimate the duration of Epics.
- Look toward SAFe (Scaled Agile Framework) to change the culture by providing an opportunity for the entire organization to participate in the Agile process. “Product Increments” present windows of opportunity every 8 to 10 weeks.
- Product Increments may involve multiple scrum teams, their scope, and how these teams may intersect. In order to synchronize these Scrum Teams, SAFe introduces Agile Release Trains (ART), and Release Train Engineers (RTE) to coordinate cadence of the scrum teams to be in alignment with Epic and Feature deliverables.
- Stakeholders may require a “waterfall” plan to understand delivery timeframes for milestone artifact deliverables. For example, “When do we deliver in the plan? We have dependencies on XYZ to build upon and integrate”
- External teams may have dependencies on artifacts delivered in the plan thus cross scrum team interaction is critical, sometimes through a reoccurring ceremony “Scrum of Scrums“.
- Additional transparency into the scrum team or the “Circle of Trust” can be provided through the use of Dashboards. Dashboards may contain widgets that produce real-time views into the current initiative. Key Project Indicators (KPIs), metrics being monitored to determine the success of Product ABC Epic Phase completion.
- Dashboards may include: Average Team Velocity, Burn Down, Burn Up, Bug Status by Severity, and metrics that are initiative focused, e.g. N out of Y BI Reports have been completed.
I can’t help but chuckle at this scene with Peter Quill and the rest of “the scrum team” as they “deep dive” on the plan. It sounds more like the waterfall approach, the stakeholder and Project Charter on a napkin.
- Product Owner knowing a relatively small portion of “the plan” before executing the plan. Fail Fast, and Fail Often.
Individuals and Interactions over Process and Tools
Stereotypical software developers are introverts, heads down, coding. Articulating where they are in the development lifecycle sometimes heavily relies upon tools for measuring progress such as JIRA, Product Backlog status of User Stories, e.g. “In Progress” with an Effort estimation of 3.
“Blocked” User Stories may require the implementation team to “break out of their shell” and work with their teammates to “unblock” Product Backlog items. It breaks people out of their comfort zone. We need to discuss options and opportunities for removing blockers. “All for One, and One for all”
Working Product over Comprehensive Documentation
Over a decade or so ago, the measure of my merit was the complete test coverage of requirements for software implementation. Back then I was a QA lead, and my focus was to make sure all use cases for the software under development had complete test coverage.
Requirements changes from our business through our business analysts must be vetted with the QA team so use cases/test cases must be updated to ensure coverage. Sometimes a dependency of one requirement had a ripple effect throughout the software, so lots of documentation updates were required. Milestone dates were in many cases fixed, so teams were squeezed to do more with less time.
Flash forward to today, and leveraging Agile principles, I breathe a slight sigh of relief. Iterating product delivery via sprints every 2 weeks is supremely better than attempting to traverse updates to Business Requirements Documents (BRD), and technical specs. User Stories in a Backlog are much more succinct, and in some cases, a bit more abstract leaving functionality open to some level of ambiguity and interpretation.
Sprint Close scrum ceremonies every two weeks with our Product Owner, the central mouthpiece for the definition of the software product helps define the path forward. Did we get it right? Where do we need to make changes? There is no substitute for an evolving product and accompanying dialog with our Product Owner.
Customer Collaboration over Contract Negotiation
Both sides of the aisle seem to agree, building a solution with iterative input from the customer enables the product vision to be realized far better than without frequent touchpoints.
Statements of Work (SoW) to engage 3rd party solutions integrators (SI) may be abstract in some way. Holding vendors accountable for loosely formed requirements is tenuous at best. Quibbling about he said, she said is a waste of time.
Fail fast, engage regularly and often with our [Business] Product Owner enables us to collaborate on a working solution. The focus is on the evolving product vision and not the paper trail.
Responding to Change over Following a Plan
A “last-minute” change request? It could push back our timelines and accompanying milestones. Dates can’t change, and teams need to absorb the changes, i.e. nights and weekends. Responding to incremental changes at a regular cadence is a sustainable life cycle.
A relic of the Waterfall model is the construct of a “gate” process. In order for a project to achieve a milestone, the project/solution would need to achieve certain criteria that would allow it to go to the next phase of the project. For example, going from solidifying requirements in a Business Requirements Doc (BRD) to the software implementation phase.
In Agile, we leverage the Product Owner (PO) and the Product Backlog to determine what gets done and when. A Product Backlog item (PBI) may cover the full lifecycle of a Feature, from requirements to implementation. The Product Owner dictates acceptance of the PBI based on the status/transparency of the Backlog, such as the criticality of the Bugs linked to the PBI. Product quality and implemented functionality are transparent to the PO, who will determine the next steps such as release the software, and/or go through another iteration/sprint. Iterations are a defined cadence agreed to by the implementation team and the Product owner, typically, 2-week sprints.
Agile, Hybrid Environments: Opportunities for Synergy
Epics, Features, Product Backlog Items, and Tasks are object types in a Backlog that enable the PO and the team to link objects and plan over multiple sprints. Epics or Themes of Sprints are “high level”, potentially strategic initiatives. Features roll up into Epics as a part of several sprints. Either Epics or Features may be high enough level to link to Psydo Project Milestones for a product roadmap of deliverables, and solicitation outside the team.
Aggregation of Product Backlog Items, Effort Estimations, roll up into Features, and then up into Epics, which roughly equate to milestone timelines.
The “Definition of Done” (DoD) for a Product Backlog Item may require 0 outstanding Bugs with the severity of “Critical” linked to this PBI. The DoD criteria could be analogous to a traditional Quality Assurance gate.
Tasks that are production rollout activities, without a project plan, should be planned for in future sprints, akin to estimating when items may be completed in the proper sequence. Some of the Tasks may be placed conservatively in “early” sprints and may require items to be “pushed forward” after each of the iterations.
Maybe you’ll meet them during the Project Kickoff. Maybe you’ll first hear from them during a biweekly Steering Committee. Or maybe you will first hear from them three months into the project at a quarterly meeting with the CIO and the rest of his portfolio. Maybe you will never hear from them directly.
The politics of requirements gathering and prioritization is a daunting process. I’m not going to drudge up all the stories and categorize them here because it’s a painful process.
Why are some of your milestones in your project plan:
• the milestone exists within someone’s year end evaluation
• the requirements of a milestone are so bipolar, they are bound to fail. Need a project to bucket the requirements to say “we tried”, and we can pin it to a project.
• backing into established project timelines based on expectations set at the highest levels, e.g. regulatory compliance
Legal and Compliance Stakeholders
Global representation of legal and compliance requirements are a dichotomy of legal precedence between jurisdictions.
Agile Product Owner verse Waterfall Stakeholder Committee(s)
Many a project managed using waterfall kept me balancing the needs and wants of Stakeholders from all walks of life, some exuberantly voicing their opinions regardless of their position of power, or lack therein. The Agile Product Owner (PO) is a relief of burden, a single mouthpiece of the business, which dictates backlog priority.
Does Agile make the requirements gathering and prioritization pain go away? Possibly. There are various implementations of Agile, hybrid situations, and there are lots of tools out there to help manage the Product Backlog (requirements). Another exercise, developing User Journeys, working with your Personas / actors to derive their story, that is telling and lots of fun.
Here is a list of seven failures from my professional career, how I met those challenges, and in some cases, turned them into opportunities
Eager to please throughout my career, I was burned many times, and in some cases continue to be burned by underestimating the effort required for an activity, or task, which roll up to the delivery of features, or meeting a milestone. In my earlier years, I “shot from the hip” to senior management, and they held me to those commitments. Over the years, I’ve been fortunate enough to document and mitigate risks. In addition I learned additional tools, both process and communication / people skills:
* “Interesting point, let me consider, and get back to you.” You don’t have to provide an answer right away. Consider the scope and impact of the questions you are presented. Unless you are almost certain of the answer, try to defer.
* Planning Poker (Agile) collaborative (blind) estimates make better estimations. Through collaboration, you reach joint commitment. You eliminate the “boss knows best” factor.
Hearing but not Listening
Throughout my personal and professional life, I’ve struggled with this aspect of communication, more so earlier on in my life. Two people have a meeting, and discuss their point of views regarding the same topic. They both leave the room, and have two polar opposite prospectives of what was communicated.
Even in the same language, things get “lost in the translation.“. There are many process tools to better your communications style. You hear what you want to hear. You don’t probe deep enough into another person’s perspective.
Adding too much margin into an estimate, being conservative in your effort estimate at times may not be the best course of action. “Right Sizing” the estimate is typically the desired approach unless otherwise guided by the appropriate stakeholders. There are lots of tools for Effort estimation, poker planning, and fist of five are just two examples.
Army of One – Embrace Opportunity
I was brought into a development team as a Software Quality Assurance manager for a well known Financial Services organization. I was to build a team of QA staff as well as mature their process workflow, e.g. implement software change management.
The department’s QA resources per team dwindled, letting go these resources, and not growing the teams as first advertised during the interviews. I found myself constantly working with the team putting out fires. Best case scenario, I worked “after” hours just to work on the strategic stuff like process improvements, and automation. I stuck to the opportunity to learn as much as possible. Sticking with the job, I built my knowledge and relationships that would wind up propelling my career to later on build and manage a 50 person, global team.
Build it and they will Come…Bull!
I chose to try my own startup at some point in my professional career. I had worked for a startup firm out of college, but that was not the same as my own self startup. There were lots of balls to juggle, decisions to make and prioritize. After a year and a half, I shutdown the company, more money going out than in, and I was also “relatively” self funded.
One of the several ill choices I made was “Build it and They will Come.” At the time it was 2009, and the mobile frenzy was just starting to heat up. Feb 2009, Apple was at 30 USD per share! 30! I built a client/server mobile application for expertise transactions, way ahead of my time. I was almost entirely focused on the development of the solution, I clearly lost sight of the focused requirement of building market share. I did post Press Releases, but I didn’t embrace digital marketing as a core spend and activity for my business.
Needless to say I was “The Best Kept Secret”.
Chasing the Sun
As a software product, startup firm, you need to segment your product to align to a target audience. However, honing in on the target market maybe problematic if the “fish aren’t biting”.
You find yourself reassessing the strategic and tactical goals of your product, pivoting often to eventually find your “pay dirt”. There may be fundamental influences to your ecosystem, such as a shift in a 3rd party product previously seen as complementary now seen as “overlapping”. Sales pitch and marketing approach may need to change along with your product.
Although pivoting often may be the name of the game, you still should recognize the cost in adapting to change. Process flows like being “agile” and Scrum help to smooth the pivot, as these processes revolve around constant development iterations and reflections every few weeks.
Time to Pull the Parachute Cord
I still have trouble with knowing when it’s time to say when. I enjoy troubleshooting problems, business, people, process, and technical. So, how long do you work on problem before you pull the ripcord?