by Amit Juneja | Feb 1, 2021 | Agile, Everyday Agile
Parents are naturally Agile and don’t know it.
Yes, you read that correctly. You’re Agile and don’t even realize it.
What is Agile?
Agile was initially designed for software development, so you may be asking yourself: what does that have to do with being a parent?
Agile, simply put, is a way of completing tasks in an adaptable manner as a team. That may sound like common sense. But think back to when you’ve ever had to convince anyone, let alone a child, to change their minds. I’m betting they put up some resistance, at least initially.
So, how are parents Agile already without realizing it? Let’s walk through the various parts of Agile methodology and find out.
Agile Methodology Through the Lens of Parenting
As a parent, things are constantly in motion with children: in the air, about to happen, or need to be planned. This constant state of replanning is the sprint. The backlog is the future expectation of milestones, i.e., crawling, waking, teething, etc., that all need to be addressed down the line. These too are constantly reprioritized, ready for a future “sprint,” as there is no exact order in which a child will achieve these milestones.
There’s a learning curve to being a parent as well. Do it faster. Then do it better. Then do it faster and better. Sound familiar? A child’s developmental milestones can be restated as big tasks (epics) that need to be split into more manageable smaller tasks (stories).
The process of faster and better is the iterations process within Agile. If you’re a parent, you were probably much better at feeding, bathing, and soothing your child in year two vs. year one. The entire process was also probably easier if you had subsequent kids, because although each child is different, your mindset changed into parenting mode without you realizing it.
The next one is easy: time-boxes. There are no long meetings as a parent. There’s the time between now, the next task, and the next fire-drill. There’s barely time to plan, and then you’re turning around and immediately re-planning.
User stories is another easy one to relate to. One of the primary functions of Agile is to focus on relating the tasks to outcomes. The client (child) has a need. Your job is to fulfill the need. The outcome is a satisfied client (child). If you discover a better way to perform the task, it’s incorporated into the action, but the required outcome is the same.
Planning poker may sound odd at first, but its purpose is to identify ambiguity and clarify priorities. For example: one parent may think that the child focusing on learning an instrument at an early age is a higher priority than the other who prioritizes learning a second language. In having these discussions and assigning a weighted value to each task, everyone getting on the same page faster in order to move forward together means more efficient and more successful products.
A software developer’s “kanban board” is really just a constantly evolving to-do list. The most common kanban sequence is “To do,” “In progress,” and “Done.” This is where the next part of Agile comes into focus. Transparency is key. Each parent or team member must know what the others are doing in order to avoid duplicate efforts and keep everyone in the loop.
The “standup meeting” in software development is a short meeting to catch everyone up on their status. It usually tries to answer three questions:
- What did you do yesterday?
- What are you planning to do today?
- Where are you blocked?
The first two are self-explanatory, but the final question is the most relevant comparison. How can the other team members (spouse, parents, in-laws, etc.) help each other to remove obstacles for each other, therefore easing everyone’s workload?
In those rare breaks between tasks and emergencies, parents can talk about what’s working well, what’s not, and how they can improve. This is the sprint retrospective.
Relationships
Think it’s pretty weird that parenting and software development can be so similar? On first glance, perhaps. However, the key relationships between software development cycles and parenting are ultimately the same:
- Plan for the short and long-term knowing they will be replanning continuously along the way.
- Must be able to adapt on the fly while also juggling multiple tasks of varying priority.
- Focused on outcomes vs. process.
- Constant communication and coordination between parties is required.
My next blog post will focus on what both sides could learn from the other using Agile. Questions or comments? Follow up with us at info@ascendintegrated.com
by Jim Breunig | Oct 29, 2020 | Agile
You’ve done it! After a successful installation of Jira Software, you were able to convince all of your company’s teams to move off their old software development methods and start using Jira. It took some major effort to convince the groups that just because “We value individuals and interactions over processes and tools”, that does not mean that everyone using the same software development platform would harm the team’s unique workflows. The implementation of Jira has also increased most team velocities as they are more easily able to communicate amongst themselves, what is needed to develop a Story within a Sprint. Program management is still not happy however. In many cases, it is still unclear which team is working on what part of the program solution. The Program deadlines keep being pushed back. Large development items (Epics) in the Program which require input from multiple teams and different skills become difficult to get across the finish line. Traditionally, the Project Managers would communicate the milestones needed and simply hound the Scrum Masters and Product Owners until their team’s work is done. This required the Scrum Masters and Product Owners to negotiate with each other’s deadlines during the Scrum of Scrum Meetings. Perhaps, there is a better way.
Let’s say that you now have 5 teams doing Sprints regularly in Jira. Their velocities differ between the teams, but they show greater improvement and predictability between sprints. As the Program Manager, you’ve been tasked with ensuring large software solutions get completed on time and on budget. These solutions will take multiple Sprints, perhaps many months in some cases to see the full program implemented. How can you use Jira to align the teams to a common program goal?
Here are some Suggestions with Jira Software
- Align Sprint Lengths
– The Start and End Dates among Scrum Teams in a Program. If more than one team shares a Jira Project, use enable parallel Sprints.
- Enable Parallel Sprints
– If more than one team shares a Jira Project, use enable parallel Sprints.
- Create a Program Board
– Create a Board with all of the Teams in a Program (Both Scrum and Kanban). Use Simple: To Do, In Progress, and Done statuses to classify all them by Column on the board so that it’s visible for the Program Manager.
- Create a Program Dashboard
– Include Sprint Gadgets for each individual team including burndown and velocity charts.
What happens if the number of teams and programs continue to grow? Programs may eventually be large enough that we need to plan several sprints ahead. How can we do this in Jira?
Engage in an Agile Transformation
Tools are not enough for an effective organization to adopt Agile practices. Even if individual scrum teams are well functioning, it can be difficult to get a program to function as a team. An outside consultant tends to make the best Agile Coach. This coach can provide insight without any preconceived bias.
Use a Knowledge Base
Confluence provides an excellent link to Jira. The more content is shared at the Team and Program level in the same place, the easier it is to coordinate which issues to work on in what Sprint with the Teams. Build both Team and Program level Spaces in Confluence to share this information.
Use a diagramming AddOn
The Draw.io diagram AddOn provides a way to draw product roadmaps, team org charts, value streams, and visualize processes. Couple this with Confluence and you have a great way to visually show your program the information they need.
Still need to Scale Up?
Jira Align allows a user to view all of the Sprints for a Program Increment (typically five Sprints). You can view dependencies within different issues among the teams. You can see when an issue is scheduled to be worked on. Jira Align allows you to plan at the Program level and view this work as it allocated at the Team level.
Getting better at Estimation During Sprints
The Planning Poker for Jira AddOn allows teams to vote on point values of issues during Sprint Planning. It allows you to record team member votes, reach consensus, and estimate as a remote team.
Big changes can be needed when a company gets larger in size and complexity. Going from 5 teams to 10 teams to 20 teams will change how teams need to work together. As software products become more complex and developed, more teams will need their input in a large solution. It’s important to coordinate between teams and Jira Software can be scaled up as you need it. Contact Ascend Integrated to learn more!
by Mike Brown | Dec 28, 2018 | Agile, Atlassian, Jira
By now you have heard of our latest free app to reach the Atlassian Marketplace, “Color Queues for Jira Service Desk”: Color Queues for Jira Service Desk. If not, Color Queues is a free app developed by Ascend Integrated enabling users to highlight and focus on queues in their Service Desk project. Using Color Queues enables your agents / teams to organize their queues using color coding, ensuring a faster response and resolution time for your customer’s requests.
In this blog, we’re going to cover three major use cases for Color Queues and leveraging existing Jira Service Desk functionality so you can get the most out of our app. Note, you will need to be a Project Administrator to enable and configure Color Queues.
Identify Your Tasks
Do you have a specific queue you work within? Quickly and easily identify your queue from the list, especially if your team is working with A LOT of queues. Working with your Project Administrator, create a queue with issues assigned only to you (i.e. assignee = currentUser() and resolution is empty) and assign a color. Now, you (and all your fellow Service Desk Agents) will be able to focus on which queue identifies your current, open tasks / requests.
Figure 1: Creating the “My Open Requests” Queue
Figure 2: Viewing the “My Open Requests” Queue with “Color Queues” enabled
View Critical / High Priority Requests
When your customers enter high-priority requests or issues, you want to identify these right away in your large list of queues. To configure, create a new queue and set “Issues to Show” to only high priority issues where there is no set resolution (i.e. priority = “Critical” and resolution is EMPTY). Identify a color, click “Create”, and your queue will appear!
Figure 3: Creating the High Priority Requests Queue
Figure 4: Viewing the High Priority Request Queue in the Queue List
View Expiring SLAs For Powerful Reporting
Does your organization monitor SLAs closely? Use Color Queues in Coordination with your SLAs! Create a queue showing all open requests / issues that are expiring in 1 hour or less (i.e. use a JQL query like “Time to resolution” < remaining (“1h”).
After you create this queue, assign a color to it, and easily identify all requests whose SLA’s are expiring:
Figure 5: Creating a SLA Expiration Queue using Color Queues
And now your service desk team can easily identify those requests expiring in 1 hour or less!
Figure 6: Viewing the Expiring SLAs Queue
How are you using Color Queues? Let us know in the comments section or drop us a note: Contact Us!
by Mike Brown | Nov 26, 2018 | Agile, Jira
There are many ways to use Color Cards, a free app for Jira Software server available through the Atlassian Marketplace. In this blog, we are going to focus on three ways you can use Color Cards for your agile team, or just to improve visualizations in your Kanban or SCRUM boards. Note: You will need to be a board administrator to make the configurations below.
View Cards Coming Due
There is an easy way to view all the cards your team has coming due by using the “Queries” selection in the Color Cards Board Administration screen. If you use the Due Date field with Jira, using a query such as due <= 3d will yield all issues / tasks / bugs due in the next 3 days. If you reverse the operator to show due >= 3d will yield all issues that are overdue by at least 3 days. To set up this board configuration, perform the following:
- Go to the Color Cards Board Admin Screen.
- Select “Queries” from Colors Based On drop-down.
- Write the JQL query (due <= 3d).
- Select a color for the query.
- Click “Add”
Now you will be able to see all issues highlighted coming due in the next 3 days. You can also create ranges of due dates as well using JQL. We recommend using the Search function in Jira to test / craft advanced JQL functions.
View Issues Assigned to Different Versions
Boards can quickly become cluttered with custom card layouts, Swim lanes, and quick filters. Your team may be responsible for working on issues / stories / tasks that will be released over multiple versions. If so, you can easily view issues assigned to different versions on the same board and / or backlog. We recommend using Queries to identify versions and releases, i.e. fixVersion = 1.0.0 will provide a color for all versions related to / assigned to version 1.0.0. To set this up, perform the following:
- Go to the Color Cards Board Admin Screen.
- Select “Queries” from Colors Based On drop-down.
- Write the JQL query (fixVersion = 1.0.0).
- Select a color for the query.
- Click “Add”
You will see issues assigned to different versions in your backlog, Active Sprints, and Kanban boards.
Prioritizing And Identifying Issues
Looking to tackle those high priority bugs first? Easily view your high priority tasks / bugs / stories by selecting colors associated with Priorities assigned to your project.
For instance, to view all blocker issues with a Red color, perform the following:
- Go to the Color Cards Board Admin Screen.
- Select “Priorities” from Colors Based On.
- Assign a color to the priority “Blocker” (or your priority of choice).
- Click “Back to Board” and you will see the colors assigned to all your blocking issues.
If you are already using complex JQL queries for your board, you can still achieve this functionality by using “Queries” to base your color. Use a query, such as priority = Blocker, select the color next to the query and click “Add”.
How are you using Color Cards in your organization? Let us know! If you have questions, feel free to reach out to us: Ascend Integrated Contact.