Sunday, 30 September 2018

The Entrepreneurship: What is Lean Startup?

           Lean IT is the extension of Lean Manufacturing and Lean Services principles to the development and management of information technology(IT) products and services. In the context of Lean IT is the elimination of waste, where waste is work that adds no value to a product or service. Lean thinking spreads and using in all industries like logistics, distribution, retail, healthcare, construction, maintenance, IT etc., The traditional IT organizations still build the wrong products that customers do not like and after they release them too late, infrequently, with too many errors, time-consuming causes to costly process and accrues high amount of technical debt. The Dev's job is to add features and Ops job is to keep the site stable and fast. The conflicts generate lots of waste like organizational silos, different implementation, and mindset etc., So, every organization should assess its own downtime costs based on its own business model and architecture.

    Definition of Startup: The startup is the human institution designed to create something new under extreme uncertainty. Therefore, it is a management challenge. We don't know what the product and the customer at the initial stage. If you were in the situation of high uncertainty, find out what you don't know as quickly as possible. So, the learning helps you identify what is unknown and allows you to make progress with the product.
          In Lean Startup, there is a concept called Validated Learning. It is the process of using the quantitative methods to modify the end product in a way that becomes more successful. It is a proven method to yourself, your investors, and stakeholders that are getting better the product.  Metrics that provide useful information for the entrepreneur to modify the end product is called Actionable Metrics. On the other hand, Metrics that look very good but essentially useless to portray your success is called Vanity Metrics. Make predictions on metrics that are supposed to happen by avoiding the vanity metrics. When you go product iterations from pivot to pivot quantitatively, not only you learn from abstract, you can apply that learning to change the customer behavior. It is fundamentally the product is a tool for changing the customer behavior and changing the way the world works. In that way, you have the sustainable business.

     If you have the vision and innovative business idea to work on the project. Here are the steps to validate your idea without wasting time, budget, and building something that nobody wants,

Step 1: Write the User Experience Vision - It is the description of the initial setup with ending of High-Level Plan.
Step 2: Identify the Critical Assumptions - It will save a large amount of time waste and ensure that the target customer will actually buy the product. It is actually gathering the behavior of the audience, not the opinion.
Step 3: Build an Early Version to Validate a Critical Assumption: It can be done by Concierge MVP and Smoke Screen MVP. The Concierge MVP is a manual method to test the automated process and Smoke Screen MVP is marketing with a finished product. This helps you to measure the actual customer behavior.
Step 4: Release and Measure: Once the product is released, it is time to measure the number of pre-orders received, average watching time of your product ad on the social media etc.,
Step 5: Pivot or Persevere: If your ad gets trends or more people watching the video, you have the bit more time to tweak the product. The sign of the successful pivot is that this engine-tuning are more productive after the pivot than before.

Continuous Process Improvement: Continuous Improvement or "Lean" is a systematic approach to business management which uses universal principles and tools that are logic based and relatively simple to implement, The key to a Toyota way and what makes Toyota stand out is not only of individual elements. But what is important is having all the elements together as a system and must be practiced in a very consistent manner.

       Lean Startup is a field-tested philosophy that provides you the toolset to minimize the failures and increases your chances of success. Being Lean is the practice that considers any goal other than creating value for the consumer to be wasteful. Just having that plan is enough to the success. The business plan is serious of assumptions and guesses what might be happening in the future? The lean startup aims to quickly and quantitatively identify great hypotheses and the bad ones.
 TPS helps you answer these questions,
 * What do customers truly want?
 * When they want?
 * In the quantity they require without defects?
 * What is the path to the sustainable business?
 * How can you waste less time building a new startup?
The entrepreneur always has the vision. The vision is where you want to go but doesn't have to tell you how to get that. If you have an idea or strategy for the new product, the first step is to create a Minimum Viable Product(MVP). It is the smallest possible product we can possibly imagine. This helps you to figure out the right track or not. It could be a simple prototype or mere elements of the business and it is enough to learn on the right track. Learning is the most vital function of any startup.

What are Lean Principles: The important Lean Principle is that you are always moving from doubt to certainty. It specifies the value from the perspective of the customer. It does not focus on organizational and functional boundaries. It can define as,
    * Looks across the Value Stream and determining customer needs and ensure to make the value flow. Whatever the customer needs every day is most important in value flow without interruption making the customer happy and satisfied.
   * Pull of the customer that do only what the customer wants when they want it. It strives for perfection by continuously removing the successive layers of waste as they were uncovered.

     The Value Stream Mapping technique helps visualize customer value, differentiate value from the waste, and eliminate the sources of waste. Takt Time is the value stream metrics which is the heartbeat of the process. It is the meantime between the request. The pace of the process keeps in order to keep up the pace with demand. If the pace too fast, then the Resource remain idle. If the pace too slow then the work in progress(WIP) builds up. There are 3 types of wastes identified in lean that are Mudi, Mura, Muri ( in Japanese terms ) means as,

Mudi refers to Unnecessary Activities and NonValue
Mura refers to Variation, Variance in the process
Muri refers to Inflexible, Overburdening on the process.

        So, how the lean maximizes customer value by minimizing the waste. Determine the activities by removing those things which are non-value, the one that is necessary but not delivering value, and the one that is really value added. It can describe as,

        The value of the customer can be identified in the products and services. In the product, the factors to be considered are performance, features, timeliness, reliability, aspects, reputation, and completeness etc., The factors in the service to the customer value are competence, reliability, accuracy, responsiveness, courtesy, communication, credibility, understanding etc.,

Why Lean? How do we make sure that we are successful working in the right direction, satisfying the customer requirement, and providing outstanding flow?  By using the Continuous Improvement Methodology, you can reach those goals. Continuous Improvement measures waste in following types,

   * OverProduction - It is a production of what they need and when they need it and not underproduce. Also, it is very costly.
   * Inventory Waste - It is a material or information  that are not required for customer demands
   * Waiting - We experience waiting in a laboratory environment for the next business cycle before the process to be completed. Make sure that the information flow in and out as per the customer need.
  * Motion - It is the necessary movement of people and process. Every movement should add value to the customer and movement should not be impeded.
 * Transportation - An unnecessary movement of people between processes and internal links. Are you using the best value of the product distribution or material?
  * Defects - Anything that has to be redone are considered defects
  * Extra Processing - Process in the environment does not have any value or any extra operations are considered extra processing. The material should be delivered and consumed just in time and no stopping or stagging or inspection.
  * Unused Creativity -The goal is to eliminate waste and allow to think and improve the business.
        With the strategy in mind, the features and functions can be implemented in quick, good and useful to the customer. Here is an example of IT service Management Value Creation,

DBS Management System: It is a standard systematic way to manage the Continuous Improvement in Corporate Culture.  It works on all internet operating company and it has 3 critical components
  1. Daily Management(KPI) - How we serve the customer TODAY and meet current expectations. KPI involves delivering quality, inventory, and productivity. When you enter the new market, we have to think again the breakthrough or redesign through strategy. You need to go through the advance methodology for action planning
  2. Policy Deployment - What are the strategies or goals up to 3 or 5 years in advance and make sure working in the direction satisfied to the customer or business. It is also how we create a sustainable competitive advantage by striving for world-class performance.
 3. Problem Solving - It is everybody's daily work and really looking at improving the KPI. It is the iterative process to bridge the gap of performance which often exists between where we are and where we want to go.
    DBS System increases the productivity without compromising the quality. The Method in Lean is to simply identify the process or product to work online.

Saturday, 15 September 2018

What is Product Management with Lean, Agile and Design Thinking?

         Design thinking is the process to understand and solutions to your user's issues. The representative from every discipline needs to be involved in the design thinking exercise.  The design thinking can describe as a technique to bring business and technology partners together, create the solutions for real user needs and test whether solutions will generate business benefit before you invest time in coding. It ensures that all different perspectives are covered and that everyone is on the same page.
      There are three mindsets of product development, and design thinking is how we explore and solve the problem. Lean is the framework to test the beliefs and learn to the right outcomes. Agile is how we adapt to the changing conditions with the software.

       Design thinking is the customer-focused process. It helps you to identify and fix real customer pain points. It also helps the measurable understanding of which your ideas are likely to be successful with your customers. If you are running lean or agile style project method, you'll be going through build, test, learn iterations. Design thinking starts on these iterations faster and helps you prioritize the order in which to build things so that you can get early benefit and feedback on your ideas. With design thinking processes, you get multiple opportunities to check-in with potential customers and make necessary course corrections.

Design Thinking Process: Good design thinking involves all the stakeholders responsible for building the product. It is the systematic steps that show the team how the user data translated into a usable and a valuable interfaces. The design thinking cycle includes a validation phase where you build the design concepts and test with your customers. It also helps you plan, and prioritise the implementation details so that to move straight into the development process. Here are the steps in the design thinking process,

 1. Finding the Real Problem: It starts with in-person research to find out where your customer's issue lie. They can show you the problems they have. Recognizing and solving these problems likely delightful for the customer which translates into business value.  Watching your customer performing their real tasks, then talking to them about the experiences gives you insights into what is going on, but not why. Once you have the insights from your customer observation, you can turn them into prioritize list of goals for what your new product should achieve. Setting the measurable goals helps you ensure that you are really delivering the business benefit.

 2. Ideation: Ideation takes many forms, and it involves all the different disciplines on your team. Getting insights from the whole team based on the idea will lead to more creative solutions. The creative part is something the value of the agency. The most logical, practical, grounded individuals create wonderful design ideas.

 3. Prototyping: Paper prototype creation and usability testing are fast, cheap, and easy ways to see whether we covered all angles. If the prototype created in a day, then the usability test with consumers done on the next day to see how well it works with them. It is necessary to understand the concept and changes need to make before the product is ready for development. The paper prototype usability testing is only the first of many customer check-ins and other metrics gathering activities aimed to stay on-track during the development process. To figure out what type of prototype you need to create, try to answer these questions in the four categories,
    * Generate New Ideas

    * Convey Complex Interactions

    * Document Design Intent

    * Learn how users react to your Ideas

 4. Implementing: It is the process after you have been through this build, test, learn-cycle with the paper prototype to create high-level planning for building the product. The plan you create should be incremental. It's a setup to deliver the business benefit early in the process and add functionality piece by piece releasing after each new addition. This lets you test the product at multiple points to meet your goals and are delivering something that people will use. The research and marketing team can say which items are likely to appeal to the customers' and encourage them to use the product. Designers create a template and design field for the product with the good understanding of what items needed later, so things fit together go well.

      In Design-thinking process, you have got early customer-centric design input and prototype feedback so you can be more confident that your solutions will be accepted. The frequent deliverable and opportunities measure progress against your initial goals that allow you to course correction through the development and implementation process. Lean is a business process to test new ideas quickly and get the business benefits faster by using the feedback from those tests to decide what element of the product to work next. Agile is the technical process used to build new ideas quickly and test those ideas, using the things you learn from the tests drive the next iteration.

Agile Development Practices: In agile development, everyone needs to work together. It is not only the designer and developer, and it includes clients, stakeholders, and tester. Communication is the king. From the developer and designer needs to open up a channel of direct communication as early as possible and that lasts throughout the project.

Planning Phase: In this phase, choose the technical and managerial toolsets that include,

  * Project Management Software

  * Version Control

  * Third Party Libraries

For agile project tracking, start with simple tools like Airtable, Trello, Pivotal Tracker. These are basic kanban boards that you can create your user stories, backlog, and sprint on. If you want some powerful tool, you can jump into JIRA, Hansoft.
    By the design phase of an agile project, the technical team needs the good understanding of the product they are building. It is good idea to have the short document with project standards. This includes how to write version control commits, user stories, and anything needs to be standardized across the team.

Design Phase: The main advantage of the agile software development is to focus on iteration. So, the code base will be updated very frequently. The code needs to handle heavy iteration without architecture overhauls at every sprint. The project architecture goes as to keep things modular. It starts with a constant awareness of what is being built and how it is built. The goal is to deliver working software. So, it is not only to consider how you write the clean code but how you can make it as flexible as possible for later expansion.

Development Phase: In agile development, velocity is the measurement that is used to determine how much work an agile team can do over the period of time. It is also called as sprint velocity. Velocity depends on how your team decides to weigh user stories and tasks. Being that velocity is the measurement over time, the question at the beginning of the project is how to set the baseline. The rule of thumb to think of potential velocity as about 30% of your actual sprint time. Whether you hit the mark or not that will tell you a lot about how and other developers work and what needs to improve. Once you have the baseline velocity, each successive sprint can be planned more effectively.

   There are 2 programming methodologies that go well in agile development that Pair Programming and Test-Driven Development. In Pair Programming, two developers sit at one computer, one writing code, and other watching and offering advice, direction, and the possible improvements. The benefits of this method are many, first, the code is written by 2 peoples result in less error and more elegant coding solutions. It increases the level of competence and knowledge that every member of the agile team with practical software delivery with the credit for the code written is shared. The Test-Driven development is more time intensive programming practice and powerful. First, you write the failing test. This is a red phase. Next, you write the production code to pass that failing test. After your code passes from the green phase, that gets into the refactoring phase.

Testing:  One of the critical decision you'll have to make for your project is how to handle testing. In agile, the best way to test the software project is to use the test-driven development. Another method of testing is manual testing. This can be done by your client, stakeholders, dedicated quality assurance team or developer themselves. If you're manually testing, you need to have a dedicated tester or testing time set during each sprint. Here is the way to handle the bugs in test-driven and manual method,

       For instance, Sprint1 is finished and starting Sprint2 right away. Ideally, We have done the quality assurance test at the end of the Sprint1. There will always be the bugs that come after the test. In the middle of the Sprint 2 and a few bugs and change request come back in backlog. So, how to deal with these things. First, Keep the record of specific bugs are found in. Second, you have to address the bug as early as possible. The important thing is not letting them down in the production code for too long. Third, if you have got the bugs stacking up towards the end of a sprint, consider the next sprint focused on clearing them up and load up less on new development work. Treat them bugs and change request as backlog items that are same as development feature or user story.

Release: It is how we handle the integration code for multiple developers so that the code base doesn't fragment. As the problem suggests that, we need something that can handle the code integration and later deployment with multiple developers working concurrently.  So, the Continuous Integration(CI) is the solution.  The new commit is pushed to the project repository. It's tested against a defined test suite. If it passes, it's deployed into the testing platform or release to the public. While CI is concerned with integrating and validating your codebase, a release pipeline will focus effectively managing the different configurations.