Showing posts with label Agile Process. Show all posts
Showing posts with label Agile Process. Show all posts

Monday, October 5, 2015

Value Stream Mapping As A Process Improvement Tool


#SridharPeddisetty #Agile #PMO #ValueStreamMapping #Lean #Kanban #Value #Stream #Mapping #BestPractices #ProcessImprovement  

“If you can't describe what you are doing as a process, you don't know what you are doing” 
― W. Edwards Deming

What is Value Stream Mapping?

Value Stream Mapping is a lean tool, which employs a flow diagram documenting in detail every step of a process. It is the fundamental tool to identify waste, reduce process cycle times, and implement process improvement.

Why use Value Stream Mapping?

Organizations no longer compete on product or service but they compete on experience of faster to market with quality results. In order to enable Organizations to achieve their strategic objectives, continuous improvement of the quality of products, services or processes must be ongoing. Value Stream Mappings help identify and eliminate source of waste in an Organization's development ecosystem. It is an invaluable technique to define the current state of a process and analyze it for opportunities to reduce time spent on non-value steps. 

How to use Value Stream Mapping?

Below is an example of how Value Stream Mapping was employed for identifying the wastes in current ‘As Is Process’ and then eliminating the wastes for improving the overall process in ’To Be Process’. 
In the Figure: ‘As Is’ Process, wastes in the process are marked by a triangle identifying where tasks are taking too long either by redundancy or following unecessary steps. Value Stream Mapping provides an opportunity to identify steps in the process, which provides value to the development process and those that do not. 

                                                        Figure: 'As Is’ Process
In the Figure: ‘To Be’ Process, wastes are eliminated and Value Stream Mapping is applied to create a future state process that reduces total cycle time


                                                      Figure: ‘To Be’ Process

Summary

Apply the method of Value Stream Mapping to an inefficient process within your organization and learn how to calculate the efficiency of a process from end-to-end. Learn to diagram the 'As Is' process to identify areas of waste and then develop the 'To Be' process that reduces total cycle time. An organization's ability to learn, and translate that learning into action rapidly, is the ultimate competitive advantage and Value Stream Mapping is the tool for providing that efficiency in process improvement. 
"Without continual growth and progress, such words as improvement, achievement, and success have no meaning"- Benjamin Franklin
Value Stream Mapping As A Process Improvement Tool was originally posted under Prokarma Blog on Oct 5th 2015

Saturday, December 20, 2014

Top 20 Tips for Project Managers


Project managers are responsible for the successful initiation, planning, execution, monitoring, controlling and closure of projects. According to the Project Management Institute (PMI), a project is temporary in that it has a defined timeframe, and therefore defined scope and resources. Also, a project is unique in that it is not a routine operation, but a specific set of operations designed to accomplish a singular goal. Project teams often includes people who don’t usually work together – sometimes from different organizations and across multiple geographies.
Project management is the application of knowledge, skills and techniques to execute projects effectively and efficiently. The following 20 tips (not necessarily in any particular order) are good references while managing a project.

  1. Take good care of your project team and your team will take care of client, which in turn will take care of business
  2. The project is all about delivery and keeping stakeholders (internal/external) informed
  3. At any given point of time a project manager should know what tasks need to be done, who should do it and have an ETA
  4. Always be on top of the RAID (Risks, Assumptions, Issues, & Dependencies) log as RAID is a critical factor for a successful project outcome
  5. No plan is perfect so always have Plan B. Circumstances change frequently so always consider the alternatives
  6. Projects are 90% planning and 10% implementation
  7. Plan, Execute, Review and Adjust
  8. Be adaptable and flexible while thinking outside the box
  9. A good communicator is a good listener. By listening you may learn something new while speaking repeats what you already know
  10. Always remember the 80/20 rule (Pareto Principle), which means by executing 20% of the work you can get 80% of the benefit
  11. Break the whole plan into milestones and scope them accordingly including the development of checklists for each milestone to verify quality as project work incrementally iterates
  12. Understand the dynamics of 'Definition of Ready' and 'Definition of Done'
  13. Design a robust feedback loop to learn lessons along the way and strive to continuously improve
  14. Negotiate achievable commitments by separating people from problems
  15. You cannot manage and improve what you cannot measure
  16. 6 P's of Project Management: Proper Planning Prevents Poor Project Performance (If i had 4 hours to cut down a tree, i would take 3 hours to sharpen the axe)
  17. Get the right people involved including the experts you need and proactively seek guidance 
  18. Trust but always verify. Direct communication is a key for forging trustworthy relationships
  19. Plans are nothing; planning is everything. Planning is a continuous process including progressive elaboration or rolling wave planning
  20. The difference between a good project manager and a great project manager are the leadership skills they possess
What are your top tips for a project manager? Please leave a comment to share your tips.


Top 20 Tips for Project Managers was originally posted under Prokarma blog on Dec 10th 2014

Sunday, June 22, 2008

What is Agile Software Development

According to the definition in Wiki
Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project
Agile is a set of processes for software development, that uses iterative, incremental techniques and relies on self organizing, self managing, cross functional teams.
Software developed during one unit of time is referred to as an iteration, which may last from one to four weeks. Each iteration is an entire software project: including planning, requirements analysis, design, coding, testing, and documentation. An iteration may not add enough functionality to warrant releasing the product to market but the goal is to have an available release (without bugs) at the end of each iteration. At the end of each iteration, the team re-evaluates project priorities. Agile methods emphasize working software as the primary measure of progress. From a product perspective, agile methods are more suitable when requirements are emergent and rapidly changing.

Companies are moving to agile processes because the technology marketplace demands its suppliers be highly responsive to change. In order to compete in the global economy, companies must move quickly to provide solutions to a client base that has more and more choices available to them. Agile approaches promise faster delivery of working code, higher quality, and an engaged development team that can deliver on its commitments. Traditional waterfall, with its long phases and heavy investment in “big up-front design,” lacks the flexibility to swiftly respond to the market.

Agile is a different way to work, one that requires greater communication and cooperation from its participants and greater leadership from its managers.

10 Key Principles Of Agile Software Development
  1. Active user involvement is imperative
  2. The team must be empowered to make decisions
  3. Requirements evolve but the timescale is fixed
  4. Capture requirements at a high level; lightweight & visual
  5. Develop small, incremental releases and iterate
  6. Focus on frequent delivery of products
  7. Complete each feature before moving on to the next
  8. Apply the 80/20 rule
  9. Testing is integrated throughout the project lifecycle – test early and often
  10. A collaborative & cooperative approach between all stakeholders is essential
From an organizational perspective, the suitability can be assessed by examining three key dimensions of an organization: culture, people, and communication.

In relation to these areas a number of key success factors have been identified (Cohen et al.)
The culture of the organization must be supportive of negotiation
  1. People must be trusted
  2. Fewer staff, with higher levels of competency
  3. Organizations must live with the decisions developers make
  4. Organizations need to have an environment that facilitates rapid communication between team members
Principles behind agile methods — The Agile Manifesto
Some of the principles behind the Agile Manifesto are:
  1. Customer satisfaction by rapid, continuous delivery of useful software
  2. Working software is delivered frequently (weeks rather than months)
  3. Working software is the principal measure of progress
  4. Even late changes in requirements are welcomed
  5. Close, daily cooperation between business people and developers
  6. Face-to-face conversation is the best form of communication
  7. Projects are built around motivated individuals, who should be trusted
  8. Continuous attention to technical excellence and good design
  9. Simplicity
  10. Self-organizing teams
  11. Regular adaptation to changing circumstances
Agile Vs Tradition Methodology
Both agile and traditional development recognize the triple constraint: cost, schedule, and scope. But whereas traditional development advocates locking down the requirements so that schedule and cost can be estimated, the agile approach says that scope is always changing and therefore schedule and cost should be fixed. This way projects don’t become death marches, and the product is developed in a fashion where it’s in a perpetual releasable stat
Agile means completely new environment where the team makes decisions instead of being told what to do. It means more individual responsibility for team members, and more facilitation skills required for the project manager