“Out of the box” there are Process Workflow features to build automation rules within Microsoft Azure DevOps (ADO). One caveat found thus far. If criteria is met for an update to an ADO object, user is unable to update the Tags of an object (e.g. append tags). Bizarre but true.
In this case, the user must leverage Power Automate to update the ADO object to append Tags to the object that meets the criteria.
Thanks Omer for pointing out this shortfall so we could plug the hole with Microsoft Power Automate. Note: other fields can be updated when the rule is executed, just not the Tags field. Special logic is required to update this field, i.e. Replace, Append, Remove
I’m looking at some interesting new functionality from Microsoft Power Platform, Power Automate. You can ingest documents, the AI will parse the documents for predetermined fields, like fields in an invoice, and then you could insert this invoice data into a database.
Automatic Redaction of Information
Taking this a step further, I propose to leverage MSFT Power Automate to troll your Data Lake flat files to redact any information patterns with AI Builder such as SSN. As data objects are posted to the Azure Data Lake, Power Automate processes the files, updates a copy, and moves the original to a secure repository. This methodology could be used to protect Personal Identifiable Information (PII) and other security compliance regulatory mandates.
Many firms try to graduate from Waterfall to Agile without completing the journey. The team may be embedded in an organization with strong ties by leadership to the traditional project plans with milestones. How can three schools of thought coalesce into an SDLC where all sides (mostly) buy into the resulting process?
The challenge with integrating new tools and process updates is to make sure there are no gaps in the new, incremental process. The more changes in people, processes, and technology, the greater the need to independently assess the target state SDLC.
Capability Maturity Model (CMM)
The Capability Maturity Model (CMM) is a development model created in 1986 after a study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. The term “maturity” relates to the degree of formality and optimization of processes, from ad hoc practices, to formally defined steps, to managed result metrics, to active optimization of the processes.
The model’s aim is to improve existing software development processes, but it can also be applied to other processes.
Process Requirements: Epics, Features, and User Stories
From a top-down perspective, a discrete hierarchy of requirement elements helps logically organize the product requirements and so much more. An Epic is the highest level of requirements definition, which is a Theme of Features bundled together, e.g., for a major release. Features are the “next level” requirements definition and are associated with Epics as children. User Stories are the detailed level requirements and are usually formulated in the form of a narrative. Similar to use cases, there are personas or actors that operate on the product/system and design the implementation of a Feature. Successfully defined user stories have “Acceptance Criteria” for which the QA and/or Product Owner declares the User Story has been implemented according to spec.
Tools for Manging Requirements Implementation
Many SDLC requirements management products, such as Microsoft Azure DevOps and Atlassian JIRA, allow you to define a product backlog of Features and User Stories to be implemented by an implementation team. In addition, the QA implementation team members can create test coverage, i.e., associating Test Cases to each of the User Stories to be executed once (or in parallel to) the user story state has entered some form of “Test Ready” state. Finally, the implementation team may create Tasks as children to a User Story to help granularly track the implementation, such as Database Tasks, UI Tasks, or Interface Tasks.
Agile Manifesto on Documenting Requirements
The Agile Manifesto reinforces the “right” amount of documentation:
Working software over comprehensive documentation
That is, while there is value in the item on the right, we value the items on the left more.
Classically, in Waterfall SDLC, we await completed documentation such as the finalized Business Requirements document and technical specifications. Leveraging an Agile approach, a Sprint can incorporate incremental business requirements definition and iterate with evolving documentation. In addition, User Stories dictate the requirement in a practical way, where we can see the Persona travel through the User Story, ultimately meeting the “Acceptance Criteria”
There’s Nothing like a Good Gantt Chart
Visual timelines for tasks and milestones, showing dependencies between tasks and predecessor definitions dynamically push dependent work items. Typically, classic waterfall maps out milestones “going beyond the near-term.” Agile may look toward the delivery of one or two sprints ahead, sprints varying in time between one to six weeks each. In some instances applying SAFe, Scaled Agile Frameworkmay instantiate a Product Increment [Sprint], which attempts to plan 8 + weeks ahead.
There are several ways to overlay classic Gantt chart visuals over the product backlog delivery timeframes. Depending on the toolset you use, such as Microsoft Azure DevOps and Atlassian JIRA, these visuals may be provided “out of the box” or leveraging 3rd party extensions, or even exporting the product backlog data to be reported using a 3rd party tool such as Microsoft Power BI.
Burndown Delivers Value
Neophytes to Agile will not be initially exposed to Burndown Charts. Scrum masters, akin to project managers, attempt to measure the health of initiatives using Key Performance Indicators (KPIs) and, in the case of Agile and Scrum, leverage sprints, story points, and average sprint velocity.
“Story Points Remaining” – All of the user stories contain “Story Points.” Story points are derived from collective, relative effort estimations. Each person on the team guesses the size of each story based on other stories previously estimated. Implementation team members use a consistent scale for estimations, such as the Fibonacci Sequence. All implementation team members estimate each story and speak their answers at the same time. Then a consensus is achieved for a given story. Story Points Remaining is an aggregate of points for a defined major/minor release.
“Items Not Estimated” – are stories in the “initiative” product backlog that have not yet been estimated. This number can skew the overall burndown estimated completion date/sprint by inflating the number of points still remaining. but are currently unknown. i.e., “Projected Completion” will not be accurate.
“Total Scope” – is the total number of story points for the “initiative” regardless of user story completion status. There may be an upward tick of Total Scope, as we are agile and are able to accommodate for changes or increases in scope. over the course of the initiative.
“Remaining” is the bar chart that shows a downward trend in the remaining scope for the initiative. The remaining may also have an uptick in user stories as we see “Items Not Estimated” become estimated.
“Burndown” should be a downward trend, and based on the tool that derives this graph, it may predict the projected completion of the initiative based on several factors, including average total velocity per sprint.
Daily Scrum v. Daily Status – Removing Blockers
Daily, Weekly, and Biweekly status update sessions with the implementation team are no match for Daily Scrum sessions, which primarily focus on Blockers. Blockers may be Issues that impede progress for the implementation of User Stories. We all focus on unblocking team members so they can implement stories and we can earn Story Points.
Collective, Relative, Effort Estimations
The classic developer SWAG for effort estimations is “two weeks.” None of which may have any basis upon reality. Performing relative effort estimations allows the team to apply a reproducible methodology. We compare the size of a change relative to other changes we have made to the system. Any scale will do so long as you consistently apply the method. For example, you can use tee shirt sizes, Extra Small (XS), Small (S), Medium (M), Large (L), or Extra Large (XL).
Some teams use a sequence of numbers. One most notably used is the Fibonacci Sequence: 1, 2, 3, 5, 8, 13, 21, 34, and so on forever. with many of my teams, we use 1,3,5,8,13, and 20, a “modified” Fibonacci Sequence for 3-week sprints. If using user stories as the team’s discrete unit of requirements to implement., each story can have “Story Points,” and these points are populated using the Fibonacci Sequence. Your team can equate
1- one day or less; ideal for a small change or spike
3 – three days or less for change to implement
5 – one business week
8 – Week and 1/2
13 – 2 weeks
20 – 3 weeks
When deriving “Story Points,” the implementation team must agree that story points are inclusive of system integration testing.
Perception – Stakeholder Point of View
Stakeholders want to have a holistic review of the project/product health. Actually, that is just some stakeholders. Other stakeholders may just want to know how many open Bugs currently exist with the severity of one. The Scrum Master can develop dynamic reports and dashboards for whoever wants a peek into the product/project health in Azure DevOps and other tools.
Charts help communicate a message and help shape our point of view. Different project stakeholders have different needs of perspectives. Both Agile principles and Waterfall methodologies inspired visual mediums that reflect the Key Performance Indicators (KPIs) of a project or product evolution.
Agile, what have you done for me lately?
At the end of each sprint, during the Scrum, Sprint Close ceremony, the implementation team members demonstrate/discuss each of their completed user stories. The Product Owner (PO) accepts or reopens the user story based upon the Acceptance Criteria being met. Each user story that is accepted by the Product Owner has Story Points associated with it. All the accepted user stories “earn” story points for the team, and the points are accumulated for each sprint which is the velocity of the team for each sprint.
There are lots of ways the Sprint Close can go “Pear Shaped”.
“Acceptance Criteria” was not as detailed as required; the user story results were not entirely what was as expected by the Product Owner.
The implementation team took on too many stories and were not able to start/complete the projected stories for the sprint.
By failing to deliver on the Sprint “Open/Planning” committed Story Points, the average velocity of the team’s sprint may likely go down.
As a team, make sure you are prepared for the Sprint Close by performing Product Backlog Refinement days before to confirm things like “Acceptance Criteria” verbiage with the implementation team and the Product Owner. Work in Progress or WIP limits could help the team focus on their bandwidth and apply constraints to how many user stories the team can work on at one time, thus minimizing over-promising the Product Owner.
Waterfall Gates Persist
User Acceptance Testing – The business team(s) insisted they validate anything before it goes into the production environment.
Approvals from Internal Teams – conformity to organization architecture standards, for example, must be approved when changes in target state architecture changes are proposed.
Questions and Comments Appreciated
Please let me know if I missed any other Agile, Scrum, and Waterfall areas that can cohabitate/coalesce into cohesive SDLC.
As I was looking through Microsoft’s catalog of applications, it occurred to me just how many of their platforms are information-centric and seemed to overlap in functionality. Where should I go when I want to get stuff done, find information or produce it? Since the early days of AOL and AltaVista, we’ve seen the awesome power of a “Jump Page” as the starting point for our information journey.
Microsoft, which one do I choose?
From one software vendor’s perspective, we’ve got many options. What’s the best option for me? Seems like there should be opportunities to gain synergies between available Microsoft platforms.
Searching for information on the internet? News, images, encyclopedias, Wikipedia, whatever you need, and more is on the web. Microsoft Bing helps you find what you need regardless if you’re using text or an image to search for like for like information. It also serves up “relevant” information on the jump page, news mixed with advertisements. There is also a feature enabling you to add carousel “boxes”. for example, containing latest MS Word files used, synergy from Office.com
Word, PowerPoint, Excel, Visio, Power BI… If you’ve created content or want to create content using Microsoft applications, Office.com is the one-stop-shop for all your Office apps and the content created using these applications.
Another portal to a universe of information around a centric theme, such as collaboration/interaction with product/project team members, an Intranet, SharePoint site with one or multiple teams. At the most fundamental level is the capability to collaborate/interact with teams, potentially leveraging Microsoft collaboration tools. Just one of many of its capabilities “out of the box” is a document management solution and the use of version control.
SharePoint can also be used for any type of Internet/web platform, i.e., a public-facing portal platform. However, SharePoint, in fact, is a sharing tool in which the authors of the website can share video presentations, shared calendars of public events, and a plethora of customized lists.
Engaging your people is more critical than ever. Yammer connects leaders, communicators, and employees to build communities, share knowledge, and engage everyone. I’m thinking synonymous with a bulletin board. The implementation of Yammer looks like Facebook for the Enterprise.
Use the Home feed to stay on top of what matters, tap into the knowledge of others, and build on existing work.
Search for experts, conversations, and files.
Join communities to stay informed, connect with your coworkers, and gather ideas.
Join in the conversation, react, reply to, and share posts.
@ mention someone to loop them in.
Attach a file, gif, photo, or video to enhance your post.
Praise someone in your network to celebrate a success, or just to say thanks.
Create a virtual event that your community can ask a question and participate live or watch the recording afterwards.
Use polls to crowd source feedback and get answers fast.
Stay connected outside the office with the Yammer mobile app.
Use Yammer in Microsoft Teams, SharePoint, or Outlook.
“Yammer helps you connect and engage across your organization so that you can discuss ideas, share updates, and network with others.”
For any team, there is a wealth of information varying from the group or single Chats, Teams, Calls, Files, and practically integration for almost all Microsoft applications and beyond. The extensibility of MS Teams seems relatively boundless, such as integrations with Wikis, SharePoint document folders, etc. From what I can tell, many organizations just use Teams for the group, or individual Chat channels are barely grazing the surface of MS Teams’ capabilities.
Setup of MS Teams, Teams “landing” page is a great place to start constructing your “living space” within MS Teams. From there, you can carve out space for all things related to the team. For example, in the “Team ABC” Team channel, you can add N number of “tabs” relating to everything from an embedded Wiki to specific SharePoint folders for the team’s product specifications. A team could even create an embedded Azure DevOps [Kanban] Board to show progress and essentially “live in” your MS Team, team channel.
Another porta;l overlap, Microsoft Teams Communities, seems to equate to Yammer.
Use Delve to manage your Microsoft 365 profile and to discover and organize the information that’s likely to be most interesting to you right now – across Microsoft 365.
Delve never changes any permissions, so you’ll only see documents that you already have access to. Other people will not see your private documents. Learn more about privacy.
Delve is a content curation platform for the person it’s most relevant to…you. It gives the appearance of a user experience similar to carousels of video streaming apps. There are “Popular Documents” carousels and other carousels that are based on the most recent access. Based on how files are saved based on who can access content is how the platform gives you a treasure trove of documents you never knew you had access to or existed. It actually paints a potential compliance nightmare if people select the default document access as “…anyone within my organization…”.
Outlook.com / Best of MSN
Another portal of information focused around you: your email, your calendar, your To-Dos, and your contacts/people. It’s not just your communication with anyone, e.g., your project team members; it’s organizing your life on a smaller scale, e.g., To-Dos. You can also access other shared calendars, such as a team release schedule or a PTO schedule.
The Best of MSN is information, i.e., news around your interests, a digest of information relevant to you, delivered in an email format. Other digests of information from other sources may be curated and sent if subscribed.
Mediums to Traverse Information: AR, VR…
The visual paradigms used to query and access information may drastically influence the user’s capacity to digest the relevant information. For example, in an Augmented Reality (AR) experience, querying, identifying information, and then applying it, serving up the content in a way most conducive to a user’s experience is vital.
Users can’t just “Google It” and serve up the results like magic. The next evolution of querying information and serving up content in a medium to maximize its usability is key and is most evident when using Augmented Reality (AR). If you’re building something, instructions may be overlayed by the physical elements/parts in front of the user. Even the context of the step number would allow the virtual images to overlay the parts.
Automated and Manual Content Curation is a MUST for all Portals
Categories, Tags, Images, and all other associations from object A to everything else, the Meta of Existence, are essential for proper information dissemination and digestion. If you can tag any object with metadata, you can teach an AI/search engine to identify it in a relevant query. Implementing an Induction Engine, a type of Artificial Intelligence that proposes rules based on historic patterns is a must to improve query accuracy over time.
Next level, “Information applications” – Improved Living with Alzheimer’s
For my birthday, I took a look at the movies that have influenced my business decisions over the years. Here are my top entrepreneurial films for all the underdogs who could use a good, helping push up the mountain.
Classic David and Goliath story told by phenomenal actors such as Brad Pitt and Jonah Hill. How can a small-budget baseball team compete with the large pockets of other behemoths? Reinvent the way teams are formulated, i.e., reinvent the game… to some extent. It’s amazing to watch the actors/people react to a new process, a major disruptive process after doing things they’ve always done. These characters realize the upheaval of a new process changes the way they do business they react in somewhat surprising ways. “Adapt or Die” as the character played by Brad Pitt says.
“You know, for kids. ” Brilliant performances by several well-known actors such as Paul Newman pull off a great script/story into a memorable production. Tim Robbins’s character, an “off the boat”, or shall I say bus, a recent college graduate, has a grand design and is happy to work his way up. So gullible, Norville Barnes (Tim Robbins) is caught up in a scheme to have the company’s stock tank, so the board could snatch the company’s stock up for profit. To the board’s dismay, Norville does have a grandiose idea that takes the company in a profitable direction. Great to see the rise and fall of this once optimistic “new kid on the block”.
An amazing cast, including the talented Danny Devito, with the help of a fantastic script, developed a phenomenal production. There are many lessons to be learned from this film, but I don’t want to give you any spoilers. When all hope seems lost, there is a plot twist that can only be categorized with the classic quote by Winston Churchill, “The definition of Success is moving from Failure to Failure without Loss of Enthusiasm.”
A woman driven by survival, a single mother, just trying to get by, manages to cling to happenstance, and ride that potential opportunity for all its worth. The system bucking Erin like a wild bull, which she manages, through the pursuit of a passion for people even more dire than her own situation, fights for her “extended family”, and one would argue, fighting for justice for those who could not.
Jerry transcends from Sell, Sell, Sell backed by a recognizable, affinity brand to a budding entrepreneur trying to build a relationship with his client and “keep the lights on”. Anyone think Tom Cruise got this gig because of his work on Rain Man selling Ferrari?
A single mom within a challenging environment steps up the ladder and claws her way into a successful entrepreneur. One can only marvel at her success and note each step; each challenge was met by bold, creative solutions.
Azure DevOps (ADO) reporting “out of the box” or leveraging extensions lacks robust project delivery timeline reporting many are reliant upon for conveying project timelines. Integrations by Microsoft DevLabs such as “Delivery Plans”, “Feature Timelines,” and “Epic Roadmap” all fall short of making the mark. Why? The ADO product targets Sprint delivery and primarily focuses on reporting with the most common graphical paradigms for measuring Project / Sprint progress, such as the Sprint Burndown rather than a Gantt chart.
Still Can’t Print
Sounds like a small ask, but it’s not. None of the aforementioned Azure DevOps Extensions gives the user the ability to print out timelines. I don’t think anyone said, “let’s not let users do that”. Printing out “Gantt-like” charts is not easy with special formatting constraints. If you’ve ever tried to print out an MS Project Gantt chart, you would know the pain of adjusting print parameters to get it just right, e.g., fit to NN page(s)
Still Can’t Share Outside Azure DevOps
This kind of relates to the “Still Can’t Print” issue. In the best-case scenario, users should be able to print their “Gantt like” charts to a PDF, and then the PDF can be used to externalize and vocalize the timelines, for example, with the “Feature TImelines” extension. Yes, you can send a link to these timelines visualizations; however, the user who will try and click the link will need to have some license setup in ADO to see the page.
Reporting Across Projects and Teams within an Org
The Azure DevOps “Delivery Plans” extension has finally empowered users to report across any and all projects across your ADO organization. In addition, filtering by a Team is also available if you have multiple teams working within a project. A portfolio manager could look across their portfolio of projects and only see what is relevant to them.
The Azure DevOps “Delivery Plans” extension allows the user to add markers/milestones to a project timeline. Product “release indicators” could be added to the timeline.
Delivery Plans Extension
Delivery Plans seem to be the most promising visualization tool, with additional capabilities noted:
Styling Rules (Colors, Bold, Italic, Underline)
Fields Displayed on Cards (up to 17)
Drawbacks to Implementation
Field Criteria doesn’t include AND | OR Logic
“Feature Timelines” does a vertical “Group By” Epic, which seems to be a better “delivery focused” view showing which features will be delivered within a specific Epic instead of delivery grouped by Team. At least we should have the option to do either.
Power BI with Gantt Chart Reporting Against ADO
The closest you will come to Azure DevOps Project Plan reporting will be to utilize the Azure DevOps data source from within Power BI and install the Gantt Chart Visualization designed to report on ADO.
With one Power BI report, users have the ability to report against ALL of their Azure DevOps servers and ADO Projects within a single report, and data would be up to date.
Out of the Box Capabilities
For those who need to pull data out of Microsoft Azure DevOps for reporting purposes, there are challenges when attempting to provide that information outside of Azure DevOps.
Typically, if I want to share project reports with my stakeholders, I would provide them a link to share these dynamic dashboards which focus on what they want to see. Project stakeholders may want to see an upcoming production release “bill of health” view, e.g. Burndown chart, Average Velocity, open critical bugs, etc.
However, what if some of your stakeholders don’t have or want access to Azure DevOps? Well, you could take a screen capture of a dashboard, and email your stakeholders that information or…
Power BI to the Rescue
Using both Power BI Desktop, a free license, and cloud Power BI Pro within the Office 365 suite of products, you can create a suite of reports against the Azure DevOps data, and share those reports on a schedule of your choosing. There are also several Analytics / Views that come with Azure DevOps to get you started.
Step 1: Select the Data Source:
Launch Power BI Desktop application found in the Microsoft Marketplace. Select “Get Data” after launching the application. Then a list of data sources is displayed to the user. Select “Online Services” data source group, “Azure DevOps (Beta), then “Connect”.
The user should then be presented with an Azure DevOps login.
Enter your Azure DevOps instance details for connecting to your site. If you are already logged into Azure DevOps in another browser tab, no additional authentication is required. You should now be presented with a list of Analytics / Views that come with ADO “out of the box”.
Just for demonstration purposes, please select the first item on the list, “Bugs – All History by Month”. A preview of the data should be shown on the right side of the panel. Select the “Load” button, which should be enabled if you’ve followed the steps thus far.
On the right side of the screen, there should be a panel called “Fields”. You can select all or some of the columns/fields within the View that was pulled from ADO. As you select the fields, they should populate on the left side of the screen, “Page 1” of the Power BI report. At this point, you may leverage your Power BI prowess to build graphical visualizations of the data you’ve imported.
Save your Power BI report, and then “Publish to Power BI”. The default destination is “My Workspace”, which should be defined with the use of the Power BI Pro, Office 365 app. Save the report and close the Power BI Desktop app. Open the Power BI cloud app from Office 365.
Open the “My Workspace” folder, and look for the “Dataset” and accompanying Power BI “Report” you just created. Click on the “Dataset” with the same name as your report to open it. Select the “Refresh” menu, and the “Schedule Refresh” menu item. Define your schedule to run BEFORE you will push the report via email to your stakeholders.
Go back to your home screen, select “My workspace”, then select the report you’ve created. Once the report appears, select the “Subscribe” menu. select the menu item “+ Add new Subscription”. Populate the who, what, and when, then select the “Save and Close” button.
That’s it. You could then start to create your own Analytics Views from within Azure DevOps, and then create Power BI reports.
“Analytics views are data sets that are exposed to Power BI. You can use views to create reports based on your Azure DevOps data. This feature is in preview. How do I use analytics views?“
Several digital asset marketplaces are using the NFT model without the “risk” of using volatile cryptocurrency. Major League Baseball (MLB) just spun up their own NFT Marketplace leveraging the Candy NFT platform with a high degree of success so far. Sports memorabilia collectors of traditional, physical assets are looking for a relatively safe investment especially when it comes to selling their investments. There is no need to complicate the transaction with timing the sale with cryptocurrency fluctuations. This post dives into NFT Marketplaces that target particular [digital] asset classes. The more aligned to a singluar asset type, the more personalized the buying and selling experience can be. Buyers and sellers on a “generic” NFT marketplace will have a muted experience.