With AI technologies taking the digital revolution to the next level so quickly, it can be easy to bypass common sense best practices regarding sensitive data. Agile companies are in a race to take advantage of the AI part of the digital movement, which is why core principles such as data governance and data management might take a back seat. There’s nothing sexy about:
1. putting together a data governance framework
2. hosting a few sessions to hammer out a set of data management practices and operations based on that strategic framework, then
3. socializing it to the various IT cloud teams that handle data
Even though data governance and management may not seem exciting, it’s crucial to have policies and agreed-upon practices in place to handle complicated situations involving data integrity. One such scenario arises when there are conflicting versions of entity data after recovering it from a damaged backup database. When data is considered the master, it is assigned a special identifier called a gold ID. If this master record is replicated to other databases, it’s imperative to ensure that all copies remain consistent, even in backup databases. In the event that one of these replicated databases becomes corrupted, it becomes necessary to have a defined process for accurately and safely restoring that database.
So what does data governance look like? There are some templates online to get started. I put together this governance guiding document based on previous consulting work I did as part of a strike force of architects with financial and healthcare corporate clients. I also found an outline on the AHIMA website a good point of reference for structuring a governance document, which I used as an outline below. In subsequent articles, I’ll dive into more details and provide the basics for cloud data management principles and operations, especially when it comes to data I/O ingestion in a multitenant architecture.
Here’s a healthcare industry example of a core data governance document to lay the foundation for a framework in any industry:
The characteristics of data quality can be summarized as follows:
· Accuracy: Data should be error-free and correct.
· Accessibility: Measures should be in place to ensure data availability when needed.
· Comprehensiveness: Data should contain all the necessary elements.
· Consistency: Data should be reliable and consistent throughout the entire patient encounter.
· Currency: Data should be up to date and current.
· Definition: All data elements should have clear definitions.
· Granularity: Data should be at an appropriate level of detail.
· Precision: Data should be collected in its exact form with precision.
· Relevancy: Data should be relevant to its intended purpose of collection.
· Timeliness: Documentation should be entered promptly, updated regularly, and available within specified time frames.
Many healthcare organizations understand the need for data governance, but may not understand where to begin or how to establish a robust data governance program. One potential obstacle to implementing healthcare data governance at an organizational level is a lack of understanding among key stakeholders regarding data as an asset. This can lead to data silos and delays in developing a comprehensive program.
Healthcare data governance should encompass the entire organization, involving interdisciplinary teams comprising subject matter experts. The primary aim of healthcare data governance is to foster an organizational culture that prioritizes data security, reliability, and accessibility for authorized individuals. When the entire organization is engaged, a data governance culture is established, resulting in a strong program. To cultivate a healthcare data governance culture, it’s good to start with baby steps that demonstrate the value and benefits of data governance.
In order to implement a healthcare data governance plan or program, the first step is to define the concept of data governance and determining its scope. This entails establishing a foundational framework for collecting, retaining, utilizing, accessing, and sharing healthcare data. This framework encompasses various aspects such as policies, procedures, standards, ownership, decision rights, roles and responsibilities, and accountability associated with the data.
To effectively establish healthcare data governance plans or programs, organizations should form a dedicated team called the Data Governance Management Team (or a similar name). This team should include key individuals such as the Chief Data Officer (or an equivalent position) working in collaboration with the Chief Medical Information Officer. Together, they will spearhead the efforts to develop and implement robust healthcare data governance initiatives.
If interested in more healthcare data governance, check out the PDF file on the AHIMA website here.
DATA RETENTION POLICY
A compliant data retention policy defines the duration for which data must be retained to meet regulatory and/or organizational requirements. On top of that, it specifies the actions to be taken once the retention period has expired. Organizations may choose to delete (or destroy) or archive data based on their retention guidelines.
These policies and procedures, or standard operating procedures (SOPs), provide a structured framework for efficient Data Governance, guaranteeing data integrity, appropriate access, privacy compliance, secure data sharing, and quality data retention.
Conclusion
To restate, in the fast-paced digital landscape IT finds itself today, driven by AI technologies like ChatGPT, it is crucial for technical organizations to not overlook fundamental best practices concerning sensitive data. While agile companies strive to harness the power of AI within the digital revolution, core principles such as data governance and data management can sometimes be neglected. Establishing a robust data governance framework and defining data management practices and operations based on a strategic framework may not seem glamorous. However, it is a necessary step for organizations to take. This involves conducting sessions to develop a comprehensive data governance framework and subsequently sharing and integrating it with the various IT cloud teams responsible for data handling.
Coming up with a healthy, balanced ratio of the number of team members to number of clients is still a relatively subjective exercise. Not quite scientific yet. There are rules of thumb out there to start with, but it ultimately comes down to your requirements and the size of your B2B clients and B2C customer base. Also, the amount of request for new features or bug fixes spawns customer telemetry data that will factor into the ratio.
The following provides a rule of thumb starting point for your fine tuning needs based on personal observation in a consulting professional capacity over many years:
· Solution Architects: 1 for every set of 4 or 5 typical quarterly release projects or B2C clients
· Database Team: 1 to 5
· Networking Team: 1 to 5
· OS Sys Admin Team: 1 to 7
· Monitoring Team: 1 to 3
· Security: 1 to 5
· R&D: 1 to 10
Continuously capturing and tracking team role and skill inventory will help in determining these ratios, calibrating them over time.
Example Cloud Team Structure: Monitoring and Alerting
How many cloud monitoring team members do you need to support B2B corporate clients?
The number of cloud monitoring team members required to support B2B corporate clients can vary widely depending on the size and complexity of the clients, the scope of the services being offered, and the level of support required by the clients. However, some factors that can help determine the appropriate staffing levels for a cloud monitoring team might include:
1. Number and size of clients: The more clients you have and the larger their businesses are, the more team members you will likely need to support them effectively.
2. Service scope: The more services you offer and the more complex they are, the more team members you may need to monitor and maintain them.
3. Client service level agreements (SLAs): If your clients have SLAs that require a high level of service availability and response times, you may need more team members to meet these requirements.
4. Automated vs. manual monitoring: The more automated your monitoring is, the fewer team members you may need to support your clients.
With these factors in mind, a typical cloud monitoring team for a B2B corporate client might include anywhere from 5 to 15 team members, depending on the size and complexity of the clients being served. This team might include roles such as:
1. Cloud monitoring manager or team lead
2. Cloud monitoring engineers or technicians
3. Customer support specialists
4. Product Managers/Owners, Project managers or coordinators
Hope this helps give your sprint planning a starting point. Determining the optimal staffing levels for a cloud monitoring team relies on various factors that are unique to your organization and clients. I recommend you thoroughly evaluate your clients’ needs, including number of users and groups, and the level of assistance necessary to guarantee that you have the right staffing levels to deliver dependable and excellent services.
Since 2020, many organizations launched digital transformation initiatives to automate their processes and adopt or migrate their technology operations to the cloud. Surveys by large analytics organizations such as McKinsey and Gartner have suggested that most have failed for a variety of reasons.
It is difficult to provide a precise number of failed initiatives as there are no publicly available statistics on the number of digital transformations that have fallen short in corporations since 2020. However, it is generally accepted that the success rate of digital transformation initiatives is not particularly high, with various surveys and reports suggesting failure rates ranging from 60% to 84%.
There are several reasons why digital transformation initiatives can fail, including a lack of clear executive strategy and leadership, inadequate investment in technology and talent (including cloud team structures and staffing mix), resistance to change from employees and customers, and a failure to align digital transformation efforts with business goals and complex customer needs.
It is worth noting that the COVID-19 pandemic has both accelerated the need for digital transformation in many organizations and created new challenges for digital transformation initiatives. Many organizations have had to adapt quickly to new ways of working and engaging with customers, which has put additional pressure on digital transformation initiatives. This has led to an underestimating of complexity of cloud team structures which are needed for a continuous product improvement process that leads to high Quality of Service (QoS) for customers.
In any case, it is clear that digital transformation is a complex and challenging process that requires careful planning, execution, and ongoing adaptation to changing circumstances. While some digital transformation initiatives may fail, it is important for organizations to learn from these experiences and continue to pursue digital transformation in order to remain competitive in today’s fast-paced, digital-first business environment.
The implication is that optimizing the structure and staffing of an IT cloud team can be a challenging, often complex process. There are a few key considerations that executive leadership and upper management can take into account to make the most of their staffing resources:
· Define clear cloud teams, roles and responsibilities
· Determine the necessary skill sets
· Consider the size and complexity of the cloud environment
· Balance in-house and outsourced resources
· Foster a culture of continuous learning, research and development
Define clear cloud teams, roles and responsibilities
The establishment of precise roles and responsibilities within a cloud team is an integral component of accomplishing organizational objectives. This facilitates the comprehension of individual responsibilities, enabling team members to better grasp the impact of their contributions towards the overarching organizational vision. In other words, they see the direct value of their sprint team contributions to solving customer problems. This methodology also serves to remove redundancies and channel the team’s efforts towards areas of high importance. Further, it is imperative to ensure sufficient staffing levels in each role to guarantee optimal customer service delivery.
The monitoring team, for instance, can be staffed adequately to proactively identify and troubleshoot customer problems before the customer discovers them. In the case of large organizations, the establishment of a personnel-to-client, product, or project ratio is a judicious decision to ensure the effective allocation of resources. Aligning team member counts to project ratios helps to provide good coverage to the number of clients and customers your organization has. This is especially important for B2B client scenarios, where having one or two developers may not be enough for 20 large B2B clients, each with millions of users.
Determine the necessary skill sets
For any given cloud or digital transformation project, there are certain skills need that must align with user requirements with emphasis on scaling the number of skilled workers with the size of the customer (B2B) or customer base (B2C). It is essential to identify the highly specialized skill sets required to support cloud infrastructure, including proficiencies in:
· distinct cloud platforms (SaaS, PaaS, IaaS)
· programming languages, and
· security protocols
This strategy aids in directing recruitment and training endeavors and guarantees that the team possesses the appropriate blend of expertise.
Consider the size and complexity of the cloud environment
The magnitude and intricacy of the cloud environment can significantly affect the personnel requirements of the team. A diminutive and less intricate environment may demand a modest team, while a vast and multifaceted environment may necessitate multiple and more specialized teams.
Let’s unpack this a bit. Assume that a company is using a public cloud service provider (CSP) for their operations. They have established a dedicated cloud monitoring team to oversee and manage their cloud infrastructure. In this scenario, the size and complexity of the company’s cloud environment would be the primary determinants of the necessary staffing levels for the monitoring team. Some organizations ignore this critical factor to their detriment, which is often where cloud migrations and digital transformations fail.
For a smaller cloud environment with limited cloud resources and services, the monitoring team may comprise a few personnel with a general understanding of cloud infrastructure and basic monitoring tools. The small mom and pop IT shops won’t be dealing with several major B2B clients or millions of users in their customer base. On the other hand, a larger and more complex cloud environment, with multiple cloud services and resources, may require a more extensive monitoring team with highly specialized roles, such as cloud security specialists, network monitoring experts, cloud architecture professionals, and data analysts.
In this way, the staffing requirements of the cloud monitoring team would depend on the size and complexity of the cloud environment, and the necessary skill sets for the team members would be based on the specific cloud services and resources being utilized.
Balance in-house and outsourced resources
It is crucial to identify the most advantageous equilibrium between in-house/onshore and outsourced/offshore resources. This could involve utilizing third-party vendors for particular functions, such as cloud security, while maintaining essential development and maintenance tasks in-house. For instance, cloud monitoring and alerting might require 24/7 operation with coverage in various regional time zones, necessitating multiregional team coverage.
Determining the optimal balance between in-house/onshore and outsourced/offshore resources can have several cost advantages and disadvantages for an organization. One of the primary cost advantages of outsourcing is the potential for reduced labor costs. Outsourcing to offshore locations may allow companies to benefit from lower labor costs in countries with lower wage rates, thus reducing overall operational expenses. Additionally, outsourcing specific functions, such as cloud security or data entry, may be more cost-effective than hiring in-house staff with the same expertise.
On the other hand, outsourcing may have a few drawbacks. For instance, communication issues may arise due to language/cultural barriers or time zone differences, which may impact project timelines and increase costs. Time zone difference can be a big factor in managing quality of service (QoS) for customer service level agreements. Monitoring and alerting, for instance, can be rendered useless if a major B2B client in the Central Time zone has to wait for Level 1 or Level 2 support in an Asian time zone. There may also be additional costs associated with managing the outsourced team, such as oversight and coordination expenses. Additionally, outsourcing may reduce the level of control and oversight that an organization has over its operations and data, potentially leading to security risks.
Maintaining in-house staff can be advantageous in terms of control and flexibility. An in-house team is typically easier to manage and can respond more quickly to changing business needs. Additionally, it can be easier to ensure the quality of work when it is done in-house. However, in-house staffing may also be more expensive than outsourcing, as it requires investing in hiring, training, and retaining staff with specialized skills and knowledge.
Ultimately, the most cost-effective approach will depend on various factors, including the size and complexity of the organization’s operations, the expertise required for specific functions, and the cost of labor in different regions. Therefore, it is essential to carefully weigh the advantages and disadvantages of each approach and determine the most effective strategy for the organization.
Foster a culture of continuous learning, research and development
Cloud technology is constantly evolving, so it’s important for the team to stay up-to-date with the latest developments and trends. Management can foster a culture of continuous learning by providing access to training and development opportunities and encouraging team members to stay current with industry developments. Having an R&D team, in association with a corporate training team, can ensure that the organization is discovering new technologies that can improve team productivity. The training team can continuously plan and coordinate training for new technologies.
Conclusion
In conclusion, there are certain strategies management can plan and implement to optimize the structure and staffing of their IT cloud team, ensuring that it is well-positioned to support the organization’s strategic objectives. The process of digital transformation is a challenging and intricate journey that necessitates meticulous planning, implementation, and continuous adaptation to dynamic conditions.
While a number of organizations may experience setbacks during their digital transformation (DT) initiatives, it is crucial to derive lessons from these experiences and pursue DT to remain competitive in the rapidly evolving, digital first business world. Industrial era management strategies are obsolete. Optimizing the structure and staffing of an IT cloud team while transitioning from the industrial mindset can also be a complex process.
As such, there are key considerations that executive leadership and upper management can take into account to maximize their technical staffing resources. By adopting a strategic and comprehensive approach to staffing, organizations can leverage the benefits of cloud technologies and improve their business outcomes.
The agile revolution in IT, and beyond, has been transforming organizations of all sizes since 2001, when the Agile Manifesto first got unleashed on the public. Even before then, I was actively involved in the Rational Unified Process community where some of the minds behind the manifesto were also active. Back then (circa late 1990s), IT was going through the distributed client-server revolution as IT started to move beyond mainframes (which are still active in older organizations, mind you). Executives and upper management in those days demanded lots of technical documentation that would usually not be useful to the technical SMEs, but sat as trophies in the offices of corporate leaders.
But agile thinking came along to shatter the notion of “too much documentation.” Not that it was not important, but that teams should only produce just enough to satisfy leaders while being practical enough for sprint teams to find useful. In my opinion, this silent disconnect between the technical sprint teams and leadership was, and is, a symptom of a deeper rift in organizational transformation strategies vs tactics. Cloud computing, especially after the pandemic years of 2020-2022 with an accelerated digital transformation push, exposed even deeper rifts, resulting in most digital transformation initiatives failing. I’m relying on reports by McKinsey and Gartner on the stats for such failures.
This divergence between self-organizing sprint teams and executive leadership got me to thinking of my own observation as a consultant and executive level cloud solution architect over the years. I have seen companies that adopted and pivoted their strategies around agile management thrive very well, while others that resisted it or did not fully embrace it struggled. How can we turn this around for the latter? I my experience, enabling self-organizing teams and getting better acquainted with product and sprint backlogs should be one of the top work items for executives and even hands on investors who sometimes distrust their board’s pick of said executives.
Recently, I decided to do a little AI prompt engineering with ChatGPT to have a “discussion” on how large hands on investors, executives and upper management of larger corporations miss out on the hidden added value of agile management principles. I’ll simplify my AI prompts so that they seem more like casual questions rather than geek speak.
Me: How can c-level executives and hands on investors improve their leadership approach using reports and metrics from Agile portfolio management
C-level executives and investors can improve their leadership using reports and metrics from Agile portfolio management by gaining visibility into how the organization’s portfolio is performing and using that information to make data-driven decisions.
Here are some ways that reports and metrics from Agile portfolio management can help C-level executives and investors improve their leadership:
Strategic alignment: Agile portfolio management provides a framework for aligning the portfolio with the organization’s strategic objectives. Reports and metrics can help C-level executives and investors understand how the portfolio is contributing to those objectives, and identify areas where adjustments may be needed.
Resource optimization: Agile portfolio management can help optimize the use of resources across the organization. Reports and metrics can provide insights into resource utilization and identify areas where resources may be underutilized or overutilized.
Risk management: Agile portfolio management can help manage risk by providing visibility into potential risks across the portfolio. Reports and metrics can help identify areas of the portfolio that may be at risk, and help the organization take proactive measures to mitigate those risks.
Performance measurement: Agile portfolio management provides a framework for measuring the performance of the portfolio. Reports and metrics can help C-level executives and investors understand how the portfolio is performing against key performance indicators, and identify areas for improvement.
Transparency: Agile portfolio management provides transparency into the organization’s portfolio and how it is being managed. Reports and metrics can help C-level executives and investors understand how the portfolio is being managed, and provide insights into the decision-making process.
By using reports and metrics from Agile portfolio management, C-level executives and investors can gain a deeper understanding of the organization’s portfolio and make data-driven decisions to improve its performance. This can help the organization achieve its strategic objectives, optimize its resources, manage risk, measure performance, and increase transparency.
Cloud computing devices
Me: How does agile portfolio management align with product management?
Agile portfolio management and product management are closely related and have many overlapping elements. Both focus on delivering value to customers by developing and managing a portfolio of products or initiatives. However, there are some key differences in the focus and scope of each discipline.
Agile portfolio management focuses on managing a portfolio of initiatives or products across an organization, with the goal of maximizing value delivery and achieving strategic objectives. It involves managing resources, prioritizing initiatives, and measuring performance to ensure that the portfolio is delivering the desired outcomes.
Product management, on the other hand, focuses on developing and managing individual products or services within the portfolio. It involves understanding customer needs, defining product requirements, and overseeing the development and launch of the product.
Despite these differences, agile portfolio management and product management are closely aligned and can work together to achieve common goals. Agile portfolio management provides a framework for managing the overall portfolio, while product management provides a framework for developing and managing individual products within the portfolio.
For example, agile portfolio management can help product managers prioritize their product roadmap by identifying the initiatives or products that will deliver the greatest value to the organization. At the same time, product management can provide feedback to the portfolio management team on the success of individual products and initiatives, which can inform future portfolio management decisions.
Overall, agile portfolio management and product management are complementary disciplines that work together to deliver value to customers and achieve strategic objectives. By aligning these two disciplines, organizations can ensure that they are delivering the right products and initiatives to meet the needs of their customers and stakeholders.
Me: For those corporate leaders who may still be adopting agile principles, explain agile portfolio management?
Agile portfolio management is an approach to managing an organization’s portfolio of projects and programs in an agile manner. It involves applying agile principles and practices to the management of the portfolio to improve the organization’s ability to deliver value to its customers and stakeholders.
In traditional portfolio management, projects are selected based on a thorough analysis of their potential returns, risks, and costs. The portfolio is managed through a series of gates, with projects advancing to the next gate only if they meet certain criteria. However, this approach can be slow and inflexible, and may not adapt well to changing business needs.
Agile portfolio management, on the other hand, focuses on creating a flexible and adaptive portfolio that can respond quickly to changes in the business environment. It involves continuous evaluation and prioritization of projects based on their potential value, alignment with the organization’s goals, and ability to deliver results quickly.
The following are some key principles of agile portfolio management:
Prioritization based on value: Projects are prioritized based on their potential value to the organization, with a focus on delivering value quickly and iteratively.
Continuous planning and evaluation: The portfolio is regularly reviewed and updated to ensure that it remains aligned with the organization’s goals and can respond quickly to changing business needs.
Flexible funding and resource allocation: Funding and resources are allocated based on the current priorities and needs of the portfolio, with the ability to adjust as needed.
Collaboration and transparency: Stakeholders are involved in the portfolio management process and are provided with regular updates on progress and results.
Continuous improvement: The portfolio management process is continually evaluated and improved based on feedback and results.
Overall, agile portfolio management enables organizations to manage their portfolio of projects and programs in a more flexible, adaptive, and value-driven manner. It allows them to respond quickly to changes in the business environment and deliver value to their customers and stakeholders more efficiently.
Me: You said a mouthful there lol. What steps are needed to setup agile portfolio management for organizations that have little or no experience?
Setting up an agile portfolio management process can be a complex task, but the following steps can provide a general framework to guide the process:
Define the portfolio vision and goals: The first step is to clearly define the portfolio vision and goals. This involves understanding the organization’s mission, strategic objectives, and business goals, and identifying the portfolio’s role in achieving them.
Establish governance and decision-making processes: Agile portfolio management requires a different governance structure and decision-making process than traditional portfolio management. The governance structure should include roles and responsibilities, decision-making processes, and guidelines for prioritizing and selecting projects.
Define the portfolio backlog: The portfolio backlog is a prioritized list of all the projects and initiatives in the portfolio. It should be based on the organization’s strategic goals and objectives, and should be regularly reviewed and updated based on changes in the business environment.
Identify the agile portfolio management team: The agile portfolio management team is responsible for overseeing the portfolio and ensuring that it is aligned with the organization’s strategic goals. The team should include representatives from different areas of the organization, including business, IT, and finance.
Establish metrics and KPIs: Metrics and KPIs are essential for measuring the success of the portfolio and identifying areas for improvement. The metrics should be aligned with the organization’s strategic goals and should be regularly reviewed and updated.
Implement agile portfolio management tools: Agile portfolio management tools can help automate and streamline the portfolio management process. These tools can include agile project management software, portfolio management dashboards, and collaboration tools.
Conduct regular portfolio reviews: Regular portfolio reviews are essential for ensuring that the portfolio remains aligned with the organization’s strategic goals and is delivering value to its customers and stakeholders. The reviews should be conducted on a regular basis, and should include feedback from stakeholders and updates to the portfolio backlog.
By following these steps, organizations can establish an agile portfolio management process that is aligned with their strategic goals and enables them to respond quickly to changes in the business environment. It is important to note that the process should be continually evaluated and improved based on feedback and results.
Me: Great, thanks. Lets unpack metrics for a bit, what are the most common metrics and KPIs for agile portfolio management?
There are several metrics and key performance indicators (KPIs) that can be used to measure the success of an agile portfolio management process. The following are some of the most common metrics and KPIs used in agile portfolio management:
Value delivered: This measures the value that the portfolio delivers to the organization and its stakeholders. This metric can be measured by looking at the return on investment (ROI) or other financial metrics.
Time-to-market: This measures the time it takes to deliver a project or product to the market. This can be a critical metric in industries where speed-to-market is a key competitive advantage.
Customer satisfaction: This measures how satisfied customers are with the products or services delivered by the portfolio. This can be measured through surveys, feedback forms, or other methods.
Portfolio throughput: This measures the rate at which projects are completed and delivered by the portfolio. This metric can be used to identify bottlenecks and areas for improvement in the portfolio management process.
Team productivity: This measures the productivity of the teams working on the projects in the portfolio. This can be measured by looking at metrics such as cycle time, velocity, and capacity utilization.
Agile maturity: This measures the organization’s level of maturity in adopting agile practices and processes. This can be measured by conducting regular assessments or surveys.
Portfolio predictability: This measures the portfolio’s ability to deliver projects on time and within budget. This can be measured by looking at metrics such as schedule variance and cost variance.
Overall, the metrics and KPIs used in agile portfolio management should be aligned with the organization’s strategic goals and should be regularly reviewed and updated based on feedback and results. It is important to focus on a few key metrics that provide meaningful insights into the portfolio’s performance, rather than trying to measure everything.
Me: Along those lines, what are the best tools that measure metrics and KPIs for the agile portfolio management process?
There are many tools available that can help measure metrics and key performance indicators (KPIs) for the agile portfolio management process. The following are some of the most commonly used tools:
Agile project management software: Agile project management software such as Jira, Trello, or Asana can help track progress, measure team productivity, and manage the portfolio backlog.
Portfolio management dashboards: Dashboards such as Tableau, Power BI, or Klipfolio can provide real-time visualizations of portfolio performance metrics and KPIs.
Collaboration tools: Collaboration tools such as Slack or Microsoft Teams can help facilitate communication and collaboration between portfolio team members.
Business intelligence tools: Business intelligence tools such as SAP or Oracle can help collect and analyze data from multiple sources to provide insights into portfolio performance.
Agile assessment tools: Agile assessment tools such as Agile Health Radars or Agile Maturity Assessments can help assess the organization’s level of agile maturity and identify areas for improvement.
Customer feedback tools: Customer feedback tools such as SurveyMonkey or Qualtrics can help collect feedback from customers and stakeholders, which can be used to measure customer satisfaction.
Financial management tools: Financial management tools such as QuickBooks or Xero can help track financial metrics such as return on investment (ROI) and cost variance.
It’s important to note that the choice of tools will depend on the organization’s specific needs, budget, and existing technology infrastructure. The most effective tools are those that can be integrated with each other to provide a comprehensive view of portfolio performance.
Me: A popular agile product management tool some executives and upper managers find useful is Aha! Can Aha! track metrics and KPIs for the agile portfolio management process?
Yes, Aha! is a product management and roadmapping tool that can be used to track metrics and key performance indicators (KPIs) for the agile portfolio management process. Aha! provides a variety of features that can help measure portfolio performance, including:
Customizable dashboards: Aha! provides customizable dashboards that can be configured to display the most important metrics and KPIs for the portfolio. These dashboards can be shared with stakeholders to provide a real-time view of portfolio performance.
Goal setting and tracking: Aha! allows users to set goals for the portfolio and track progress towards those goals. This can be a powerful tool for measuring the impact of the portfolio on the organization’s strategic objectives.
Customizable reports: Aha! provides customizable reports that can be used to analyze portfolio performance and identify areas for improvement. These reports can be generated on a regular basis to provide a comprehensive view of portfolio performance.
Integration with other tools: Aha! can be integrated with other tools such as Jira or Trello to provide a comprehensive view of portfolio performance.
Customer feedback: Aha! provides tools for collecting and analyzing customer feedback, which can be used to measure customer satisfaction and identify areas for improvement.
Overall, Aha! is a powerful tool for tracking metrics and KPIs for the agile portfolio management process. Its customizable dashboards, goal setting and tracking features, and integration with other tools make it a popular choice among portfolio managers.
Me: Can aha! help with agile team capacity planning and utilization?
Yes, Aha! can help with agile team capacity planning and utilization. Aha! provides a variety of features that can help teams plan and manage their capacity, including:
Resource allocation: Aha! allows teams to allocate resources to specific initiatives or projects, which can help ensure that resources are being used effectively and efficiently.
Capacity planning: Aha! provides tools for capacity planning, which can help teams determine how much work they can take on based on their available resources and capacity.
Team workload: Aha! allows teams to view their workload across all initiatives and projects, which can help them identify potential bottlenecks or areas where they may need additional support.
Time tracking: Aha! provides tools for time tracking, which can help teams monitor how much time they are spending on specific tasks or projects. This can be useful for identifying areas where teams may be spending too much time, or where they may need additional training or support.
Capacity reporting: Aha! provides customizable reports that can be used to analyze team capacity and utilization over time. These reports can be used to identify trends or areas for improvement, and can help teams make data-driven decisions about how to allocate their resources.
Overall, Aha! provides a comprehensive set of tools for agile team capacity planning and utilization, which can help teams work more efficiently and effectively. Its resource allocation, capacity planning, team workload, time tracking, and capacity reporting features make it a popular choice among agile teams.
Me: Good deal. How does Azure DevOps compare with Aha! and Confluence Jira?
Azure DevOps, Aha!, and Confluence Jira are all software development tools that offer different functionalities and serve different purposes in the software development lifecycle. Here are some key differences between these tools:
Azure DevOps: Azure DevOps is a comprehensive software development platform that provides end-to-end functionality for planning, tracking, and deploying software products. It includes tools for agile project management, source code management, continuous integration and deployment, and testing. Azure DevOps is an all-in-one platform that provides a complete set of features and integrations, which makes it a popular choice for organizations that are looking for a single platform to manage their entire software development lifecycle.
Aha!: Aha! is a product management tool that helps organizations plan and manage their product roadmap, features, and releases. It provides features for idea management, product strategy, and product analytics. Aha! is focused on helping product teams align their roadmap with their business goals and customer needs.
Confluence Jira: Confluence Jira is a collaboration tool that allows teams to plan, track, and report on their work. It includes features for agile project management, issue tracking, and team collaboration. Confluence Jira is popular among agile teams as it provides features for creating and managing agile boards, sprints, and backlogs.
In summary, Azure DevOps is a comprehensive platform that provides end-to-end functionality for software development, while Aha! and Confluence Jira are more specialized tools that focus on product management and collaboration, respectively. Depending on the organization’s needs, each of these tools can be a good fit for different aspects of the software development process.
Me: How does agile portfolio management align with product management?
Agile portfolio management and product management are closely related and have many overlapping elements. Both focus on delivering value to customers by developing and managing a portfolio of products or initiatives. However, there are some key differences in the focus and scope of each discipline.
Agile portfolio management focuses on managing a portfolio of initiatives or products across an organization, with the goal of maximizing value delivery and achieving strategic objectives. It involves managing resources, prioritizing initiatives, and measuring performance to ensure that the portfolio is delivering the desired outcomes.
Product management, on the other hand, focuses on developing and managing individual products or services within the portfolio. It involves understanding customer needs, defining product requirements, and overseeing the development and launch of the product.
Despite these differences, agile portfolio management and product management are closely aligned and can work together to achieve common goals. Agile portfolio management provides a framework for managing the overall portfolio, while product management provides a framework for developing and managing individual products within the portfolio.
For example, agile portfolio management can help product managers prioritize their product roadmap by identifying the initiatives or products that will deliver the greatest value to the organization. At the same time, product management can provide feedback to the portfolio management team on the success of individual products and initiatives, which can inform future portfolio management decisions.
Overall, agile portfolio management and product management are complementary disciplines that work together to deliver value to customers and achieve strategic objectives. By aligning these two disciplines, organizations can ensure that they are delivering the right products and initiatives to meet the needs of their customers and stakeholders.
Me: How can executives and hands on investors improve their leadership using reports and metrics from Agile portfolio management?
C-level executives and investors can improve their leadership using reports and metrics from Agile portfolio management by gaining visibility into how the organization’s portfolio is performing and using that information to make data-driven decisions.
Here are some ways that reports and metrics from Agile portfolio management can help C-level executives and investors improve their leadership:
Strategic alignment: Agile portfolio management provides a framework for aligning the portfolio with the organization’s strategic objectives. Reports and metrics can help C-level executives and investors understand how the portfolio is contributing to those objectives, and identify areas where adjustments may be needed.
Resource optimization: Agile portfolio management can help optimize the use of resources across the organization. Reports and metrics can provide insights into resource utilization and identify areas where resources may be underutilized or overutilized.
Risk management: Agile portfolio management can help manage risk by providing visibility into potential risks across the portfolio. Reports and metrics can help identify areas of the portfolio that may be at risk, and help the organization take proactive measures to mitigate those risks.
Performance measurement: Agile portfolio management provides a framework for measuring the performance of the portfolio. Reports and metrics can help C-level executives and investors understand how the portfolio is performing against key performance indicators, and identify areas for improvement.
Transparency: Agile portfolio management provides transparency into the organization’s portfolio and how it is being managed. Reports and metrics can help C-level executives and investors understand how the portfolio is being managed, and provide insights into the decision-making process.
By using reports and metrics from Agile portfolio management, C-level executives and investors can gain a deeper understanding of the organization’s portfolio and make data-driven decisions to improve its performance. This can help the organization achieve its strategic objectives, optimize its resources, manage risk, measure performance, and increase transparency.
Me: Very informative. I knew there was a reason I like you. Can Azure Agile DevOps track metrics and KPIs for the agile portfolio management process?
Yes, Azure DevOps can track metrics and KPIs for the agile portfolio management process. Azure DevOps provides a range of tools and features that can help organizations manage their agile portfolio and measure its performance.
Here are some ways that Azure DevOps can help track metrics and KPIs for agile portfolio management:
Backlogs: Azure DevOps provides tools for managing product backlogs, which can help organizations prioritize and track work across their portfolio. By tracking the status of backlog items, organizations can measure their progress and identify areas where improvements are needed.
Dashboards: Azure DevOps provides customizable dashboards that can be used to track key metrics and KPIs for agile portfolio management. These dashboards can be configured to display information such as backlog status, sprint progress, and team capacity utilization.
Reporting: Azure DevOps provides a range of built-in reports that can be used to measure the performance of the agile portfolio. These reports can be customized to display information such as velocity, burn-down charts, and team capacity.
Integration: Azure DevOps integrates with a range of other tools and services, which can help organizations track metrics and KPIs across their entire software development lifecycle. For example, Azure DevOps can integrate with Power BI to provide more advanced reporting and analytics capabilities.
Analytics: Azure DevOps also provides advanced analytics capabilities that can be used to measure and optimize the performance of the agile portfolio. These analytics tools can help organizations identify trends, uncover insights, and make data-driven decisions to improve their portfolio management processes.
Overall, Azure DevOps provides a range of tools and features that can help organizations track metrics and KPIs for agile portfolio management. By using these tools, organizations can gain insights into their portfolio performance, identify areas for improvement, and make data-driven decisions to optimize their portfolio management processes.
Me: Sweet. Finally, I know my sophisticated questions probably wore your AI brain out…Can Azure DevOps help with agile team capacity planning and utilization? Team capacity is one of the most powerful yet least used leadership tool that I think can help executives enable sprint and product teams to provide value and feel like their work makes a difference.
Yes, Azure DevOps can help with agile team capacity planning and utilization. Azure DevOps provides a range of features and tools that can help organizations plan and manage their team capacity in an agile environment.
Here are some ways that Azure DevOps can help with agile team capacity planning and utilization:
Capacity Planning: Azure DevOps provides capacity planning tools that enable teams to estimate their available capacity for upcoming sprints. This helps teams plan their work more effectively and ensure that they are not overcommitting.
Resource Allocation: Azure DevOps allows organizations to allocate resources to specific teams, projects, or initiatives. This helps organizations optimize their resource utilization and ensure that resources are being used effectively.
Time Tracking: Azure DevOps provides time tracking capabilities that enable teams to track the time spent on specific tasks or user stories. This helps teams better understand how their time is being spent and identify areas where they can improve their productivity.
Work Item Tracking: Azure DevOps provides work item tracking capabilities that allow teams to track the status of their work items and ensure that they are being completed on time. This helps teams identify potential bottlenecks and take corrective action to improve their efficiency.
Reporting: Azure DevOps provides a range of reporting capabilities that allow teams to measure and analyze their capacity and utilization. This helps teams identify areas for improvement and make data-driven decisions to optimize their capacity planning and utilization processes.
Overall, Azure DevOps provides a range of tools and features that can help organizations with agile team capacity planning and utilization. By using these tools, organizations can plan their work more effectively, optimize their resource utilization, and improve their team’s productivity and efficiency.
You finally buy that cute-sounding website address, and then some time later, you pick a cloud platform to host your website. These days, that’s starting to be a typical scenario. Cloud computing has brought the price of owning your own website down to very reasonable costs. Likewise, with the expansion of website domain addresses beyond the classic “.com” URL, the cost and ease of getting your own web address has improved. But when it comes time to use your shiny new website address you bought at a domain name registrar like Namecheap.com to deploy your website to your inexpensive Azure cloud account, that’s where things get a little tricky.
Both Namecheap.com and Microsoft offer online Help articles to walk you through the process, but not specifically for deploying a Namecheap.com registered domain to a static Azure cloud storage account. Namecheap.com provides generic instructions for routing your URL to ANY cloud provider, and Microsoft offers generic instructions for creating DNS zone settings for URLs registered at ANY domain registrar, but no two domain name registrars and cloud platforms are the same. In other words, once you try to customize the settings for a specific Registrar-Cloud pair, the instructions can be frustrating. This article provides help for making your Namecheap.com URL work with your static Azure cloud website.
You may ask, “why not just buy the URL domain and website hosting from the same company, either Namecheap or Microsoft?” You can certainly do that, though Microsoft, as of this writing, does not sell domain name registrations. If you’ve hosted sites with WordPress or Shopify, you should know how this works. But what if, say six months later, you decide to switch hosting providers or the company goes out of business?
It’s a best practice to have your domain registrar separate from the hosting provider to avoid having one company monopolize your online presence. You can probably apply this help to other pairings, but you will likely encounter some hiccups along the way. But if simplicity is your number one goal, then it might be more convenient for you to have one company take care of everything for you. No need to read the rest of this article. But for those who already have a URL domain registered with one company (in this case, Namecheap.com) and are looking to host a website on another company’s cloud platform (in this case, Microsoft Azure).
Namecheap.com is my registrar, but most domain registrars work in similar ways. Without further ado, I will skip the verbosity and get right to it. The process of configuring your URL to work with your cloud account is as follows:
1. Have your URL domain registration info from Namecheap.com handy
2. In your cloud account portal, setup storage accounts for static websites
3. Configure your Azure cloud account so that your DNS configuration is ready to go with your DNS nameserver
Both Namecheap.com and Microsoft have tutorials to help you (links are provided). I won’t repeat the steps here. I suggest reading that now before continuing. I will focus on the details that are not so obvious that can frustrate you.
As organizations launch digital transformation projects using Agile and DevOps techniques, it’s easy for them to overlook the dynamic of the teams they assemble to make the transformation a reality. The transformation team needs a technical vision as well as a business vision. Without the clarity provided by the vision, the team can break down into a basket case of ineffective sprints and unproductive relationships. The Product Owner role helps drive that vision into a set of strategic initiatives that then are vetted and technically prioritized, with the help of the Solution Architect, into sprints. Of all the relationships on a given team, the most misunderstood perhaps is that of the Product Owner and the Solution Architect.
One of the reasons for this misunderstanding is that underestimate the complexity of a project. With smaller organizations, this may or may not be a big deal. But for larger corporations, especially those that are publicly traded, this is often inexcusable.
Within any organization, there are two figurative sandboxes that employees work in:
• The Business sandbox and
• The Technology sandbox
In the Business sandbox, employees carry out tasks that directly align with the organization’s marketing and business support operations. In the technology sandbox, employees are tasked with ensuring that the best and most updated technology is being used to support the Business sandbox. In a digital transformation, technology is no longer an afterthought, or “those IT nerds over there,” but an essential engine that drives the business forward. For every IT project, the leading voice of the business sandbox is the Product Owner (PO).
For the Technology sandbox, the Solution Architect (SA) is the main voice. The Product Owner, as the voice of the customer, internal employee, and executive stakeholder, has the responsibility to manage a Product Backlog of requests for new features to existing solution, brand new solutions, and bug/defect requests. Since the Product Owner is generally nontechnical (which is usually a good thing), the Enterprise Architecture team assigns a Solution Architect to that PO. The SA and PO meet regularly (usually weekly or biweekly) to go over the Product Backlog (PB) to vet each Product Backlog Item (PBI).
Depending on how large the PB is, the meeting can be either quick or tedious. The latter is especially true for larger organizations who are introducing the concept of a PB for the first time. Vetting a the PBIs in a backlog is a multistep process:
• PO Guesstimate
• SA Guesstimate
• PBI Priority Ranking
• Executive Budget Approval
• EA Backlog
PO Guesstimate
The PO t-shirt sizes (e.g., Small, Medium, Large) the business importance/impact of each PBI based on business strategies and capabilities being addressed. No technical input involved. Sometimes, the PO will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There will be times when the PO needs further clarification on the business rationale for a PBI from executive stakeholders. These can be marked as “Pending further business review” or something similar. These items should be time tracked so that they don’t age too long in the product backlog.
SA Guesstimate
After gaining business insight into the PBI, the SA t-shirt sizes the effort to analyze and implement technologically. No business input involved. The most popular t-shirt sizes used are Small, Medium and Large. Some teams use X Large for really big epics, but that’s up to you what works. Sometimes, the SA will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There are also times the SA may need a second pair of technical eyes to vet a PBI, so these should be marked “Needing further technical review.”
PBI Priority Ranking
If a PBI survives 1 and 2, then the business and technical rankings together should guide the PO and SA to prioritize the PBI relative to the others. Ranking PBIs is mostly subjective, but a good rule of thumb is to give weight to those items that are quick wins or have been heavily requested among users and executive stakeholders for some time.
Executive Budget Approval
Once the PBIs are prioritized, the PO gets budgetary approval of the top 10 (or whatever the threshold is) from executive stakeholders. Once a PBI is approved, the PO marks the PBI as “Ready for Implementation” or whatever status is agreed upon.
EA Backlog
There are different schools of thought regarding how to the technology team proceeds after a PBI has been approved. The Scaled Agile Framework offers some good ideas around value trains and solutions trains that have helped many organizations. Plain old Scrum, Agile and DevOps have good ideas here. Choose the approach that works for you. Here, I am focusing mostly on the pure process itself without getting bogged down in methodology wars. Once a PBI is approved, some technology leaders directly assign them to a sprint backlog. That might work for smaller organizations, but for larger ones, there is a need for a technology “brain trust” to determine the next step before it goes to any particular team’s sprint backlog. This is where Enterprise Architecture (EA) comes into play.
Often, SAs are under the direction of an EA Brain Trust who assigns them to one or more IT projects. So it would make since that there needs to be an EA Backlog the mediates between the PO’s Product Backlog and each team’s Sprint Backlog. This becomes especially true for organizations going through a digital transformation that involves implementing cloud computing. In the cloud, there are three layers that a PBI can intersect with:
• Software (SaaS)
• Platform (PaaS)
• Infrastructure (IaaS)
Each of these tiers would have a corresponding technology team of technical development and deployment specialists to implement the incoming PBI within the organizations IT environment. With the typical sprint backlog setup, the default assumption is that the incoming PBI is focused on developing software. But what if it only involves standing up a SQL database or a Linux or Windows Server VM? The determination about what kind of team to engage for the solution needs to be at the EA level. This technology brain trust, the EA Team, should have leaders from each area to help engage the right team. The PBI would then be routed to that respective team’s Sprint Backlog to work. The EA team would also do a more technical score of each incoming PBI to determine if an SA is needed to guide the sprint team. A good starting point for a scoring system is 1 to 50, where anything 26 or higher means the PBI is strategically important enough to warrant assigning an SA to the team. Less strategic PBIs can usually be handled by sprint teams with just a normal tech lead or dev lead. If an SA is needed, the SA would then work with the team to do normal sprint planning and backlog refinement activities. The SA creates necessary design docs that are within the guidelines of the master EA doc.
Considerations for Consulting Engagements
The same principles apply to a consulting practice engaging a prospective customer after making the initial sales pitch. After a consulting sales pitch, there has to be a customer assessment phase to determine the level of effort both parties can expect before a full engagement commitment is made. Both roles, PO and SA, are needed at a minimum to determine the effort. During the assessment, the PO and SA develop and manage a backlog of items the customer would need to address before committing to a digital transformation initiative. Depending on the size and complexity of the organization, this can take anywhere from a week or two, to several weeks or longer. The less mature the organization is technologically, the longer this assessment phase will take. It’s similar to when you hire house cleaning service. If it’s your first time, and your house is big, it will take longer than a similar house that already has regular house cleaning.
Wrapping Up
Hopefully this white paper helped in understanding the important relationship between a Product Owner and a Solution Architect. The former is business oriented and is the voice of the customer, employee user and executive stakeholder. The latter is technically oriented, and is the voice of the technology teams and the mediator between the functional requirements (usually user stories and other PBIs) and the nonfunctional requirements that the technology teams implement to satisfy the business. The EA team helps determine how to map incoming PBIs to the right technology teams, and will assign an SA if the PBI is architecturally and strategically significant.
About the Author
John Conley is a Dallas, TX, based Digital Solution Architect and Cloud Engineer Consultant. This is an excerpt from his forthcoming eBook “2020 Business Guide to Digital Transformation Governance.” Feel free to reach out to him if you have any questions or need consulting for your enterprise engagements.
By John Conley
Photo Credit: Mimi Thian from Unsplash.com
Note: This article is also available on Medium.com.
As organizations launch digital transformation projects using Agile and DevOps techniques, it’s easy for them to overlook the dynamic of the teams they assemble to make the transformation a reality. The transformation team needs a technical vision as well as a business vision. Without the clarity provided by the vision, the team can break down into a basket case of ineffective sprints and unproductive relationships. The Product Owner role helps drive that vision into a set of strategic initiatives that then are vetted and technically prioritized, with the help of the Solution Architect, into sprints. Of all the relationships on a given team, the most misunderstood perhaps is that of the Product Owner, the Solution Architect, and the developers and deployers who make the digital solution a reality.
One of the reasons for this misunderstanding is the underestimating of the complexity of a project. With smaller organizations, this may or may not be a big deal. But for larger corporations, especially those that are publicly traded, this is often inexcusable.
Within any organization, there are two figurative sandboxes that employees work in:
The Business sandbox and
The Technology sandbox
In the Business sandbox, employees carry out tasks that directly align with the organization’s marketing and business support operations. In the technology sandbox, employees are tasked with ensuring that the best and most updated technology is being used to support the Business sandbox. In a digital transformation, technology is no longer an afterthought, or “those IT nerds over there,” but an essential engine that drives the business forward. For every IT project, the leading voice of the business sandbox is the Product Owner (PO).
Photo: Nesa by Makers at Unsplash.com
For the Technology sandbox, the Solution Architect (SA) is the main voice. The Product Owner, as the voice of the customer, internal employee, and executive stakeholder, has the responsibility to manage a Product Backlog of requests for new features to existing solution, brand new solutions, and bug/defect requests. Since the Product Owner is generally nontechnical (which is usually a good thing), the Enterprise Architecture team assigns a Solution Architect to that PO. The SA and PO meet regularly (usually weekly or biweekly) to go over the Product Backlog (PB) to vet each Product Backlog Item (PBI).
Depending on how large the PB is, the meeting can be either quick or tedious. The latter is especially true for larger organizations who are introducing the concept of a PB for the first time. Vetting a the PBIs in a backlog is a multistep process:
PO Guesstimate
SA Guesstimate
PBI Priority Ranking
Executive Budget Approval
EA Backlog
PO Guesstimate
The PO t-shirt sizes (e.g., Small, Medium, Large) the business importance/impact of each PBI based on business strategies and capabilities being addressed. No technical input involved. Sometimes, the PO will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There will be times when the PO needs further clarification on the business rationale for a PBI from executive stakeholders. These can be marked as “Pending further business review” or something similar. These items should be time tracked so that they don’t age too long in the product backlog.
SA Guesstimate
After gaining business insight into the PBI, the SA t-shirt sizes the effort to analyze and implement technologically. No business input involved. The most popular t-shirt sizes used are Small, Medium and Large. Some teams use X Large for really big epics, but that’s up to you what works. Sometimes, the SA will recognize that a new PBI was already implemented in part or in full by another solution already in production, or is just a matter of training. In this case, the PBI can be marked “Resolved” or “Closed.” There are also times the SA may need a second pair of technical eyes to vet a PBI, so these should be marked “Needing further technical review.”
PBI Priority Ranking
If a PBI survives 1 and 2, then the business and technical rankings together should guide the PO and SA to prioritize the PBI relative to the others. Ranking PBIs is mostly subjective, but a good rule of thumb is to give weight to those items that are quick wins or have been heavily requested among users and executive stakeholders for some time.
Executive Budget Approval
Once the PBIs are prioritized, the PO gets budgetary approval of the top 10 (or whatever the threshold is) from executive stakeholders. Once a PBI is approved, the PO marks the PBI as “Ready for Implementation” or whatever status is agreed upon.
Photo: Icons8 Team from Unsplash.com
EA Backlog
There are different schools of thought regarding how to the technology team proceeds after a PBI has been approved. The Scaled Agile Framework offers some good ideas around value trains and solutions trains that have helped many organizations. Plain old Scrum, Agile and DevOps have good ideas here. Choose the approach that works for you. Here, I am focusing mostly on the pure process itself without getting bogged down in methodology wars. Once a PBI is approved, some technology leaders directly assign them to a sprint backlog. That might work for smaller organizations, but for larger ones, there is a need for a technology “brain trust” to determine the next step before it goes to any particular team’s sprint backlog. This is where Enterprise Architecture (EA) comes into play.
Often, SAs are under the direction of an EA Brain Trust who assigns them to one or more IT projects. So it would make since that there needs to be an EA Backlog the mediates between the PO’s Product Backlog and each team’s Sprint Backlog. This becomes especially true for organizations going through a digital transformation that involves implementing cloud computing. In the cloud, there are three layers that a PBI can intersect with:
Software (SaaS)
Platform (PaaS)
Infrastructure (IaaS)
Each of these tiers would have a corresponding technology team of technical development and deployment specialists to implement the incoming PBI within the organizations IT environment. With the typical sprint backlog setup, the default assumption is that the incoming PBI is focused on developing software. But what if it only involves standing up a SQL database or a Linux or Windows Server VM? The determination about what kind of team to engage for the solution needs to be at the EA level. This technology brain trust, the EA Team, should have leaders from each area to help engage the right team.
The PBI would then be routed to that respective team’s Sprint Backlog to work. The EA team would also do a more technical score of each incoming PBI to determine if an SA is needed to guide the sprint team. A good starting point for a scoring system is 1 to 50, where anything 26 or higher means the PBI is strategically important enough to warrant assigning an SA to the team. Less strategic PBIs can usually be handled by sprint teams with just a normal tech lead or dev lead. If an SA is needed, the SA would then work with the team to do normal sprint planning and backlog refinement activities. The SA creates necessary design docs that are within the guidelines of the master EA doc.
Considerations for Consulting Engagements
The process of initiating a consulting engagement for a prospective customer has its own set of steps not unlike a software development project. After a consulting sales pitch, there has to be a customer assessment phase to determine the level of effort both parties can expect before a full engagement commitment is made. Both roles, PO and SA, are needed at a minimum to determine the effort.
During the assessment, the PO and SA develop and manage a backlog of items the customer would need to address before committing to a digital transformation initiative. Depending on the size and complexity of the organization, this assessment can take anywhere from a week or two, to several weeks or longer. The less mature the organization is technologically, the longer this assessment phase will take. It’s similar to when you hire house cleaning service. If it’s your first time, and your house is big, it will take longer than a similar house that already has regular house cleaning.
The successful completion of the engagement setup has, at a minimum, the following micro sprints as key milestones:
Request for info, quote, proposal from the prospective client
Sales pitch by the consultant
High level needs assessment by both the client and consultant
Service Level Agreement (SLA)
Product backlog creation and evolution based on user stories and other feature requirements
This set of milestones is by no means exhaustive but is meant to provide a set of guardrails to manage the micro sprints for the engagement setup process.
Wrapping Up
Hopefully this white paper helped in understanding the important relationship between a Product Owner and a Solution Architect. The former is business oriented and is the voice of the customer, employee user and executive stakeholder. The latter is technically oriented, and is the voice of the technology teams and the mediator between the functional requirements (usually user stories and other PBIs) and the nonfunctional requirements that the technology teams implement to satisfy the business. The EA team helps determine how to map incoming PBIs to the right technology teams, and will assign an SA if the PBI is architecturally and strategically significant.
About the Author
John Conley is a Dallas, TX, based Digital Solution Architect and Cloud Engineer Consultant. This is an excerpt from his forthcoming eBook “2020 Business Guide to Digital Transformation Governance.” Feel free to reach out to him if you have any questions or need consulting for your enterprise engagements.
Every so often, I’ll come across someone who had bright eyed dreams about launching a website as part of their business plan, only to have those dreams go down in flames because someone they trusted with their hard earned money failed to deliver the desired website on time, if at all. The average losses they suffered in terms of websites that were half done or poorly done has been about $400-900. How could this happen?
The problem comes into play due in part to greed on behalf of the website developer, and lack of knowledge on the part of the customer. Usually, the potential customer asks friends for referrals to web developers or they post on the various social media sites looking for someone. Without doing much research, they pick a developer who sounds convincing and seems “technical.” The developer charges anywhere from $250 to over $1,000+ to do the whole website without providing a lot of details about what’s all involved. They usually pressure customers to pay the entire amount up front. A few customers try to negotiate a lower fee or pay half as a deposit, promising to pay the other half when the site is complete.
Regardless of what price is negotiated, the outcome is often the same: The developer starts on the site, putting up a web page or two, adding some photos and text, and few social media links here and there, and then poof! They vanish. The customer tries calling, but no answer or the number is disconnected. Hundreds of their hard earned dollars gone and they’re ready to sue.
But wait. Is there anything you could have done differently to avoid losing so much money?
Yes! The first step is to make sure you have a reasonable business plan to go along with your website. Surprisingly, most website customers downplay this step, thinking all they have to do is upload a few photos and a contact page with an about page explaining what they offer, and that’s it. No! Your website is a reflection of the business processes you want your customers to be able to do using your website.
For instance, if you are a hair stylist, you may want customers to book appointments, look up and select various hair styles, order hair, manage the way they pay you, allow customer reviews, etc. By not outlining these features up front, you increase the likelihood of misunderstandings between yourself and your website developer. This, then, leads to you feeling like the website is not complete, and the developer might get frustrated and walk off. This is not to say that there are no bad website developers (there are), but in this specific scenario, failure to describe the features of your website along business processes will increase the likelihood of misunderstanding.
Second, research potential website developers. Remember you get what you pay for, so if someone is offering to do your site for a ridiculously low amount (like under $100 total for a full website), chances are it might be a bait and switch scam. Three to five years’ experience should be minimum for the best quality service, although that’s not to say anyone with less experience would be that bad. But it takes some years to get into a rhythm in website development. My company, Samsona Software, has been around since 1993, so I know something about longevity and consistent customer service.
Finally, know that there is a difference between a website designer and a developer. Designers are usually focused on creating web pages and making them look good from a visual appeal standpoint. Website developers go deeper than that:
Hooking up your pages to databases
Integrating with cloud computing platforms such as AWS and Azure
Integrating with eCommerce platforms like Shopify, Magento and BigCommerce
Implementing microservices to harness the power of various business features unique to your industry. This latter one is part of my offering to my larger business customers.
If you get a chance, try an initial consultation first before seeking help building your website. I can help with that, or anyone with serious experience in this space can do an initial consultation to help you get to where you want your business dreams to take you.
About the Author
John Conley is a technology and digital transformation consultant for Samsona Software Co, Inc., based in Dallas, TX. His service offering is focused on enterprise and solution architecture, as well as small business solutions. Feel free to contact him for your business technology needs.
a human user has a certain business objective that the microservice must fulfill, and that microservice needs a dedicated data store to manage the critical business data it needs to satisfy the user.
As digital transformation sweeps the business landscape, executives and managers are rethinking their business processes. This paradigm shift is important because technology is the lifeblood of industry, the economy and even society at large. People are becoming more comfortable living their personal and business lives primarily through mobile devices, laptops as well, and less so on traditional desktop PCs. Wearable technology, a relatively smaller niche in the overall ecosystem, will eventually compete with today’s mobile devices for digital hegemony among users. But what will be common among all of these ways of conducting business through technology is the need to design components to automate business processes.
As of today, these components are usually realized as microservices in the cloud.
I’ll avoid getting too technical about microservices. Just know that microservices are atomic processes that work together to provide a business solution to a business problem. What that means is that each business process, when well defined, is kinda like a worker just like any other human. Of course, a microservice is very limited to its prescribed business task, minus the distractions that we humans have in our personal lives.
How might this automated worker be visualized for the busy executive to understand? Imagine a bank that offers three account products to the public:
1.Savings Maximizer
2.Checking Plus
3.Secure Safe Deposit Box
Many years ago, in the age before modern automation, the bank would hire specialists in each of these products to manually offer and maintain these kinds of accounts. The workers would use what was called “ticklers” (like paper ledgers) to keep track of account info. With advances in software technology, managing such banking products became more automated. But in their simplest forms, how might we come up with software components for these products? Figure 1 shows one possibility.
Though the three services look cute in blue against a white background, they can’t sit in isolation. They must do something meaningful to deliver real business value in a way that enables executives and managers to then manage the impacted value chain. In a nutshell, our microservices must do the following:
1.Get data from or display data to the user (knowledge worker, the primary persona)
2.Execute a workflow on behalf of a user
3.Get data from or save data to the on prem or cloud database/data lake
In other words, a human user has a certain business objective that the microservice must fulfill, and that microservice needs a dedicated data store to manage the critical business data it needs to satisfy the user. Figure 2 shows the end to end context that supports this flow of business data from the user to the data store.
Ok now that’s a little better. The microservices have end to end context, with the users on the left and the solution tiers to the left. The users only know about the bank app, which governs their user experience (UX). From a business perspective, it would be important to hire technology partners who can pair the UX requirements with the technical plumbing to identify and locate the right microservice for the given user story.
Notice that each microservice has a link to their own databases. This is a fundamentally important part of microservice design that allows the independence of business components, making ongoing development and maintenance cost effective for your organization. If a database goes down for whatever reason, the bank app still have access to the active databases without impacting the user experience.
What’s missing is the fact that each of the microservices can communicate with each other directly (usually by JSON messages) without need to directly access each other’s databases. Also absent is the fact that microservices are usually deployed in the cloud in containers, which encapsulates much of the platform configurations needed to keep the component independently maintainable from a system maintenance standpoint. These cost savings positively impacts the bottom line of the each business product, allowing your organization to in turn pass the savings on to your customers, giving you a competitive advantage. Hopefully as an executive sponsor or manager, you can begin to incorporate microservice thinking into your overall digital transformation strategy.
About the Author
John Conley is a digital transformation consultant for Samsona Software Co, Inc., based in Dallas, TX. His service offering is focused on enterprise and solution architecture, as well as . Feel free to contact him for your business technology needs.