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 tip. Show all posts
Showing posts with label tip. Show all posts

Friday, April 8, 2022

Learn to write well..

'Learn to write well' advices and tips by Rajan from his Newsletter

It has repaid me more than my super-expensive MBA, my electrical engineering degree, or pretty much anything useful I have done – I am talking about the craft of writing.

For more than three years, writing on LinkedIn and Quora gave me the privilege of serving millions of readers. For every drop of sweat I put in, I got back 100-times over.

So allow me to share an unsolicited piece of advice: Learn to write well. It will change your life.

But this advice is as useless as it is correct. Sure, we should all learn to write well, but how? That is what I will explain in this newsletter. But before that, a disclaimer: I am not a trained writer, nor do I claim to be great at writing.

However, over time, I have gotten better at writing. And if I can get better, anyone can.

Therefore, here is my personal writing guide that evolved over the years. It is not the only way to write – just my way. Use it with caution.

So here we go:

  1. Don’t ever bore your reader – it is a crime. In fact, grab their attention in the very first sentence, and then don’t let up. Here are a few ways to do that:
    • Fire up their curiosity. In the very first sentence, make the readers want to know something that only comes later in the writeup.

      Example: Look at the opening of this newsletter. If the first few words don’t make you read the whole sentence or if the first sentence doesn’t make you read the next one, you would not have reached here.
    • Another option: Start with a story, preferably your own.

      Here is a sample – ‘My mother said to me one day, “The night you were born, the stars in the night sky were dancing – I swear to God. I said, “Mom, it’s ok. You were just drugged and a bit delirious!”

      This is just a random story I wrote. But as long as there are specific characters, events, and something unexpected, it will grab your attention.
    • One more option: Say something that will connect with your readers – something that you both share.

      Example: “Every time I have to order an Ola or Uber, my heart palpitates – I feel like the driver will now conduct my first job interview.”

      Anybody frustrated with Ola/Uber drivers asking for cash or refusing a ride will connect with this. And once that connection is made, you have the reader's attention – for at least one more sentence.

      So, short of gimmickry, do whatever it takes, grab them – don’t allow anyone to walk away after reading the first sentence.

      And once you grab them, don’t let their attention wander. Keep the writing flowing. Each para should make them read the next. And if you have a punchline or surprise, hold it off till the end or as much as possible.

      Finally, end memorably. The last line is the second most important line. The most important is the first.
  2. Write like you are talking to the reader – one-on-one.

    And this is not my advice – it comes right from David Ogilvy, who once said, “Don’t address your readers as though they were gathered together in a stadium. When people read your copy, they are alone. Pretend you are writing to each of them a letter on behalf of your client.”

    I like writing as if I am talking to you. In fact, right now, in my mind, I am talking to you – and just you, nobody else.
  3. Use active voice. Yeah, I know it is obvious but it is amazing how often we still don’t follow this.

    Example: Don’t say, “Today’s match will be decided by Rohit’s and Kohli’s batting.”

    Instead, say, “Rohit’s and Kohli’s shots will decide which team wins.”
  4. Use action verbs. Minimize passive descriptions.

    Example: Don’t say, “Amazon has a great culture. They have free counselors, available on call.”

    Instead, try, “If you are having a bad day at Amazon, just call 1199 and in 30 min you will be talking to a counselor – bawl on their shoulders all you like – it is free.”

    Of course, I am taking excessive poetic license, but you get the drift.
  5. Don’t preach, for God’s sake. Don’t tell people what they should do. Don’t tell them this or that is important. Anytime you use the phrase “you should”, think again.

    Just see the difference between the following:

    Sample A

    To be a good product manager you should have three major traits – A, B, and C

    Sample B

    In two years, my classmate Amit went from an intern to one of Flipkart’s star product managers. And the three traits that got him there are – A, B, and C

    Admittedly, I made Sample B more dramatic but again, I hope you get the drift. So please avoid generic, preachy writing.
  6. Tell stories. Stories evoke emotions, and emotions move people. Without an emotional connect, it is hard to persuade people.

    We all believe we are logical people – yeah right! The truth is, we are all emotional people.

    If you and I bond emotionally, the things we will do for each other will surprise us. That is what friendship, love, and brotherhood are – the irrationality of emotions.

    Good writing can make you laugh or cry. Bad writing can also make you cry, but for different reasons!
  7. Be specific. Take names. Talk places.

    Don’t say, “People slog for many years for the UPSC exam.”

    Instead, try something like, “For the fourth straight year, Amit was writing UPSC – no movies, no games, no fun – just slog. And he was no exception.”

    Specific names, events, places, and dates grab our attention much better than generic descriptions. Who wants to read one more essay?
  8. Show, don’t tell.

    I often see people write things like, “The dinner in Shangri-La was amazing.” Really? Then make me feel that – don’t tell me outright.

    Think about all the things that made the dinner amazing and make me experience that vicariously. Then, I might say, “Oh wow, that was an amazing dinner!” Mission accomplished.

    For example, you could say, “After the bruschetta we had at Shangri-La’s dinner yesterday, I felt I could die without regrets. But after the rest of the six courses, I thought the bruschetta was mediocre in comparison!”

    Another example: Instead of saying, “Clearing the CFA is hard”, you could say, “I studied 20 hrs per week for three years, and yet before every CFA exam, I was awake with exam-terror.”

    Once again, I made the examples above a bit too dramatic but you can hopefully see the difference between showing and telling. What I am asking you to do is hard, but absolutely critical to good writing.
  9. Don’t use big words and jargon – please don’t be cruel.

    Use simple words. Even when you know a big word, when a simpler one will do, use it.

    Don’t say: “The operational synergies between Jet Airways and Kingfisher Airlines combined will help us strategically rationalize cost.”

    Instead, say: “If Jet Airways and Kingfisher Airlines pool and share their ground staff and resources, the cost will go down by 20%.”

    Please leave jargon for big companies and government – you and I will talk to each other like normal human beings. Deal?
  10. Omit needless words. This is hard. But do it.

    Adding unnecessary words is pouring water into milk to increase its volume. Why would you dilute your writing? Why?

    But here is the problem: Once you write a sentence, deleting it feels like killing your baby. But delete it. Every useless word is water added to milk.

    Once a London-based lawyer told me this: In a well-written legal agreement, every word should add to the meaning – and if you pull out a single word, a good document should collapse like a house of cards.”

    This is a very high bar and I seldom meet it, but we got to try.
  11. Edit, edit, edit. And then edit some more.

    Whenever I write a draft, it is perfect. But when I chop some words, it looks even more perfect. Then six months later, I read it, I go – “So much fluff here. Who wrote this?”

    When you see beautiful writing, you are seeing a ruthless editor. When editing, be brutal. As a human, be kind :)

    The biggest challenge in editing is that once you write something, your eyes get used to it and glaze over it. If a preposition is missing, you may not see it – your mind inserts it while reading.

    Two solutions to this problem: Put your writing away for some time (even if just for a minute) and read it again. And when possible, a friend to critique it.
  12. If you are writing on social media (e.g., LinkedIn), don’t write in long paragraphs.

    I don’t have to tell you that the human attention span is now reduced to about one nanosecond, do I?

    But I also hate it when someone writes 20 paragraphs, each just one sentence long. God – I so hate it! So don’t be extreme, but shorter paras generally do better.
  13. Be authentic and maintain integrity.

    If that means ignoring everything I said here, please do so.

    Don’t write like you are Bertrand Russell or Winston Churchill – write like you are you. And that is your trump card. Nobody has lived your life. Nobody has dreamed your dreams or seen what you have seen. Only you can speak in your voice – so do it.
  14. Do rules of grammar and composition matter? Or can you take creative liberties?

    Let me put it this way: If you are Virat Kohli and play a random shot, people will say, “Wow, Kohli is going really unconventional today.” But if I were to do the same, they would say, “Get this monkey out of the field. Who let him into the team?”

    The moral of the story is that if your grammar is good, people will love your deviations for your style quotient. But if your grammar is all over the place, it will be a pain to read.

    So first earn the right to take creative liberties with grammar, and then, do it selectively.
  15. Lastly – don’t hold back.

    Write with rage – let it flow. Don’t censor yourself.

    This is not a license to throw in profanities. All I mean is once your thoughts or emotions start flowing, let them – don’t apply brakes. Editing comes later.

    Just to give you an example. I once wrote an answer to a very boring question on Quora – “What is holding back India’s progress?” Just search for that question on Google and you will see.

    For some reason, that day, I was in a rage at the state of our country. And in that rage, I wrote a very long answer. It is probably the most popular piece I have written on Quora, read by half a million people or more.

    You obviously don’t have to wait for rage to write – if you are a writer, write regularly. But there will be days when you are overflowing. Let it overflow.

That will be all for now. Like all advice, take it with a fistful of salt – use your judgment.

I just shared whatever my mind came up with. I am sure I will remember more stuff tomorrow, but that’s ok – we don’t have to be perfect.

If you found this newsletter useful, do try incorporating it into your writing. Just for your easy reference, here is a link to the PDF.

While writing this, I felt like I was talking to you – hope you felt the same. That is what makes writing fun.

Do well in life and stay in touch.

Rajan

Saturday, December 4, 2021

DevSecOps - Reference Architecture and Recommendations

DevSecOps - Reference Architecture and Recommendations

What is DevSecOps?

DevSecOps is the philosophy of integrating security practices within the DevOps pipeline, ensuring two seemingly opposed goals: speed of delivery and secure code. Critical security issues are dealt with as they become apparent at almost all stages of the SDLC process, not just after a threat or compromise has occurred. It’s not only about additional tools that automate tasks, but also about the mentality of your developers.

Recommendations for a comprehensive DevSecOps?

  1. IDE Plugins — IDE extensions that can work like spellcheck and help to avoid basic mistakes at the earliest stage of coding (IDE is a place/program where devs write their code for those who don’t know). The most popular ones are probably DevSkimJFrog Eclipse, and Snyk.
  2. Pre-Commit Hooks — Tools from this category prevent you from committing sensitive information like credentials into your code management platform. There are some open-source options available, like git-houndgit-secrets, and repo-supervisor.
  3. Secrets Management Tools allow you to control which service has access to what password specifically. Big players like AWS, Microsoft, and Google have their solutions in this space, but you should use cloud-provider-agnostic ones if you have multi-cloud or hybrid-cloud in place.
  4. Static Application Security Testing (SAST) is about checking source-code (when the app is not running). There are many free & commercial tools in the space (see here), as the category is over a decade old. Unfortunately, they often result in a lot of false positives, and can’t be applied to all coding languages. What’s worse is that they take hours (or even days) to run, so the best practice is to do incremental code tests during the weekdays and scan the whole code during the weekend.
  5. Source Composition Analysis (SCA) tools are straightforward — they look at libraries that you use in your project and flag the ones with known vulnerabilities. There are dozens of them on the market, and they are sometimes offered as a feature of different products — e.g. GitHub.
  6. Dynamic Application Security Testing (DAST) is the next one in the security chain, and the first one testing running applications (not the source code as SAST — you can read about other differences here). It provides less false positives than SAST but is similarly time-consuming.
  7. Interactive Application Security Testing (IAST) combines SAST and DAST elements by placing an agent inside the application and performing real-time analysis anywhere in the development process. As a result, the test covers both the source code and all the other external elements like libraries and APIs (this wasn’t possible with SAST or DAST, so the outcomes are more accurate). However, this kind of testing can have an adverse impact on the performance of the app.
  8. Secure infrastructure as code — As containers are gaining popularity, they become an object of interest for malware producers. Therefore you need to scan Docker images that you download from public repositories, and tools like Clair will highlight any potential vulnerabilities.
  9. Compliance as code tools will turn your compliance rules and policy requirements into automated tests. To make it possible your devs need to translate human-readable rules received from non-tech people into code, and compliance-as-a-code tools should do the rest (point out where you are breaking the rules or block updates if they are not in line with your policies).
  10. Runtime application self-protection (RASP) allows applications to run continuous security checks and react to attacks in real-time by getting rid of the attacker (e.g. closing his session) and alerting your team about the attack. Similarly to IAST, it can hurt app performance. It’s 4th testing category that I show in the pipeline (after SAST, DAST, and IAST) and you should have at least two of them in your stack.
  11. Web Application Firewall (WAF) lets you define specific network rules for a web application and filter, monitor, and block HTTP traffic to and from a web service when it corresponds to known patterns of attacks like, e.g. SQL injection. All big cloud providers like GoogleAWS and Microsoft have got their WAF, but there are also specialised companies like Cloudflare, Imperva and Wallarm, for example.
  12. Monitoring tools — as mentioned in my DevOps guide, monitoring is a crucial part of the DevOps manifesto. DevSecOps takes it to the next level and covers not only things like downtime, but also security threats.
  13. Chaos engineering. Tools from this category allow you to test your app under different scenarios and patch your holes before problems emerge. “Breaking things on purpose is preferable to be surprised when things break” as said by Mathias Lafeldt from Gremlin.
  14. Vulnerability management — these tools help you identify the holes in your security systems. They classify weaknesses by the potential impact of malicious attacks taking advantage of them so that you can focus on fixing the most dangerous ones. Some of the tools might come with addons automatically fixing found bugs. This category is full of open source solutions, and here you can find the top 20.

Reference Architectures of DevSecOps?

Refer: https://cdn2.hubspot.net/hubfs/4132678/Resources/DevSecOps%20Reference%20Architectures%20-%20March%202018.pdf

References:
https://medium.com/inside-inovo/devsecops-explained-venture-capital-perspective-cb5593c85b4e

    Saturday, October 2, 2021

    A 5-step process for nearly anything

     A 5-step process for nearly anything!!!

    "A 5-step process for nearly anything:

    1) Explore widely. Find out what is possible.

    2) Test cheaply. Run small, quick experiments. Sample things.

    3) Edit ruthlessly. Focus on the best. Cut everything else.

    4) Repeat what works. Don't quit on a good idea.

    5) Return to 1."

    Credits: James Clear

    Wednesday, September 22, 2021

    What Tech Stacks need to be used?

    Question: What Tech Stacks need to be used?

    Answer: It depends!

    Detailed Answer

    It depends on various aspects of your functional and non-functional requirements. To know more, how this has been solved, then have a look at the following website stackshare to know what tech stacks are better for your specific requirements with a detailed decisions log from more than 1M developers community and with the information of tradeoffs and etc.

    https://stackshare.io/feed



    Storybook for building UI components easily...

     Storybook is an open-source tool for building UI components and pages in isolation.

    Storybook is a tool for UI development. It makes development faster and easier by isolating components. This allows you to work on one component at a time. You can develop entire UIs without needing to start up a complex dev stack, force certain data into your database, or navigate around your application.

    References:

    https://storybook.js.org/

    https://storybook.js.org/tutorials/intro-to-storybook/react/en/get-started/


    Sunday, August 15, 2021

    Five enterprise-architecture practices that add value to digital transformations

    Five enterprise-architecture practices that add value to digital transformations

    1. Engage top executives in key decisions
    2. Emphasize strategic planning
    3. Focus on business outcomes
    4. Use capabilities to connect business and IT
    5. Develop and retain high-caliber talent
    Reference: 
    https://www.mckinsey.com/business-functions/mckinsey-digital/our-insights/five-enterprise-architecture-practices-that-add-value-to-digital-transformations

    Friday, June 25, 2021

    Tips to Maximize Your Team’s Performance

    Tips to Maximize Your Team’s Performance

    • Get to know each team member personally 
    • Establish team norms of behavior 
    • Communicate regularly about things that matter 
    • Define vision and goals 
    • Recognize your team is an evolving system 
    • Have fun with a purpose 
    • Clarity on roles 

    Reference: 

    https://www.leadstrat.com/7-tips-to-maximize-your-teams-performance/

    Friday, April 30, 2021

    9 Pillers of DevOps Best Practices

     


    Leadership Practices for DevOps

    • Leaders demonstrate a long-term vision for organizational direction and team direction.
    • Leaders intellectually stimulate the team by encouraging them to ask new questions and question basic assumptions about the work.
    • Leaders provide inspirational communication that inspires pride in being part of the team, says positive things about the team, inspires passion and motivation and encourages people to see that change brings opportunities.
    • Leaders demonstrate support by considering others’ personal feelings before acting, being thoughtful of others’ personal needs and caring about individuals’ interests.
    • Leaders promote personal recognition by commending teams for better-than-average work, acknowledging improvements in the quality of work and personally complimenting individuals’ outstanding work.

    Collaborative Culture Practices for DevOps

    • The culture encourages cross-functional collaboration and shared responsibilities and avoids silos between Dev, Ops and QA.
    • The culture encourages learning from failures and cooperation between departments.
    • Communication flows fluidly across the end-to-end cross-functional team using collaboration tools where appropriate (for example Slack, HipChat, Yammer).
    • The DevOps system is created by an expert team, and reviewed by a coalition of stakeholders including Dev, Ops and QA.
    • Changes to end-to-end DevOps workflows are led by an expert team, and reviewed by a coalition of stakeholders including Dev, Ops and QA.
    • DevOps system changes follow a phased process to ensure the changes do not disturb the current DevOps operation. Examples of implementation phases include: proof of concept (POC) phase in a test environment, limited production and deployment to all live environments.
    • Key performance indicators (KPIs) are set and monitored by the entire team to validate the performance of the end-to-end DevOps pipeline, always. KPIs include the time for a new change to be deployed, the frequency of deliveries and the number of times changes fail to pass the tests for any stage in the DevOps pipeline.

    Design-for-DevOps Practices for DevOps

    • Products are architected to support modular independent packaging, testing and releases. In other words, the product itself is partitioned into modules with minimal dependencies between modules. In this way, the modules can be built, tested and released without requiring the entire product to be built, tested and released all at once.
    • Applications are architected as modular, immutable microservices ready for deployment in cloud infrastructures in accordance with the tenets of 12-factor apps, rather than monolithic, mutable architectures.
    • Software source code changes are pre-checked with static analysis tools, prior to commit to the integration branch. Static analysis tools are used to ensure the modified source code does not introduce critical software faults such as memory leaks, uninitialized variables, and array-boundary problems.
    • Software code changes are pre-checked using peer code reviews prior to commit to the integration/trunk branch.
    • Software code changes are pre-checked with dynamic analysis tests prior to committing to the integration/trunk branch to ensure the software performance has not degraded.
    • Software changes are integrated in a private environment, together with the most recent integration branch version, and tested using functional testing prior to committing the software changes to the integration/trunk branch.
    • Software features are tagged with software switches (i.e., feature tags or toggles) during check-in to enable selective feature-level testing, promotion and reverts.
    • Automated test cases are checked in to the integration branch at the same time code changes are checked in, together with evidence that the tests passed in a pre-flight test environment.
    • Developers commit their code changes regularly, at least once per day.

    Continuous Integration Practices for DevOps

    • A software version management (SVM) system is used to manage all source code changes. (Git, Perforce, Mercurial, etc.)
    • A software version management (SVM) system is used to manage all versions of code images changes used by the build process. (Git, Perforce, Mercurial, etc.)
    • A software version management (SVM) system is used to manage all versions of tools and infrastructure configurations and tests that are used in the build process. (Git, Perforce, Mercurial, etc.)
    • All production software changes are maintained in a single trunk or integration branch of the code.
    • The software version(s) for supporting each customer release are maintained in a separate release branch to support software updated for each release.
    • Every software commit automatically triggers a build process for all components of the module that has code changed by the commit. The system is engineered such that resources are always sufficient to execute a build.
    • Once triggered, the software build process is fully automated and produces build artifacts, provided the build time checks are successful.
    • The automated build process checks include unit tests.
    • Resources for builds are available on-demand and never block a build.
    • CI builds are fast enough to complete incremental builds in less than an hour.
    • The build process and resources for builds scale up and down automatically according to the complexity of the change. If a full build is required, the CI system automatically scales horizontally to ensure the builds are completed as quickly as possible.

    Continuous Testing Practices for DevOps

    • Development changes are pre-flight tested in a clone of the production environment prior to being integrated to the trunk branch. (Note: “production environment” means “variations of customer configurations of a product.”)
    • New unit and functional regression tests that are necessary to test a software change are created together with the code and integrated into the trunk branch at the same time the code is. The new tests are then used to test the code after integration.
    • A test script standard is used to guide test script creation, to ensure the scripts are performing the intended test purpose and are maintainable.
    • Tests are selected automatically according to the specific software changes. CT is orchestrated dynamically, whereby the execution of portions of the CT test suites may be accelerated, or skipped entirely, depending on how complex or risky the software changes are.
    • Test resources are scaled automatically according to the resource requirements of specific tests selected and the available time for testing.
    • Release regression tests are automated. At least 85% of the tests are fully automated and the remaining are auto-assisted if portions must be performed manually.
    • Release performance tests are automated to verify that no unacceptable degradations are released.
    • Blue/green testing methods are used to verify deployments in a staging environment before activating the environment to live. A/B testing methods are used together with feature toggles to try different versions of code with customers in separate live environments. Canary testing methods are used to try new code versions on selected live environments.
    • The entire testing life cycle, which may include pre-flight, integration, regression, performance and release acceptance tests are automatically orchestrated across the DevOps pipeline. The test suites for each phase include a predefined set of tests that may be selected automatically according to predefined criteria.

    Elastic Infrastructure Practices for DevOps

    • The data and executable files needed for building and testing builds are automatically archived frequently and can be reinstated on demand. Archives include all release and integration repositories. If an older version of a build needs to be updated, then the environment for building and testing that version can be retrieved and reinstated on demand and can be accomplished in a short time (for example, minutes to hours.)
    • Build and test processes are flexible enough to automatically handle a wide variety of exceptions gracefully. If the build or test process for a component is unable to complete, then the process for that failed component is reported and automatically scheduled for analysis, but build and test processes for other components continue. The reasons for the component failure are automatically analyzed and rescheduled if the reason for the failure can be corrected by the system; if not, then it is reported and suspended.
    • System configuration management and system inventory is stored and maintained in a configuration management database (CMDB).
    • Infrastructure changes are managed and automated using configuration management tools that assure idempotency.
    • Automated tools are used to support immutable infrastructure deployments.
    • Equal performance for all. The user performance experience of the build and test processes by different teams are consistent for all users, independent of location or other factors. There are SLAs and monitoring tools that ensure the user performance experience is consistent for all users.
    • Fault recovery mechanisms are provided. Build and test system fault monitoring, fault detection, system and data monitoring and recovery mechanisms exist. They are automated and are consistently verified through simulated failure conditions.
    • Infrastructure failure modes are frequently tested.
    • Disaster recovery procedures are automated.

    Continuous Monitoring Practices for DevOps

    • Logging and proactive alert systems make it easy to detect and correct DevOps system failures. Logs and proactive system alerts are in place for most DevOps component failures, and are organized in a manner to quickly identify the highest-priority problems.
    • Snapshot and trend results of each metric from each DevOps pipeline stage (for example, builds, artifacts, tests) are automatically calculated in process and visible to everyone in the Dev, QA and Ops Teams.
    • Key performance indicators (KPIs) for the DevOps infrastructure components are automatically gathered, calculated and made visible to anyone on the team that subscribes to them. Example metrics are availability (uptime) of computing resources for CI, CT and CD processes, time to complete builds, time to complete tests, number of commits that fail and number of changes that need to be reverted due to serious failures.
    • Metrics and thresholds for DevOps infrastructure components are automatically gathered, calculated and made visible to anyone on the team that subscribes to them. Example metrics are availability (uptime) of computing resources for CI, CT and CD processes, time to complete builds, time to complete tests, number of commits that fail and number of changes that need to be reverted due to serious failures.
    • Process analytics are used to monitor and improve the integration, test and release process. Descriptive build and test analytics drive process improvements.
    • Predictive analytics are used to dynamically adjust DevOps pipeline configurations. For analysis of test results, data may indicate a need to concentrate more testing in areas that have a higher failure trend.

    Continuous Security Practices for DevOps

    • Developers are empowered and trained to take personal responsibility for security.
    • Security assurance automation and security monitoring practices are embraced by the organization.
    • All information security platforms that are in use expose full functionality via APIs for automation capability.
    • Proven version control practices and tools are used for all application software, scripts, templates and blueprints that are used in DevOps environments.
    • Immutable infrastructure mindsets are adopted to ensure production systems are locked down.
    • Security controls are automated so as not to impede DevOps agility.
    • Security tools are integrated into the CI/CD pipeline.
    • Source code for key intellectual property on build or test machines are only accessible by trusted users with verified credentials. Build and test scripts do not contain credentials for access to any system that has intellectual property. Intellectual Property is divided such that not all of it exists on the same archive and each archive has different credentials.

    Continuous Delivery Practices for DevOps

    • Delivery and deployment stages are separate. The delivery stage precedes the deployment pipeline.
    • All deliverables that pass the delivery metrics are packaged and prepared for deployment using containers.
    • Deliverable packages include sufficient configuration and test data to validate each deployment. Configuration management tools are used to manage configuration information.
    • Deliverables from the delivery pipeline are automatically pushed to the deployment pipeline, once acceptable delivery measures are achieved.
    • Deployment decisions are determined according to predetermined metrics. The entire deployment process may take hours, but usually less than a day.
    • Deployments to production environments are staged such that failed deployments can be detected early and impact to customers isolated quickly.
    • Deployments are arranged with automated recovery and self-healing capabilities in case a deployment fails.

    What This Means

    DevOps is a powerful tool that enables many benefits for organizations that use it. Achieving performance efficiently with DevOps depends on following best practices. By following the nine pillars of practices enumerated in this blog, organizations can achieve the performance potential that DevOps has to offer.


    Refer: https://devops.com/nine-pillars-of-devops-best-practices/

    Sunday, February 21, 2021

    Software Engineering at Google

    Software Engineering at Google

    The Lessons Learned from Programming Over Time

    Refer: https://abseil.io/resources/swe_at_google.2.pdf

    Tuesday, February 16, 2021

    Six problem-solving mindsets for very uncertain times

     Six problem-solving mindsets for very uncertain times

    1. Be ever-curious 

    2. Tolerate ambiguity—and stay humble! 

    3. Take a dragonfly-eye view 

    4. Pursue occurrent behavior

    5. Tap into collective intelligence and the wisdom of the crowd 

    6. Show and tell to drive action

    Refer:

    https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/six-problem-solving-mindsets-for-very-uncertain-times


    Sunday, October 11, 2020

    Work: how do you deal with difficult colleagues at workplace?

    Context

    A lot of times, we may need to deal with difficult colleagues at work, and how do you deal with them and what are the best strategies you need to aware of and can practice so that you can make the workplace better for everyone.

    Strategies:

    • Separate the person from their behavior, don't label them
    • Widen your perspective and be open-minded without any biases
    • Don't react, act; look for collaborative approaches to respond to the situation wisely
    • Take the hard road and provide candid feedback and involve their leadership too if required

    References:

    https://medium.com/better-programming/how-to-deal-with-difficult-people-at-work-ca9f09a20984


    Saturday, October 3, 2020

    Life: How to choose your life partner?

    Life: How to choose your life partner?

    Context:

    I have been asked by many folks (especially the young generations, they are mostly the millennials who could be Generation-Y and the Generation-Z, and they are either basically from the circle of friends at work or known family friends, etc) in the recent past on how they can choose their life partner in the current state of a fast-moving world to have a successful marriage and relationship.

    First thing, first!

    Examine yourself - are you really ready for marriage?

    If the answer to the above question is "No", then, take your own time and just listen to yourself and that's completely okay. Don't go into the trap of marriage😉 for the sake of marriage. And if you wanted to achieve something really big and you are completely different from others, and you think about yourself that you are completely an independent and wanted to live as an individual forever, then really go for it - chase your dreams and you don't get influenced by any of these pressures like the societal or peer or colleague or relative, or family and friends, etc. If you are not ready for the marriage and if you are sure about it, then, more than you are doing good to the marriage you would be trapped in the marriage and you are putting yourself at risk plus your partner also in the same error zone. Also, you can't take risks and you might feel bad or worse or worst based on the outcomes later and you might not even able to enjoy the journey of your married life too, So be cautious is the disclaimer I wanted to mention before I jump on to the other answer.

    If the answer is "Yes", then this snippet is for you. Perhaps, this might not be the best free advice if your time for selection is limited, and yet, these are my own experiences by observing myself and others around me in our society and might be useful for you in any way. Don't chase me if this piece of advice doesn't work for you, as I am not the love or relationship guru out there, and let me admit that I am also learning to understand the fast-moving generations and their human nature😃


    Assumptions: 

    • Assuming that the readers are from India and they have grown up in the Indian heritage of culture and follow some of the Indian marriage customs
    • Folks who have grown up in the villages, towns, cities in India
    • Folks who are not from the super-rich families; as the marriages in this category are mostly a business partnership for them (sorry to generalize here)
    • Folks have the freedom and yet they follow their parents' guidance and wait for multiple options and choices from the elders in their families
    • Folks who have huge respect for arranged marriages than love marriages 
    • Folks who turn their live-in relationships to arranged marriages eventually
    Oh! my gosh... These many assumptions! That's why someone has said that "marriages are made in heaven" Now, here comes the key advice for choosing your life partner...


    Key suggestions:
    • Try to see what is your (or your family) value system, and see what are your basic core values and see how many of those are meeting with the other potential family. For example: if you are from a teachers family better not to explore a politician family as that would not gel well in the long run
    • Find out what is their communication style and especially the mother tongue and how are their customs and culture are really relevant for you or your family: Take an early call whether you wanted to have similar customs or you and your family don't even bother about these things at all
    • Job profile: Same domain or different domain - just be clear about it, whether you want to have your better half also in the same domain or doesn't matter to you 
    • Both of the above choices have advantages and disadvantages. If both belong to the same domain, after some years it might be boring, and yet, some couples enjoy the same or similar interests. Whereas some couples don't have similar professions and they can see and understand a different side of their partners' work-life and it would complement as a yin-yang life experiences. At least, try to have some common interests and it works well to create a good bonding
    • Location preference: City, town, or any other place - just be vocal about your plans and see the matching choices between each other as early as possible
    • What is your relationship with money, and how your partner looks at it: Understand it clearly, as money makes many things and at the same time, the same money can break many things too :(
    • Evaluate the communication style: how easily you can connect with the other, and it's all about the conversations. Life is not a sprint and it's a marathon and you need to have a lot of various conversations throughout your life journey. That means you should be able to talk about anything and everything with the other. Communication is the key to true love or likeability 
    • Understand and see how much they are a trustworthy and kind and lovable person as a true human: this is so important that we are all human and social animals where the true human nature can be observed in certain simple things while you walk the talk and how the other person is treating not just you but others around in the society and who and how are his/her circle of friends and where are they up to... these are some cues that would let you know what sort of person the other is...
    • Confident and Individualness: Being confident as a person and believe in their own self and having his own individuality of actions for various matters in his/her way of the leading life
    • Don't just look for the IQ or the current salary as a package: Look for the future earning potential (how does he/she improving daily and show something constantly better than yesterday) in the other person with the right mix of IQ and EQ, apparently, the folks who have got the better mix of both has got the better standard of lives than the folks who have only IQ
    • Talk to the other at least a few times before marriage and find opportunities and time: To figure out are you feeling psychological safety while talking to the other, do you feel emotionally safe, are you guys have a common life purpose or completely different and etc
    • Don't assume and expect the other person to change for you: It has never happened in the histories that anyone would change the other person or their mindset. Any given mindset is the hard-wired traits and those can't be changed easily and it might take decades or it might cost a life to change. Try to be as open as you can, and go with a positive open mindset with your self-awareness and it works like a miracle to the well being of your planned life with the other
    • More than a go-getter, be a go-giver: This does amazing things in your love, mutual respect, and relationships, etc
    • It's okay to have some specific standards but don't overboard them and expect from others too

    A few bonus tips:
    • Yes, looks matter: But they get fade away after some time so think about them in a balanced way For example, your partner looks amazing but with a cruel mind then what's the use for you
    • If you don't like the other, and most of your checklist of requirements do not match, then don't get trapped into the emotional drama with the other and their families; just be open and clear about it and move on as soon as you can
    • Finally don't look for 100% bug-free products: What I mean here is that there is nothing called a perfect personality, So adjust, accept, reinvent and rejuvenate your life with the other!

    Good luck with your checklist, hope you find your right soulmate soon, and then, wish you a very happy, successful & joyful married life!!!

    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/

    Saturday, August 29, 2020

    Do you want to read books faster?

    Context

    Do you want to read books faster?

    Then, why don't you look at the book summaries to get a clearer and simpler summary of the book itself; it may sound like counter-intuitive and yet it can save a lot of your time, energy, and space of your mind.

    Also, if you wanted to go for the binge-reading or cover many books then there are even more suggestions that I have practiced and it worked out very well, such as:

    1. Audiobooks so that you would not miss the stories in that book if there are any
    2. Video books with animations to fulfill the exact context and stories
    3. Another bonus suggestions from the above #2, video books by best presenters or storytellers
    4. Get to know about the book author and get his core viewpoint and the key takeaways from their interviews or audio/video scripts etc - this would help you to do more research on that subject and what the author is throwing to the readers
    5. If you are an avid reader, then as I said earlier hop on online book summaries 
    By the way, the above suggestions are based on what sort of a learning person you are! 

    Some like physical books, some like to hear others, some wanted to view and visualize with their eyes and learn, some like to discuss and/or do a role play and then learn the subject, etc. So, it all depends on your preference of which type of learning person you are, and how you wanted to learn something...

    More references:

    Saturday, August 22, 2020

    The Go-Giver vs. The Go-Getter

     Context

    I have recently read the following books and trying to compare here between The Go-Giver vs. The Go-Getter with respect to life, business, and relationships, etc...

    By the way, both are amazing and mind-blowing nice reads with a different perspective on life, relationships, and especially on the businesses, etc. and yet, I wanted to share here the key takeaways and the impressive changes one can make to their perspectives.

    The Go-Giver

    The Go-Giver talks more about others than you/yourself in a given situation, and presses more on the following 5 laws.

    1. The Law of Value — Your true worth is determined by how much more you give in value than you take in payment.
    2. The Law of Compensation — Your income is determined by how many people you serve and how well you serve them.
    3. The Law of Influence — Your influence is determined by how abundantly you place other people’s interests first.
    4. The Law of Authenticity — The most valuable gift you have to offer is yourself.
    5. The Law of Receptivity — The key to effective giving is to stay open to receiving.

    Here are the 3 most inspiring lessons about focusing on others more than yourself:

    1. Develop a go-giver mentality to initiate your journey toward unimaginable success and enjoyment in what you do.
    2. Product improvements have limits, but the power of improving customer experience is infinite.
    3. Being authentic is the foundation for people having a positive experience with your business that will have a lasting impact on those you serve.

    The Go-Getter 

    The Go-Getter talks more about you to hustle and focusses more on the motto of ''it shall be done!" and "getting things done!" along with a lot of emphasis on "your own faith" to achieve success.

      Here are the 4 most inspiring lessons about focusing on yourself than others while hustling:

      1. Believe in yourself
      2. Act with determination
      3. Don’t take “No” for an answer
      4. Tell yourself “It Shall Be Done.”

      Final take: 

      Both go-getter and go-giver are important in anyone's career, business, and life, etc. The go-getter is good for the short term for a  limited span of network with their accomplished successes but not for the long term, whereas the go-giver with the right mix of more authenticity and overall positive experiences to a cause works very well for the long term with elevated successes and happiness for broader networks. Especially, the go-giver works well for maintaining long-lasting relationships. Also, the go-givers do more sales than the go-getters in any business. In a logical way, one has to work like a go-giver but that doesn't mean that go-getters are bad, here the main perspective to understand is go-giver is an old-time go-getter and revolutionized and transformed as go-giver at heart, but one's mind acts like go-getter only to get the shit done.

      Sources:

      The Go-Giver

      https://www.amazon.com/Go-Giver-Little-Story-Powerful-Business-ebook/dp/B0010O922C

      http://goodinfection.com/summary-the-go-giver-bob-burg-john-david-mann/

      https://lifeclub.org/books/the-go-giver-bob-burg-and-john-david-mann-review-summary

      The Go-Getter

      https://www.amazon.in/Go-Getter-Peter-B-Kyne/dp/9382677399/ref=pd_lpo_14_t_0/259-1999838-9711601?_encoding=UTF8&pd_rd_i=9382677399&pd_rd_r=eeeb331e-6faa-4307-b68a-c527305ddb36&pd_rd_w=pjvJQ&pd_rd_wg=ZX5TM&pf_rd_p=5a903e39-3cff-40f0-9a69-33552e242181&pf_rd_r=MJDNQT6HW1Y23AR38V0E&psc=1&refRID=MJDNQT6HW1Y23AR38V0E

      https://www.jeffprewitt.com/the-go-getter-book-review/


      7 Strategies for Wealth and Happiness

       Context

      Here is the super quick book summary of  the book "7 Strategies for Wealth and Happiness"

      1. Unlock the power of goals
      2. Seek knowledge and wisdom
      3. Learn to develop yourself
      4. Manage your finances
      5. Master your time
      6. Surround yourself with successful people
      7. Live a rich life

      Source:

      https://www.amazon.com/Strategies-Wealth-Happiness-Americas-Philosopher-ebook/dp/B00D0OO4D2/ref=as_li_ss_tl?crid=1H9EAR8LR6QF5&dchild=1&keywords=7+strategies+for+wealth+&+happiness&qid=1595258784&s=audible&sprefix=7+strategies+for+,audible,370&sr=1-1-catcorr&linkCode=sl1&tag=readingraphic-20&linkId=42fa86d3036f9d5165d06d9f2886b16e&language=en_US

      https://readingraphics.com/book-summary-7-strategies-for-wealth-happiness-jim-rohn/

      Sunday, August 9, 2020

      Database migrations aren't tough; use the right tools

      Database migrations are not tough and it's all about how you use the right tools to overcome your most common issues for your on-going database development changes.

      Most famous open source tools are:

      1. https://www.liquibase.org/
      2. https://flywaydb.org/
      3. Many more...

      So, what to choose and when to use liquibase vs. flyway
      • liquibase and flyway has more or less same features, except the flyway uses the SQL as a script whereas liquibase supports SQL, YAML, XML, JSON
      • Easier setup and configurations then, flyway; liquibase also easy setup though
      • Both flyway and liquibase have tooling and integrations support with your CI/CD tech stack
      • Little more configurations with more features you need then, go for liquibase 
      • liquibase has a lot of databases supported
      • liquibase has database versions controlling
      • liquibase has undoing the migrations, and doing the diff etc whereas, it's premium in flyway
      • smaller teams and many projects then, go flyway
      • bigger teams with many projects then go for liquibase as you can have rollback and diff features as all varieties of scripts can be supported

      References:

      Wednesday, July 29, 2020

      Most common Frameworks and Methods for Product Management

      Most common Frameworks and Methods for Product Management


      Many times when we practice product management, there are a few scientific methods that product managers follow to make it simple and very effective for the teams that they are working. So, what are the most common frameworks and methods for practicing product management by PMs, and here are 15 of them below.

      1. Story Telling

      Storytelling is actually the oldest way to deliver a message – or to explain the world. Ancient people used storytelling. The Bible uses storytelling. Your uncle uses storytelling. Product Manager use storytelling. You’re using storytelling for yourself and your business, even if you don’t call it exactly that. Its is the foundation for effective communication in general and a solid foundation for a couple of the frameworks listed below as well.
      Storytelling at it’s most basic structure is about a Situation / Problem (Hero and Enemy), Needs (Conflict and Painpoints) and a Solution. Well, that’s right there 3 integral elements to be managed by Product Managers.
      If we follow this structure it makes it easy for the listener to follow.  Story is “a thing that does” rather than “a thing that is”. It is a tool with measurable utility rather than an object for aesthetic admiration.
      See also:
      In its basic form these are the Steps:

      Step 1: You — What, Who is this story about? 
      Step 2: Need — Problems, painpoints, Needs, Issues, Challenges
      Step 3: Go — Cross the threshold into ‘the upside down’
      Step 4: Search and Alternatives — How can “you” achieve your goal?
      Step 5: Find a Solution — The meeting with the Goddess
      Step 6: Take / Apply
      Step 7: Return  (How does this relate to the Goal)
      Step 8: Wrapping up

       

      2 Product Design: CIRCLES Method by Lewis Lin

      In my mind the Circles Method is based on the above storytelling concept. Very similar to DIGS, just adapted for it’s purpose.
      The CIRCLES Method™ is a framework on what makes a complete, thoughtful response to any product design. It’s an aid that prevents us from forgetting a step. You can also think of it as a checklist or guideline.
      The 5W’s & H also help product manager in asking a right question in the Comprehend Situation stage and gather information about the problem before jumping into solution or some conclusion.
      • What is it?
      • Who is it for?
      • Why do they need it?
      • When is it available?
      • Where is it available?
      • How does it work?”

      3: Metrics AARRR: Startup Metrics for Pirates

      A very helpful framework by Dave McClure, 500 Startups for product managers who need to define success metrics for any product or feature. 
      • Acquisition — How users find you / where or what channels do users come from? E.G Tracking customer signups for a service.
      • Activation — An initial experience great experience?
      • Retention — Do they come back and re-visit over time?
      • Revenue — Can you monetize any of this behavior?
      • Referral — Do they like it enough to tell their friends?
      Lewis C. Lin  way to explain this framework is similar, just shorter without the Referral part. AARM Method

       

      4: Metrics for UX design:  HEART

      The HEART framework designed by Kerry Rodden, Hilary Hutchinson and Xin Fu, from Google’s research team.
      The details are here

      5: 4 Quadrants Time Management: Matrix

      We live in a time pressured world where it is common to have multiple overlapping commitments that all require immediate attention now. Urgency is no long reserved for special occasions, they are an everyday occurrences. Missing deadlines is not the path to advancement or even good job reviews. So how can one manage the flood of responsibilities, do excellent work and maintain a positive frame of mind? The Covey time management grid is a simple yet effective method of organizing your priorities. As you can see from the grid below, there are four quadrants organized by urgency and importance. 
      Before responding to any request, filter them through the  Matrix.
      • Quadrant I – important deadlines with high urgency
        The first quadrant contains tasks and responsibilities that need immediate attention.
      • Quadrant II – long-term development and strategizing
        The second quadrant is for items that are important without requiring immediate action. Covey points out that this quadrant should be used for long-term strategizing.
      • Quadrant III – distractions with high urgency
        The third quadrant is reserved for tasks that are urgent, without being important. Covey recommends minimizing or even eliminating these tasks as they do not contribute to your output. Delegation is also an option here.
      • Quadrant IV – activities with little to no value
        The fourth and last quadrant focuses on tasks and responsibilities that do not yield any value—items that are unimportant and not urgent. These time wasters should be eliminated at any costs.
      The Bottom Line: Do Important things first!
      Using The Matrix
      The matrix has many applications, two will be suggested here. The first and most obvious use of the matrix is to take your current ‘to-do’ list and sort all the activities into the appropriate grid. Then, assess the amount of time you have to accomplish the lists and, if necessary, reallocate activities.
      The second approach is a one week assessment strategy. Make six copies of the matrix  and use one matrix for each day of the week, listing all activities and time spent. At the end of the week, Combine the five individual day data onto one summary matrix (number 6) and calculate the percent of time in each matrix. Then evaluate how well your time is spent and whether you work load needs to be reorganized.

      6: 5 Why’s Framework

      How to get requirement right? What is the exact problem? Are you solving the right problem? This 5 Why’s framework helps product manager to get to the root cause easier.

      7: Prioritization

      Once you decide the list of features or request which you plan to work, but wondering which one to pick or test first, below prioritization frameworks help you in that:

      • Weighted Scoring
      • Impact vs Effort
      • Weighted scoring
      • Kano Model
      Your good product management skills will come into play during the process.  Suggestions regardless of the prioritization method you choose:
      • Approach prioritization as a team activity; not only is does it create buy-in on the team, you get different perspectives. It’s also a lot more fun.
      • Limit the number of items you are prioritizing – focus on the biggest items rather than the details.
      • Categorize and group initiatives together into strategic themes (for example, “improving satisfaction” for a particular persona would be a good way to group).
      • Before you begin prioritizing, it’s helpful if you understand the customer value for each initiative. The customer value should be rooted in evidence that you’ve gathered from customers rather than your opinions.
      • Before you begin, have a rough estimate of cost. Even T-shirt sizing of “small” “medium” and “large” will be helpful during the process.

      8: The Four Ps Model / 4P’s of Marketing 

      4 P’s framework helps in putting the right product at the right price in the right place at the right time.
      • Product – The first of the Four Ps of marketing is a product. A product can be either a tangible good or an intangible service that fulfills a need or want of consumers. Whether you sell custom pallets and wood products or provide luxury accommodations, it’s imperative that you have a clear grasp of exactly what your product is and what makes it unique before you can successfully market it.
      • Price – Once a concrete understanding of the product offering is established we can start making some pricing decisions. Price determinations will impact profit margins, supply, demand, and marketing strategy. Similar (in concept) products and brands may need to be positioned differently based on varying price points, while price elasticity considerations may influence our next two Ps.
      • Promotion – We’ve got a product and a price now it’s time to promote it. Promotion looks at the many ways marketing agencies disseminate relevant product information to consumers and differentiate a particular product or service. Promotion includes elements like advertising, public relations, social media marketing, email marketing, search engine marketing, video marketing and more. Each touch point must be supported by a well-positioned brand to truly maximize return on investment.
      • Place – Often you will hear marketers saying that marketing is about putting the right product, at the right price, at the right place, at the right time. It’s critical then, to evaluate what the ideal locations are to convert potential clients into actual clients. Today, even in situations where the actual transaction doesn’t happen on the web, the initial place potential clients are engaged and converted is online.

      9: 5 C’s of Product Pricing

      What is the best price for your products or services? This 5 C’s framework helps to determine the optimum price tag for your product.
      • Cost
        • This is the most obvious component of pricing decisions. You obviously cannot begin to price effectively until you know your cost 
      • Compatibility / Company objective
        • Is your pricing approach compatible with your marketing and sales objectives? 
      • Customer
        • The ultimate judge of whether your price delivers a superior value is the customer. 
      • Competitor
        • Think about the buyers point of view
      • Channel: Distribution Channel
        • Think about the “middlemen”, margins to motivate, value-add they bring.
      more details here

      10: REAN : Digital Marketing Strategy Model

      The question behind this model:  “How am I going to reach/engage/activate/nurture my potential or current customers?
      What should your digital strategy look like? How should you market your product? Are you using the right channels? The REAN model, popularised by Steve Jackson helps product manager or product marketers to answers those questions easier.
      Download a free guide on how to run the perfect REAN workshop.


      11: AIDA(R) Framework

      The AIDA framework is also popularly used to optimize marketing channel and communication. It describes the effect of advertising media and helps to explain how an advertisement or marketing communications message engages and involves consumers in brand choice.
      • Awareness: creating brand awareness or affiliation with your product or service.
      • Interest: generating interest in the benefits of your product or service, and sufficient interest to encourage the buyer to start to research further.
      • Desire: for your product or service through an ’emotional connection’, showing your brand personality. Move the consumer from ‘liking’ it to ‘wanting it’.
      • Action: CTA – Move the buyer to interact with your company and taking the next step ie. downloading a brochure, making the phone call, joining your newsletter, or engaging in live chat etc.
      • Retention: We all know that this is key to upsell, cross-sell, referrals, Advocacy, and the list goes on.. as companies are also focussing on LTV.
      The additional “R” is sometimes added by some Marketers to show the importance of ongoing relationship building.
      More details here

      12: RFM : Customer Segmentation Model

      The term RFM stands for Recency, Frequency and Monetary Value and it describes a marketing approach for analyzing customer value which is becoming increasingly popular in the e-commerce industry where businesses are starting to focus more on retention strategies. It’s a good customer segmentation technique based on user behavior. It groups customers based on their history how recently, how often and how much.
      • Recency
      • Frequency
      • Monetization
      more detail here.

      13: Porter 5 Forces

      Porter’s Five Forces is a simple but powerful tool for understanding the competitiveness of your product, and for identifying your strategy’s potential profitability.  It helps you for product strategy & roadmap planning.
      • Threat of New Entry. Your position can be affected by people’s ability to enter your market. So, think about how easily this could be done.
      • Threat of Substitution. This refers to the likelihood of your customers finding a different way of doing what you do.
      • Supplier Power. This is determined by how easy it is for your suppliers to increase their prices. 
      • Buyer Power. How easy it is for buyers to drive your prices down.
      • Competitive Rivalry: This looks at the number and strength of your competitors.
      By thinking about how each force affects you, and by identifying its strength and direction, you can quickly assess your product position in the market. You can then look at what strategic changes you need to make to deliver long-term profit.
      more details on how to use it here.

       

      14: STAR

      STAR a popular method to tell stories about accomplishments during interviews.
      • Situation
      • Task
      • Action
      • Result

       

      15:  DIGS

      A slightly adapted version to STAR is the DIGS framework by Lewis C. Lin which also helps to answer the behavioral question in a structured and impactful way. It is closer to the storytelling methodology and emphasis on creating “higher” stakes.
      • Dramatize the situation
      • Indicate the alternative
      • Go through what you did
      • Summarize your project

      Sourcehttp://davidolszewski.com/top-15-frameworks-every-product-manager-wants-to-know