Tech Product Development PDF

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Summary

This document provides an overview of tech product development, including topics such as product owner roles, business models, Agile methodologies (Kanban and Scrum), market research, user segmentation, personas, and revenue models. It covers essential aspects of product lifecycle management for technology-based products.

Full Transcript

Shahruz Hasanli Tech Product Development Product Owner and Business Analyst Business part Tech part Agile and workframes Product Development fundamentals Infrastructure Market research Cloud (IaaS,PaaS,SaaS)...

Shahruz Hasanli Tech Product Development Product Owner and Business Analyst Business part Tech part Agile and workframes Product Development fundamentals Infrastructure Market research Cloud (IaaS,PaaS,SaaS) User segmentation and persona Database Market size UML Agenda Monolithic and Microservice architecture Business Model Developers (Backend, Frontend and Devops) Product Backlog Technical task Backlog management API design Acceptance criteria REST and SOAP BPMN API documentation OKR and KPI Swagger and Postman Metrix Encryption standards UX/UI design fundamentals SQL Product Roadmap and release planing What is the Agile methodology? Agile methodology is a project management framework that breaks projects down into several dynamic phases, commonly known as sprints. The Agile framework is an iterative methodology. After every sprint, teams reflect and look back to see if there was anything that could be improved so they can adjust their strategy for the next sprint. What is the Agile Manifesto? The Agile Manifesto is a document that focuses on four values and 12 principles for Agile software development. It was published in February 2001 by 17 software developers who needed an alternative to the more linear product development process. What are the 4 pillars of Agile? 12 Agile principles As outlined in the Agile Manifesto, there are four main values of Agile project management: Individuals over processes and tools: Agile teams value team collaboration and teamwork over working independently and doing things "by the book.” Working software over comprehensive documentation: The software that Agile teams develop should work. Additional work, like documentation, is not as important as developing good software. Customer collaboration over contract negotiation: Customers are extremely important within the Agile methodology. Agile teams allow customers to guide where the software should go. Therefore, customer collaboration is more important than the finer details of contract negotiation. Responding to change over following a plan: One of the major benefits of Agile project management is that it allows teams to be flexible. This framework allows for teams to quickly shift strategies and workflows without derailing an entire project. Agile methodologies The Agile framework is an umbrella for several different variations. Here are a few of the most common Agile methodologies. Kanban Kanban is a visual approach to Agile. Teams use online Kanban board tools to represent where certain tasks are in the development process. Tasks are represented by cards on a board, and stages are represented in columns. As team members work on tasks, they move cards from the backlog column to the column that represents the stage the task is in. This method is a good way for teams to identify roadblocks and to visualize the amount of work that’s getting done. Read: A beginner's guide to Kanban boards Scrum Scrum is a common Agile methodology for small teams and also involves sprints. The team is led by a Scrum master whose main job is to clear all obstacles for others executing the day-to-day work. Scrum teams meet daily to discuss active tasks, roadblocks, and anything else that may affect the development team. Sprint planning: This event kicks off the sprint. Sprint planning outlines what can be delivered in a sprint (and how). Sprint retrospective: This recurring meeting acts as a sprint review—to iterate on learnings from a previous sprint that will improve and streamline the next one. Design Thinking Product Development process Market research Regulation and Compliance Goal setting Prototype and MVP Development Team Formation Marketing and Launch Cost/Budget Analysis Customer Feedback and Improvements Risk Analysis Measurement and Analysis Market research & analysis Benchmarking & Competitor Benchmarking gathers actively compares competitors' data with your brand, while analysis gathers detailed information about what a competing brand offers. SWOT Stands for strengths, weaknesses, opportunities and threats PESTEL A PESTEL analysis helps an organisation identify the external forces that could impact their market and analyse how they could directly impact their business CJM A customer journey map (or CJM) is a visual representation of the process your customers go through when interacting with your company. Business requirement document ( BRD) A business requirements document is a report detailing everything a new project requires for success Awareness: The point at which a customer first encounters a product or service. At this stage, the customer typically becomes aware of the company. Consideration and Research: The customer conducts research to gather information and compare products or services. Decision: The customer makes a decision to purchase a product or service. At this stage, they evaluate alternatives and make a choice. Purchase: The customer buys the product or service. Usage: The customer starts using the product. At this stage, the performance and user experience of the product or service become crucial. Satisfaction and Loyalty: If the customer is satisfied with the experience of the product or service, they may develop loyalty to the company and be inclined to make repeat purchases or recommendations. What is a business requirements document (BRD)? A business requirements document is a report detailing everything a new project requires for success. This document outlines project objectives, what’s expected throughout the project lifecycle, and what’s required to accomplish the project. The seven components of a BRD are: Executive summary Project objectives Project scope Business requirements Key stakeholders Project constraints Cost-benefit analysis User segmentation User segmentation is the process of separating users into distinct groups, or segments, based on shared characteristics. A company might segment users based on language preferences, product version, geographical region, or user persona.A company might segment users based on language preferences, product version, geographical region, or user persona. With thoughtful user segmentation, product teams can study how user behaviors vary between segments, then design personalized experiences for each segment. What are the most common types of user segments? While each company may prioritize different user segments, there are several segments common to most organizations. This list includes: Demographic: Information about the individual user, such as their age, location, language preferences, title, or role. Firmographic: Information about the user’s organization, like industry, revenue, employee count, or business model. Technographic: Information on the other technologies the user’s organization uses, including CRM provider, marketing automation tools, back office systems, or databases. Customer data: Information stored in a CRM about the customer’s relationship with the company, such as plan type, customer journey stage, annual revenue, account owner, or renewal date. Behavioral: Information about how the individual user has interacted with the product, including number of logins, pages viewed, features clicked, support tickets created, and time on site. Psychographic: Information on a user’s likes and dislikes, including product sentiment. This data can be captured with measures like Customer Satisfaction (CSAT) or Net Promoter Score (NPS). Persona What is market size? If you're thinking of starting a new business, you may be wondering, 'what is market size?' Market size refers to the total number of potential customers who could buy your product or use your service. This number of potential customers is usually measured over a set period, often over a year.It's beneficial to know how many sales you're likely to make before you launch a new product or service since that can determine how profitable your business is likely to be. It can help you find out whether it's a worthwhile investment or not. For example, if you're planning to open a new sandwich shop, you could look at how many people work in offices or workplaces nearby who could buy their lunch in your shop. That helps you work out if there's a market for the type of food you're hoping to sell. Example Info: There are around 1000 companies that have active monthly spending of around 10K from business cards. In the worst case, if we sell the minimum package (5 users), it is 175 USD each, which makes our ARR 2.1M USD. Potential markets: Kazakhstan, Uzbekistan, Turkiye Kazakhstan: 12K Businesses that fit ICP - 25M ARR USD Uzbekistan: 5K Businesses that fit ICP - 10.5M ARR Turkey: 15K Businesses that fit ICP - 31M ARR USD What is Business Type? An eCommerce model is a business strategy that allows businesses and consumers to interact online over the internet. eCommerce websites provide a platform for consumers to view product information and make purchases. How to Choose Your eCommerce Business Model? Choosing the right eCommerce model is an important decision that affects your finances, time, and efforts. You must ask yourself some primary questions before you choose one. Let’s review a few examples: What do you want to sell and how much you’ll sell it for? Will you sell a single product or want to sell a range of products? Who is your audience? Who are they? What are their needs? What do they want? Which factors will you compete on? (selection, quality, price, service, or something else) Getting these questions answered will help you to understand the different eCommerce business models, the various eCommerce platforms, and how each would benefit your eCommerce business. Sales Model Revenue Models Example: A retail store selling clothing or a software company selling licenses for its product. Subscription Model Example: Netflix or Spotify, where users pay a monthly fee to access content. Freemium Model Example: Dropbox offers free cloud storage, but users need to pay for more space or additional features. Advertising Model Example: Google and Facebook offer free services but earn the majority of their revenue by showing targeted ads to their users. Commission/Brokerage Model Example: eBay or Uber, which take a percentage of each transaction between buyers and sellers, or between drivers and passengers. Licensing Model Example: Microsoft licenses its Windows operating system to PC manufacturers. Pay-Per-Use Model Example: Amazon Web Services (AWS), where businesses pay based on the computing power and storage they use. CapEx vs. OpEx Organizasyon Şeması Key Takeaways. Capital expenditures are a company's major, long-term expenses while operating expenses are a company's day-to-day expenses. Examples of CapEx include physical assets, such as buildings, equipment, machinery, and vehicles. Examples of OpEx include employee salaries, rent, utilities, and property taxes. OPEX, which stands for operating expenses or expenditure, refers to the costs incurred by your business via the production of goods and services. It can include a broad range of expenses, including materials, labor, machinery, packaging, shipping materials, and so on. Unit Economics EBITDA (Earnings Before Interest, Taxes, Depreciation, and Amortization) Definition: EBITDA represents a company’s earnings before interest, taxes, depreciation, and amortization. It measures a company's operational profitability by excluding costs related to debt, tax liabilities, and non-cash accounting items like depreciation. Formula: EBITDA = Net Profit + Interest + Taxes + Depreciation + Amortization Example: If a company has a net profit of $1 million, interest expense of $100,000, taxes of $200,000, and depreciation and amortization of $50,000: EBITDA = 1,000,000 + 100,000 + 200,000 + 50,000 = $1,350,000 Markup: The percentage added to the cost price of a product to determine its selling price. It’s calculated based on cost. Formula: Markup (%) = [(Selling Price - Cost) / Cost] × 100 Example: If a product costs $50 and sells for $75: Markup = [(75 - 50) / 50] × 100 = 50% Margin (Profit Margin): The percentage of the selling price that turns into profit. It’s calculated based on the selling price. Formula: Margin (%) = [(Selling Price - Cost) / Selling Price] × 100 Example: For the same product, margin calculation: Margin = [(75 - 50) / 75] × 100 = 33.3% Unit Economics Turnover (Revenue) Definition: Turnover refers to the total revenue a company generates over a specific period. It reflects the company's overall sales volume. Example: If a company generates $10 million in revenue during 2023, that amount is its turnover for the year. Profit Definition: Profit is the financial gain after deducting all expenses from total revenue. There are two main types: Net Profit: Profit remaining after all expenses, taxes, and costs have been deducted. Gross Profit: Revenue minus the cost of goods sold (COGS), reflecting the profit from core operations. Example: Sales: $500,000 COGS: $300,000 Gross Profit: $500,000 - $300,000 = $200,000 Net Profit: Gross profit minus all other operating expenses (taxes, salaries, rent, etc.). Unit Economics Revenue Definition: Revenue refers to the total income generated by the sale of goods or services before any expenses are deducted. Example: A company generating $5 million annually from product and service sales has an annual revenue of $5 million. Gross Profit Definition: Gross profit is the profit a company makes after deducting the costs associated with producing and selling its products, but before deducting other expenses like taxes or overhead. Formula: Gross Profit = Revenue - COGS Example: If a company has $500,000 in sales and COGS of $300,000: Gross Profit = $500,000 - $300,000 = $200,000 Net Profit Definition: Net profit is the final profit after all expenses, taxes, and other costs have been deducted from revenue. Formula: Net Profit = Revenue - (COGS + Operating Expenses + Taxes + Interest) Example: If a company earns $500,000 in revenue and has total expenses of $400,000: Net Profit = $500,000 - $400,000 = $100,000 Monthly Recurring Revenue (MRR) & Annual Recurring Revenue (ARR) Definition: MRR: The consistent, predictable revenue generated by subscription-based businesses each month. ARR: The total recurring revenue that a company expects to earn annually from subscriptions. Example: If a company earns $10,000 per month in subscriptions, its MRR is $10,000 and ARR is $120,000 ($10,000 × 12 months). Unit Economics Customer Acquisition Cost (CAC) Definition: CAC represents the total cost associated with acquiring a new customer. It includes marketing, sales, and any other expenses involved in bringing in customers. Formula: CAC = Total Sales and Marketing Costs / Number of New Customers Acquired Example: If a company spends $50,000 on marketing and sales and acquires 500 new customers: CAC = $50,000 / 500 = $100 Customer Lifetime Value (CLV or LTV) Definition: Customer Lifetime Value measures the total revenue a business can expect from a single customer throughout their relationship with the company. Formula: LTV = Average Purchase Value × Purchase Frequency × Customer Lifespan Example: If a customer typically spends $100 per purchase, makes 5 purchases per year, and remains a customer for 2 years: LTV = $100 × 5 × 2 = $1,000 ROI (Return on Investment) Definition: ROI is a measure of the profitability of an investment. It indicates how much profit or loss is made relative to the initial investment. Formula: ROI (%) = [(Net Profit from Investment - Investment Cost) / Investment Cost] × 100 Example: If you invest $10,000 in a project and earn $12,000, the ROI is: ROI = [(12,000 - 10,000) / 10,000] × 100 = 20% NPV (Net Present Value) Definition: NPV represents the current value of a series of future cash flows, discounted back to their present value. It helps determine whether a project is profitable when taking into account the time value of money. Example: If a project is expected to generate $1,000 per year for 5 years with a discount rate of 10%, and the initial investment is $3,500, the NPV calculation would show whether the project’s cash flows exceed the investment when accounting for the discount rate. Unit Economics Gross Margin Contribution (GMC) Definition: GMC is the amount of profit a product or service contributes after deducting variable costs, expressed as a percentage. Formula: GMC (%) = [(Revenue - Variable Costs) / Revenue] × 100 Example: If a product generates $100,000 in revenue and has $40,000 in variable costs: GMC = [(100,000 - 40,000) / 100,000] × 100 = 60% Churn Rate Definition: Churn rate is the percentage of customers who stop subscribing to a service or product within a specific time period. Formula: Churn Rate (%) = (Customers Lost During Period / Total Customers at Beginning of Period) × 100 Example: If a company has 1,000 customers at the start of the month and loses 50: Churn Rate = (50 / 1,000) × 100 = 5% Epic /User story "Epic" and "User Story" are terms commonly used in the context of Agile software development methodologies, such as Scrum. They are tools to help manage and describe the work that needs to be done on a project, particularly when developing new features or improving existing ones. Epic: Definition: An Epic is a large body of work that can be broken down into smaller tasks or stories. It represents a substantial and often high-level piece of functionality. Scope: Epics are typically too big to be completed in a single iteration or Sprint. They provide an overarching view of a feature or a set of related features that deliver significant value to the end-users. Example: If you're building an e-commerce platform, an Epic could be "Payment System Integration" or "Enhance User Authentication." User Story: Definition: A User Story is a small, well-defined piece of functionality that delivers value to the end-user. It is a concise description of a feature told from the perspective of the person who desires the new capability, usually a user or a customer. Scope: User Stories are small enough to be completed within a single iteration or Sprint. Example: For an e-commerce platform, a User Story could be "As a registered user, I want to be able to save items to my wishlist so that I can purchase them later." Backlog Management Cumulative Flow MoSCoW Model Kano model Relative Prioritization Risk-Value Model Diagram (CFD) Must-Have (M) The Kano Model is used to This model prioritizes items This model evaluates both the evaluate user satisfaction and CFD is used to visualize the Should-Have (S) relative to each other. The potential risk and the value can also assist in prioritizing progress of a project or Could-Have (C) team decides which items are each item would bring. features. It categorizes features product. By showing the Won't-Have (W) more important than others Prioritization is then done into three types: Basic, status and transitions of items and determines the priority based on the combinations of Performance, and Excitement. It in the backlog, it supports order. risk and value for each item. can be employed for prioritizing teams in making prioritization features based on these decisions. categories. Backlog Points Using the Fibonacci Sequence When I say "using the Fibonacci Sequence," I mean utilizing it as a relative estimation scale, often employed for assigning story points or Backlog Points. The numbers in this sequence are derived by adding the two preceding numbers: 0, 1, 1, 2, 3, 5, 8, 13, 21, etc. This scale is used to understand the relative complexity between items. For instance, if an item receives a score of 2, it means it is less complex than an item with a score of 5. The Fibonacci Sequence generally reflects the reality that uncertainty and complexity increase as you move to higher scores. For instance, when assigning Backlog Points to a user story: For a simple feature: 1 For a moderately complex feature: 3 For a more complex feature: 8 A proof of concept (POC) is a demonstration of a product in which work is focused on determining whether an idea can be turned into a reality. Test&PreProd & Prod Problem Identification: Root Cause Analysis Clearly define what the problem is. The problem could be low performance, errors, customer complaints, or any other issue. (RCA): Definition and Data Collection: Gather data related to the problem. This may include Example information about when, where, and how the event occurred. Identification of Immediate Causes Determine the direct causes of the problem. This step involves identifying events or factors contributing to the occurrence of the problem. Root Cause Analysis (RCA) is the process of Root Cause Analysis identifying the fundamental causes of a Identify the root causes underlying the problem. In this step, examine broader perspectives such as policies, processes, or systems that contribute to the problem. problem. This analysis aims not to address the surface symptoms but to pinpoint the Development of Solution Recommendations underlying root causes of an issue. RCA is a Based on the identified root causes, develop solution recommendations to prevent the problem from recurring crucial part of an organization's continuous Implementation of the Solution improvement efforts, intended to prevent Apply the proposed solution recommendations. This may involve changing recurring problems. business processes, providing training, or updating systems Monitoring of Results Monitor the effects of the implemented solution. Evaluate whether the problem recurs and assess the effectiveness of the developed solutions. Example: Let's say a company's production line is producing defective products, necessitating a recall when they reach customers. When the RCA process is applied: Identification: It is determined that defective products are reaching customers. Data Collection: Data is collected on which products are defective, the processes involved, and which customers are affected. Immediate Causes: Direct causes are identified, such as misconfigurations of a machine on the production line and inadequate quality control processes. Root Cause Analysis: Deeper reasons are explored, such as a lack of training, weaknesses in the process, and machine configuration errors. Solution Recommendations: Recommendations for solutions are developed, including organizing training programs, strengthening quality control processes, and implementing automatic checks for machine configurations. Implementation of the Solution: The proposed solution recommendations are put into practice. Monitoring of Results: The effects of the implemented solution are monitored, including a decrease in the number of recalls and improvements in quality control data. RCA is a powerful tool for preventing problem recurrence and continuously improving processes. What is Business analysis? Who is Business analyst? Business analysis is a research discipline that aims to identify business needs and find solutions to business problems. Solutions often include a software-systems development component, but may also consist of process improvement, organizational change, strategic planning, and policy development. The process involves understanding how organizations function to accomplish their purposes and defining the capabilities an organization requires to provide products and services to external stakeholders. It includes the definition of organizational goals, how those goals connect to specific objectives, the determination of the courses of action a company needs to undertake to achieve those goals and objectives, and the identification of the resources required to enable those actions. A Business Analyst (BA) is a professional who performs business analysis tasks. The role of a Business Analyst can vary greatly from one company to another, depending on the company's size, industry, and structure. However, the core responsibilities often include: Identifying and defining business needs and opportunities. Eliciting, documenting, and analyzing requirements from stakeholders. Modeling business processes and identifying areas for improvement. Facilitating communication between stakeholders to find mutually acceptable solutions. Supporting the implementation of solutions, which may include software, process changes, or strategic planning and policy development. Ensuring that the solutions meet business needs and objectives through monitoring and evaluation. Business Analysts serve as a bridge between stakeholders in an organization, including its IT staff, management, employees, and customers, to ensure that technology solutions align with business needs and strategic goals. They use various techniques to analyze data, workflows, user or stakeholder inputs, and technology issues related to proposed solutions. Needs Analysis Process Analysis Requirements Analysis Methods: Surveys, Interviews, Focus Groups. Methods: Workflow Diagrams, Process Modeling Tools. Methods: User Stories, Use Cases, Metrics: Customer Satisfaction Rates, Order Processing Time, Metrics: Process Duration, Costs, Error Rates, Efficiency Requirements Gathering Sessions. Market Segment Growth Rates. Improvements. Metrics: Requirements Completion Example Scenario: An e-commerce company aims to boost its Example Scenario: A manufacturing company seeks to enhance the Rate, Change Requests, Scope Creep sales. By conducting a needs analysis through customer surveys efficiency of its production lines. Process analysis through Rate. and sales data review, it identifies critical needs for enhancing workflow diagrams and modeling tools reveals bottlenecks in the Example Scenario: A bank plans to customer experience, streamlining order processing, and tapping current production processes, leading to targeted improvements update its mobile banking application. into new market segments to drive growth. that reduce waste and increase throughput. Requirements analysis, through user stories and use case sessions, captures specific user needs for new Stakeholder Analysis Competitive Analysis features and improvements, ensuring the update aligns with customer expectations and enhances user Methods: Stakeholder Mapping, SWOT Analysis, Interviews. Methods: PEST Analysis, Porter’s Five Forces Model. satisfaction. Metrics: Stakeholder Impact and Interest Levels, Engagement Metrics: Market Share, Growth Rates, Customer Preferences. Levels. Example Scenario: A mobile app developer wants to strengthen its Example Scenario: A city hospital is planning to deploy a new market position. It conducts a competitive analysis, utilizing PEST patient tracking system. Through stakeholder analysis, using analysis and reviewing competitor app features, pricing, and stakeholder mapping and interviews, the hospital identifies the customer feedback, to identify unique value propositions and potential impacts on various groups including doctors, nurses, areas for innovation. Data Analysis management, and patients, ensuring their needs and concerns are addressed in the system design. Methods: Statistical Analysis Tools, Risk Analysis Cost-Benefit Analysis Data Visualization, Machine Learning Algorithms. Metrics: Trends, Patterns, Anomalies, Methods: Risk Matrix, Risk Assessment Surveys, FMEA (Failure Methods: NPV (Net Present Value), IRR (Internal Rate of Return), Predicted Values. Modes and Effects Analysis). Payback Period Calculations. Example Scenario: A retail company Metrics: Risk Probability, Impact Severity, Risk Priority. Metrics: Total Cost, Total Benefit, Cost-Benefit Ratio. aims to refine its sales strategy. Data Example Scenario: A software development project needs to be Example Scenario: A company considers investing in a new analysis, using statistical tools and completed within a defined timeframe and budget. Risk analysis, Customer Relationship Management (CRM) system. A cost-benefit data visualization, identifies sales employing risk matrices and FMEA, identifies potential risks such analysis, using NPV and IRR calculations, demonstrates the trends and customer behavior as technical challenges and resource constraints, facilitating the financial viability of the investment by comparing the anticipated patterns, informing targeted development of mitigation strategies to ensure project success. benefits in customer engagement and sales growth against the marketing campaigns and inventory implementation costs. management adjustments. Business Requirements Executive Summary. BR, in the context of project management and Business Objectives system development, stands for Business Requirements. Business Requirements are Scope and Limitations statements of the needs, expectations, and Stakeholder Analysis functionalities that a business seeks to achieve Business Requirements. through a project, system, or solution. They Functional Requirements articulate what a business must do to meet its Non-Functional Requirements objectives, solve problems, and capitalize on Data Requirements opportunities. These requirements are typically documented in a Business Requirements Acceptance Criteria Document (BRD), which provides a comprehensive Project Constraints description of the rationale for a project or Assumptions and Dependencies system, including its objectives, scope, and Appendices constraints. ACCEPTANCE CRİTERİA AC stands for Acceptance Criteria, which are the specific conditions and standards used to verify that a project, feature, or product meets business requirements and user needs. These predefined criteria define the necessary conditions for the functionality or feature to be considered successfully completed and accepted. Acceptance Criteria are typically defined at the beginning of the development process, collaboratively by business analysts, project managers, and stakeholders. Clearly defining these criteria helps to limit the scope of the project, manage expectations, and provide clear objectives to the development team. Elements that Acceptance Criteria Should Include: 1. Measurable: Acceptance criteria must be measurable and concrete, so whether a feature or function meets the desired requirements can be objectively assessed. 2. Testable: Criteria should be testable, meaning they can be verified through tests conducted by the development team or quality assurance team. 3. Specific and Clear: Acceptance criteria should be stated specifically and clearly, avoiding any general statements to prevent misunderstandings or ambiguities. 4. Reflect User Perspective: Criteria should be developed from the user's perspective, focusing on user experience and meeting user expectations. 5. Define Completion State: Acceptance criteria clearly define the state in which a feature or project is considered "completed." Examples of Acceptance Criteria: 1. For a Website: When a user fills out the registration form and clicks the "Sign Up" button, they should receive a verification email and be able to complete their registration by verifying their email address. 2. For an E-commerce Application: After a user adds a product to the cart, the cart page should accurately display the added product's name, price, and quantity. 3. For a Mobile App: The app should launch within 5 seconds even on low internet speeds and provide access to the homepage User Stories User Stories typically describe why a feature or function is important, who it is important for, and the expected benefit in a short, simple statement. Acceptance Criteria define how we will know if the user story has been successfully completed. Example: User Story: As a website user, I want to reset my forgotten password so that I can regain access to my account. Acceptance Criteria: Given the user has navigated to the "Forgot Password" page, when they enter their registered email and submit the request, then an email should be sent to them containing the password reset link. Given the user clicks on the reset link, when they enter a new password and confirm it, then the password should be updated successfully, and the user should be redirected to the login page with a success message. Gherkin Language (Given-When-Then) The Gherkin language is part of Behavior-Driven Development, used to write human-readable and understandable test scenarios. The "Given-When-Then" format helps express the acceptance criteria of a feature as a scenario. Example: Feature: Online Payment Checkout Scenario: Successful credit card payment Given: the customer has selected products and proceeded to checkout, When: they enter their valid credit card information and submit the payment, Then: the payment should be processed successfully, And: a confirmation message with a transaction ID should be displayed, And: an email receipt should be sent to the customer's email address. Checklist Model The checklist model presents acceptance criteria in a checklist format. Each list item represents a specific requirement that must be met for the feature or project to be considered successful. Example: Feature: Blog Post Creation Tool Acceptance Criteria Checklist: - Users can access the blog post creation tool from the dashboard. - Users can enter text into the post body, title, and summary fields. - The tool supports rich text formatting, including bold, italic, and underline options. - Users can attach images to the post body. - A preview option allows users to see how the post will look before publishing. - Users can save drafts of their posts. - Once published, the post is visible on the website within 5 minutes. -The post creation date and author name are automatically displayed with the published post. Technical Task Task Description: "Develop User Login Page" Requirements: Ability to log in using username and password. "Remember Me" option. "Forgot My Password?" link. Asking a security question after three unsuccessful login attempts. Task Scope: Estimated Duration: 2 weeks Development of the frontend and backend for the user login page. Database integration. Resources: Excludes CAPTCHA integration. Frontend: React Backend: Node.js Dependencies: Database: PostgreSQL Approval of the database schema. Availability of the Security API. Responsibilities: Frontend Development: John Doe Delivery Criteria: Backend Development: Jane Smith Users must be able to successfully log in. Database Management: Alex Johnson An appropriate error message should be displayed if the username/password is incorrect. Monitoring and Reporting: The "Remember Me" function should automatically recognize the Progress reports to be presented at weekly team meetings. user on their next visit. Business Process Model and Notation Business Process Modeling Notation (BPMN) is a flow chart method that models the steps of a planned business process from end to end. A key to Business Process Management, it visually depicts a detailed sequence of business activities and information flows needed to complete a process. User Flow A user flow is a chart or diagram showing the path a user will take in an application to complete a task. Product teams build user flows to intuitive design products, present the correct information to users at the right time, and allow users to complete desired tasks in as few steps as possible. BPMN AND USER FLOW Tools: draw.io / visio Icons Business Process Model and Notation BPMN collaborative diagram Swimlanes Flowchart OKRs vs KPIs: What’s the difference and which should you use? Daily/ Monthly Active Users (DAU/MAU) Key metrics Conversion rates for Product Sprint Burndown Chart Net Promoter Score (NPS) Owners Release Frequency Carry Over / Technical debt HADI ICE USER EXPERİENCE User Research Wireframe Persona User Journey Usability Testing Focus Group Interview A/B Testing Mockup Eye Tracking https://marvelapp.com/examples Roadmap UML Diagrams UML 2.2 specification defines two major kinds of UML diagram: structure diagrams and behavior diagrams. Structure diagrams show the static structure of the system and it's parts on different abstraction and implementation levels and how they are related to each other. The elements in a structure diagram represent the meaningful concepts of a system, and may include abstract, real world and implementation concepts. Behavior diagrams show the dynamic behavior of the objects in a system, which can be described as a series of changes to the system over time. UML 2.2 diagrams are categorized hierarchically as shown below: UML Class Diagram The UML Class diagram is a graphical notation used to construct and visualize object oriented systems. A class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's: classes, their attributes, operations (or methods), and the relationships among objects. Classes In UML class diagrams, a class is represented by a rectangle divided into three sections: 1. Class name (top section) 2. Attributes (middle section, e.g., variables or data fields with types like string, int, boolean, etc.) 3. Methods (bottom section, which contains functions or operations) Associations and Relationships Associations between classes define how they interact or are related. Key relationships include: 1. Generalization (Inheritance): A solid line with a hollow triangle, indicating that one class inherits from another. Example: Vehicle → Car 2. Association: A solid line that connects two classes, indicating they are related. Multiplicity: Indicates how many instances of a class relate to instances of another class: 1: Exactly one instance. 0...1: Zero or one instance (optional association). *: Many instances. Example: A Company has multiple Employees (1 to * relationship). Aggregation: Represented by a hollow diamond, it shows a "whole-part" relationship where the part can exist independently of the whole. Example: A Library has Books (aggregation), but the Books can exist without the Library. Composition: Represented by a filled diamond, indicating a stronger "whole-part" relationship where the part cannot exist without the whole. Example: A House has Rooms (composition); if the House is destroyed, the Rooms no longer exist. Data Types for Attributes String: Represents a sequence of characters (text). Example: name: String (A person's name) int (Integer): Represents whole numbers, positive or negative. Example: age: int (A person's age) float / double: Represents decimal numbers. float is single precision, while double is double precision (more accurate). Example: salary: double (An employee's salary) boolean: Represents a true/false value. Example: isActive: boolean (Is the person active in the system?) char: Represents a single character. Example: initial: char (The initial letter of a name) Date: Represents a specific point in time, including day, month, and year. Example: birthDate: Date (A person’s date of birth) List or Array: Represents a collection of items of the same type. Example: grades: List or grades: int[] (A list of a student's grades) Set: Represents an unordered collection of unique elements. Example: certificates: Set (A set of unique certificates an employee holds) Map: Represents key-value pairs, where each key maps to a value. Example: phoneNumbers: Map (Maps types of phone numbers, like "home" or "work," to their corresponding numbers) Enumerations (Enum): A set of predefined constants. Example: gender: Gender where Gender could be an enum like enum Gender { MALE, FEMALE, OTHER } Sequence diyagramı Sequence diagram is the most common kind of interaction diagram, which focuses on the message interchange between a number of lifelines. Sequence diagram describes an interaction by focusing on the sequence of messages that are exchanged, along with their corresponding occurrence specifications on the lifelines. The following nodes and edges are typically drawn in a UML sequence diagram: lifeline, execution specification, message, combined fragment, interaction use, state invariant, continuation, destruction occurrence. Monolithic vs. microservices: How to choose the right one for your ecommerce? Building a new ecommerce platform from scratch or changing your tech stack can be tedious and time-consuming, which is why it's crucial to choose the right architecture approach for your business needs. Here, there are two paths you can follow: 1.Monolithic 2.Microservices What is microservices architecture? The basic idea behind microservices architecture is to split up applications into small, self-contained services that can be deployed and updated separately from the rest of the system. This allows for more speed, flexibility, and scalability as they can be deployed on different servers and scaled independently. Microservice-style applications communicate directly via APIs without going through centralized points. So instead of your app having many different types and sizes of services, each component will only need lightweight libraries provided by their respective vendor frameworks. Because of this, microservices architecture can be better for development teams that want to build fast, scalable systems with high availability rates. Using microservices is a modern and practical approach to meet evolving user needs and experiences that are becoming increasingly important, especially in enterprise projects. In enterprise projects, meeting fast-changing user needs and providing valuable experiences is becoming increasingly important to ensure growth. Using microservices architecture makes it possible to address those needs quickly and keep up with shifts in the market. Learn about microservices orchestration and how to ensure that each service works seamlessly within an app ecosystem A lot depends on the complexity and size of your business; this will be one of the most significant factors in deciding whether to go with microservices vs. monolithic legacy systems. If you plan to expand your ecommerce business, then you might need to consider migrating from a monolithic to a microservices architecture. The core of microservices architecture: the API-first approach This API-first approach is the secret sauce to many of the benefits offered by microservices in terms of performance and scalability: An API-first approach makes it easier to integrate third-party applications with your eCommerce system – you can easily plug in and unplug your chosen solutions. It makes it easier to scale your eCommerce system, as you can add new functionality by simply adding new APIs. This approach makes it easier to test your eCommerce system, as you can test each integration independently. Microservice architecture is an excellent solution for maintaining data integrity because each microservice has its own database. If one service experiences a problem, other services won't be affected. This also enables each application to use the database best suited to its needs. What is monolithic architecture? Monolith architecture is a more traditional approach to ecommerce setup where the entire application is built as a single unit. This can make the development and deployment more straightforward, but it also makes the application slower and more challenging to scale. A monolithic application is more complex to update and maintain than one using microservices, which is one of the biggest disadvantages of monolithic architecture. Additionally, it is an almost impossible task to scale individual parts of such an application because all components are bundled together. BACK-END Overview: Backend refers to one of the two fundamental parts in software development. It is the behind-the-scenes portion of a computer program or a web application that operates without user interaction, processing, storing, and managing data. RESPONSİBİLİTİES Data Processing Data Storage Server Management Business Logic TECHNOLOGİES Backend can be built using various programming languages and frameworks. Examples include Node.js, Python, Ruby, and frameworks such as Django (Python), Flask (Python), and Express.js (Node.js). TECHNOLOGİES Backend can be built using various programming languages and frameworks. Examples include Node.js, Python, Ruby, and frameworks such as Django (Python), Flask API (Python), and Express.js (Node.js). (APPLİCATİON PROGRAMMİNG INTERFACE) DATABASES Backend communicates with the frontend using APIs, which facilitate data exchange between different systems. FRONT-END Frontend is the user interface of a computer program or a website. It includes all the graphics, text, buttons, and other elements that the user sees and interacts with. Simply put, everything you see when you open a web page is created and managed by the frontend. WHAT SHOULD ONE KNOW? HTML (Hypertext Markup Language) CSS (Cascading Style Sheets) JavaScript Responsive Design Web Browsers and Developer Tools Frameworks and Libraries Web Security iOS & Android COMMON RESPONSİBİLİTİES iOS Developer Application Development: Both iOS and Android An iOS developer is someone who creates mobile developers design and develop applications that run on applications for Apple's operating system, iOS. iOS is the users' devices. operating system that runs on Apple devices such as iPhones, iPads, and iPod Touch. iOS developers typically Testing: They test developed applications on different use Apple's proprietary programming language, Swift, to devices and under various conditions. develop applications. An iOS developer specializes in creating user-friendly, fast, and secure mobile Updating and Maintenance: They update and maintain applications. existing applications, adding new features as necessary. Android Developer Platform Compliance: Both developers adhere to guidelines and standards specific to their platforms. An Android developer is someone who designs mobile applications for Google's operating system, Android. Performance Improvement: They optimize applications Android is an operating system that runs on various manufacturers' devices. Android developers usually use for better performance and an enhanced user programming languages such as Java or Kotlin to experience. develop applications. Android developers specialize in creating user-friendly and effective mobile applications Security: They implement security measures to protect that adapt to different screen sizes and device features. user data and ensure the safety of applications. Path parameter. Example Mailchimp Path param https://stripe.com/docs/api/customer_bank_accounts Thanks !

Use Quizgecko on...
Browser
Browser