Welcome to Siva's Blog

~-Scribbles by Sivananda Hanumanthu
My experiences and learnings on Technology, Leadership, Domains, Life and on various topics as a reference!
What you can expect here, it could be something on Java, J2EE, Databases, or altogether on a newer Programming language, Software Engineering Best Practices, Software Architecture, SOA, REST, Web Services, Micro Services, APIs, Technical Architecture, Design, Programming, Cloud, Application Security, Artificial Intelligence, Machine Learning, Big data and Analytics, Integrations, Middleware, Continuous Delivery, DevOps, Cyber Security, Application Security, QA/QE, Automations, Emerging Technologies, B2B, B2C, ERP, SCM, PLM, FinTech, IoT, RegTech or any other domain, Tips & Traps, News, Books, Life experiences, Notes, latest trends and many more...
Showing posts with label techniques. Show all posts
Showing posts with label techniques. Show all posts

Sunday, March 12, 2023

CTO Checklist for all technology leaders

A comprehensive CTO checklist that technology leaders keep circling around, and the three main categories such as:

  1. People
  2. Processes
  3. Technology

CTO Checklist

People

A diverse group of people

Your team

Personal development

Exec team

Delegation

Culture

Networking

Processes

Aerial view of a beautiful road junction

Hiring

Scaling

Getting shit done

Budget

Change

Technology

Code overlayed with <no code>

Architecture

Data

Security

Software delivery

Infrastructure

Software delivery monitoring

Testing and quality

Developer productivity

SRE

Documentation

Industry trends



Refer: https://medium.com/@tom-neal/cto-checklist-1a2ef3d6502


Saturday, March 19, 2022

Modern data stack - 2021 and beyond

Modern Data Stack -  2021 and beyond

Product analytics and the modern tech stack


References:
https://mixpanel.com/blog/product-analytics-and-the-modern-tech-stack/
https://snowplowanalytics.com/blog/2021/05/12/modern-data-stack/



Saturday, October 3, 2020

Thought of the day!

 Thought of the day!


Quote of the day!

If you wanted to be successful, be consistent!!!


References:

https://www.artofmanliness.com/articles/get-1-better-every-day-the-kaizen-way-to-self-improvement/

Sunday, September 20, 2020

Why Digital is The Future! How to have a successful journey...

Why Digital is The Future! How to have a successful journey...

"Digital" and "digitization" or "online" has become a very common word in the recent past due to the C-19 pandemic situation, and yet, the digital transformation has been there in every industry more than two decades or so to create value-driven business opportunities for the organizations in their served customer segments with the right value proposition to fulfill their internal and external customers with amazing customer experiences (CX).

Some basics to know- The average IT spend across all industries was around 8 percent of their revenues as a magic number and yet it depends on many factors like industry, region, and age of the company, etc. Now, think about organizations spending between 4 to 24 percent based on the industry for their IT or digital goals, wherein the staff of IT and CIO or CDO would be bringing seamless and easy to use tools and solutions for the various businesses including sales and markets and other business functions in the company (plus external customers too). 

On a side note, usually, companies spend roughly around 10 percent as a magic number on sales and marketing, with a disclaimer that it depends on the size of the company and which sector it belongs to, etc.

With that, it's very imperative that you as a CTO or CDO or CIO or Digital IT Head need to have a very clear plan to create a successful journey towards it with the available budgets in place... 

Some of the key caveats for the success of any organization to become truly digital are:

  • Make sure to address the five domains of the digital strategy - customers, competition, data, innovation, and value
  • Create a comprehensive digital platform with digital products, and not siloed or isolated apps or customizations
  • Start with small to focus more on the CX, and then slowly evolve and improvise your design
  • How fast you pivot to digital is the clear caveat to bring more efficiencies and value to your businesses and their respective functions
  • Have a clear business architecture and enterprise architecture in place whenever your organization do any M&As and adapt as quickly as possible so that all the respective fulfillment happens seamlessly for the existing (for example, legacy apps) and newly acquired customers
  • Application and/or software modernization with the latest emerging technologies like microservices, cloud, machine learning, artificial intelligence, monitoring, cybersecurity, etc
  • IT architecture is very important to any organization, and yet, that needs to be refined every now and then to meet your business outcomes and demands
  • Having an application rationalization chart to know the right sunset and sunrise digital products based on your organization priorities so that it is easier to maintain and innovate faster while the systems and applications are co-existing with newer digital products; a clear winner to achieve improvements in business operations
  • Always, treat your data as the biggest asset to your organization to do any sort of transformation and decision making
  • Make sure to have highly available, reliable, and accurate data APIs/Services for the key source of truth from the various data stores, these can be called as DaaS (Data as a Service) to ease accessibility and minimize the data issues
  • A robust operational backbone is necessary but that certainly is not sufficient for an organization's digital future, an organization needs to adapt to the newer technologies and have to innovate faster to create newer digital products or try to leverage existing newer COTS (Commercial off-the-shelf) tools to create newer digital solutions to continue delight and address all of your customer behaviors
  • Always, have shared data analytics or insights from the data that you have collected from customers
  • Re-use, Re-design, and Re-create wherever and whenever required to save time and money
  • Have intelligent automation in place for automating some/many of the most used business processes
  • Promote continuous delivery and/or integration with DevOps and SRE (Site reliability engineering) principles, so that feedback loops/cycles are faster and teams can implement and address them in a nimble fashion
  • Promote co-creations and co-ownerships with the right internal and external accountability frameworks with faster pace decision making and approvals etc
  • "digital" is everyone's job to become truly a digital organization. For example, to have the right business owners or product owners and then create more collaborative and agile ways of working together to reduce risks and dependencies
  • Try to create a mindset where the customer is more important than anything, and providing seamless customer experience matters a lot
  • Treat your tech debt as an innovation aspect of the digital journey, and have the organizational culture as design thinking instead of leaner thinking to come up with innovative digital solutions
  • Having a digital product mindset instead of a project mindset
  • Also, an organization can focus mostly on their core foundations and innovation only by having a great powerful external partner and/or developer community who gives you early feedbacks and promote your organization with ever scaling digital platforms
  • Have resiliency aspects in your planned mission-critical releases, plan very well for the unplanned occurrences, and have architecture design for the next billion users

References/books:

Enterprise Architecture As Strategy: Creating a Foundation for Business Execution

Designed for Digital: How to Architect Your Business for Sustained Success (Management on the Cutting Edge)

Why Digital Transformations Fail: The Surprising Disciplines of How to Take Off and Stay Ahead

The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback

https://www.amazon.com/Enterprise-Architecture-Strategy-Foundation-Execution/dp/1591398398

https://www.bmc.com/blogs/digital-transformation-books/

https://www.cnbc.com/2019/04/08/4-trillion-in-tech-spending-in-2019-heres-where-the-money-is-going.html

https://vtldesign.com/digital-marketing/content-marketing-strategy/percent-of-revenue-spent-on-marketing-sales/

https://www.flexera.com/blog/elo/2020-state-of-tech-spend-it-spending-benchmarks-and-trends/

https://www.flexera.com/blog/industry-trends/it-spending-by-industry/

https://blog.techvera.com/company-it-spend


Friday, August 21, 2020

Collection of Business Strategy and Consumer Technology Strategy writings

 Collection of Business Strategy and Consumer Technology Strategy writings at one place

https://sriramk.com/strategy

https://iqfystage.blob.core.windows.net/files/CUE8taE5QUKZf8ujfYlS_Reading+1.4.pdf

The above links have most specific on Consumer Tech, and then a general collection of learnings and tools on Business Strategy


Friday, July 17, 2020

The C4 model for visualizing software architecture

The C4 model for visualizing software architecture

What is C4?
Context, Containers, Components, and Code

What tools can I use? How to create?
There are many tools available and can be used, and my favorite is http://draw.io/

Why one should use it?
Usually, there are many ways one can visualize the software architecture diagrams including UML, and yet, if you are going in a faster and agile of handling software architecture and wanted to visualize easily, then you can go for the C4 model

Where it is widely used?
To communicate your software architecture diagrams effectively in fast-paced environments

You wanted to know more, then go ahead and read more at https://c4model.com/

Wednesday, June 17, 2020

Prioritizing your product roadmap


Techniques for Prioritizing your Product Roadmap

1. User Feedback and Behavior

Your customers are a great source of information to help you prioritize product initiatives. This prioritization method entails looking at customer requests and feedback to identify trends. What features or improvements do customers request most often? Are the customers making those requests high-value? Are they coming from a group of customers who are likely to churn?
You can also go beyond simply listening to what customers say and actually see how they interact with your product. Session recordings can help you identify frustration points (E.g. thrashed cursor or Rage Clicks) or “sharp edges” within your product to find opportunities to improve. If a particular area of your product is a frequent source of frustration, it may be worth prioritizing.
When to use:
Looking at user feedback and behavior can help you better understand the value of an existing list of initiatives.

2. Value versus Complexity

The value versus complexity model for feature prioritization takes a rather popular business decision making quadrant and helps apply it specifically to product decisions. Through countless conversations with product managers, we’ve learned that this method is fairly common due to how easy it is to apply.
You start with a list of potential features and estimate their potential business value as well as the approximate amount of complexity and effort involved to build them. Then, you plot each initiative on a grid like the one above.
The features that land in the high value/low complexity section are your “low hanging fruits” features that are a good starting point. On the opposite end of the spectrum, the low value/high complexity features are probably not the highest priority to work on.
When to use:
The value versus complexity quadrant is a good prioritization technique if you need a quick way to compare a list of features based on quantitative estimates. It also is a good tool for explaining the why behind product decisions to stakeholders due to its visual nature.

3. Weighted Scoring

With ProductPlan, product teams can use a weighted scoring model for their prioritization decisions.

A screen capture of ProductPlan's weighted scoring in action.
A screen capture of ProductPlan's weighted scoring in action.

The weighted scoring model is similar in nature to a value versus complexity prioritization model. You can use scores to assign different weights to different strategic benefits and then weigh them against costs.
In the example above, we’ve assigned weights across a series of benefit categories which tie directly into business objectives. Then we did the same for costs, looking at implementation costs, operational costs, and also considering risk in our example matrix.
From there, we assigned scores to these categories for every feature on our list to prioritize. Based on the weights we assigned to each benefit and cost, we were able to reach a quantitative score and rank for each initiative on our list.
When to use:
Weighted scoring models are useful for product teams who need to make objective decisions about feature prioritization and need to consider multiple factors in those decisions.

4. Buckets (Kano model)

Many people elect to use a “bucket” approach to feature prioritization, more formally known as the Kano Model. Most of the time, this model is used to understand the relationship between customer delight and product function and use that information to prioritize a balanced roadmap.
Using the Kano Model, features are categorized in the following buckets:
  • Threshold features: the functionalities that you simply need in order to sell the product.
  • Performance features: features that help ensure customer satisfaction increases.
  • Excitement features: Features that yield an extreme amount of customer delight. They may not be “necessary” features, and your customers might not even notice if they weren’t there but their mere existence creates “delight.”
When to use:
The Kano model is useful for teams with various differing objectives who need a way to keep a balance between all of them.

5. Buy a Feature

Playing a round of “buy a feature” can help you understand how important specific features and functionalities are to stakeholders and even customers. The process is simple but can be a fun activity for getting your team involved with the prioritization process. Start out by making a list of potential features and giving each one it’s own “price.” You can come up with the prices based on the estimated costs associated with developing each feature.
Once you’ve created a list of features and their prices, hand out Monopoly money or some other “currency” of your choice and have your participants purchase the features they want. Most likely you’ll see some people putting all of their “money” on a single feature while others spend their feature allowances on multiple items.
At the end, you’ll have a list of prioritized features.
When to use:
Buy a feature is a technique that’s best to use when you need a quick, interactive way to understand where a group of people see the most value across a list of features.

6. Opportunity Scoring

Opportunity scoring is a method often used to identify opportunities to better meet customer needs. This customer-centric prioritization approach takes into consideration two factors: feature importance and satisfaction with the existing solutions. You start by asking customers to rank or score the importance of a list of features. After that, you have them rank or score their level of satisfaction with the feature.
Based on these inputs, you can generate a list of opportunities: features with high importance scores and low satisfaction scores.
When to use:
Opportunity scoring works well when you need to determine where to make incremental improvements to a list of pre-existing features based on customer satisfaction.

7. Affinity Grouping

Affinity grouping works best when done as a team activity, and it can be a rather fun one at that. Start by having everyone write down their ideas on sticky notes and put them on a flat surface. After you’ve come up with a decent amount of ideas, you work with your team to group similar ideas together. At the end, the team gets together to rank or even vote on each group.
When to use:
Affinity grouping is best used by teams who are collaboratively trying to come up with a general direction. This sort of brainstorming helps teams figure out what they should build.

8. Story Mapping

Story mapping is commonly used to define tests and minimum viable products (MVPs). There are several resources available out there about story mapping best practices, so I’ll share just a high-level overview. It is basically a visual way to develop your product backlog and delineate sprints.
To conduct a story mapping session, you start by creating task-oriented user story cards. Then, you group them together into categories and work each category into a step by step workflow. Once you’ve created these workflows, you can prioritize each group. After this, you can break down the workflows into either releases or sprints.
When to use:
Story mapping is great when you need to take larger concepts and break them down into workable tasks. It’s useful for determining what your MVP will look like and identifying the releases that follow.

Smart Roadmap Prioritization Means Smooth Sailing

Captains may be the ones steering the ship while standing at the helm, but they can’t see everything from there. That’s why they listen to their crew, who can share what they see and know to give them better perspective.
Listen to your team, be open to hearing multiple opinions. But also be objective and mission-driven with your plan. Get the full story before you make decisions.
Remember: your product roadmap is no place for emotional decisions. But under pressure, it’s difficult to completely remove emotions from decisions. That’s where objective product roadmap prioritization frameworks come into play.
Source: https://blog.fullstory.com/8-ways-to-prioritize-product-roadmap/