Showing posts with label Project Management. Show all posts
Showing posts with label Project Management. Show all posts

Sunday, April 12, 2015

KanBan - An introduction

Note: Refer Project management main page here

Kanban is way for teams and organizations to visualize their work and identify and eliminate bottlenecks.
Kanban is a method to gradually improve (any business function can benefit from applying Kanban).

In Japanese, the word “Kan” means "visual" and "ban" means "card", so Kanban refers to visual cards. Kanban is a concept related to lean and just-in-time (JIT) production.

Kanban was originally invented as a part of the famous Toyota Production System. It is associated with the design of pull systems and the concept of delivering just-in-time good

KanBan follows a workflow. In simplest terms, it can be a big board with cards placed for each hase.
There are numbers at the top of each phase and these are the limits.
Limiting the amount of work-in-progress (WIP) reveals bottlenecks dynamically so that one can address them before they get out of hand.

Read below for practical explanation:

The board below shows a process where there is a workflow to be followed:
  1. Requirement phase (limit of 5)
  2. Design Phase (limit of 3)
  3. Development Phase (limit of 4)
  4. Testing Phase (limit of 3)
  5. Release (limit of 5)
One can see that the process cannot progress until the testers have finished a task.
This dynamically reveals the bottleneck (in this case its the testing phase).


 Once the testers have finished a task, the task is moved from "Testing" to "Release" and the workflow can now move ahead.


As the workflow moves ahead, its helps to dynamically track the bottleneck. It may not be Testing all the time. Each time (based on various factors like resources, requirement skill etc) a new phase could become a bottleneck.


 If a bug is encountered in the Testing phase, a new requirement is created for the same.



Do let me know your views.
Stay tuned for more Agile based articles.

Sunday, September 28, 2014

Project and Project management (Introduction)

Refer to master index list for project management articles.

While we have spoken about Agile and Scrum in earlier articles, I thought it would help to start a little earlier (defining project and its characteristics).

What is a Project?
A temporary endeavor undertaken to create a unique product, service or result.

When we mention temporary, we do undertsand that every project has a definite beginning and end (does not imply short duration though). Howvever, it's not an ongoing effort.
Once the project objectives are met, the project is terminated (there is no need for a project anymore).

Constraints of Project management:

Constraints of project management is best see via the Triple Constraint Theorem.

Balancing scope, time and cost within the frame work of quality and meeting customer expectations.

You could also look at an alternate way of making a balanced project in the following way:


Limiting scope within the time and cost constraints and quality framework.

Project management knowledge areas
There are multiple project management knowledge areas. I will try to write an article on each one of them separately in the future.

Let me give a brief on the knowledge areas:



Scope management:
Includes all the work required to complete a project successfully. Consists of scope planning, definition, verification and control.

Cost management:
Ensure project is completed within the budget. Consists of estimation, budgeting and cost control.

Time management:
Ensure timely completion of the project. Consists of activity definition, resource and duration estimation, schedule development and control.

Communication management:
Consists of communication planning, report performance and manage stakeholders.

Quality management:
Consists of Quality planning, assurance and control.

HR management:
Human resource planning and develop/manage project teams are its main constituents.

Risk management:
Aspects of projects can put a project delivery under risk. Risk identification,qualitative and quantitative analysis along with response planning and monitoring are the important processes.

Procurement management:
If contracts are needed as part of the project, then we need to plan contracts and will involve lots of administrations.

Project Integration management:
Integration management consists of processes that ensure that various elements of a project are properly coordinated.




Project management

This page lists all the articles in this blog which are related to project management.
As more articles are published, we will update this page accordingly.


Wednesday, February 19, 2014

Scrum - An introduction

Related post: Basics of Agile methodology

Scrum is an iterative project management methodology that is most commonly used for Agile software development project.

Scrum provides a framework for business areas to identify and prioritize required work.

Sprint
A sprint (or iteration) is the basic unit of development in Scrum.
Sprint is restricted to a specific duration (typically 2 to 4 week iteration) to deliver the above identified requirements.

Resources needed in Scrum:

Product Owner:
Product owner represents the business and is responsible for providing high level requirements.

Scrum Master:
Scrum master facilitates the teams work and ensures appropriate practices are being followed.

Scrum Team:
The team working on the requirements.

Sprint planning meetings are held at the beginning of each Sprint.
Product owner, Scrum master and team review the highest priority items to be implemented.

Sprint review meetings are held at the end of each Sprint.
This includes:
  • Demonstration of work done
  • Review of next steps for continuous improvement

Backlog refinement
Backlog refinement is the ongoing process of reviewing product backlog items.
This is the list of work the Development Team must address during the next sprint.

Scrum of Scrums:
Allows clusters of teams to discuss their work, focusing especially on areas of overlap and integration.
One member from each team is designated to meet other designated members (from other teams).
This daily meeting is called the Scrum of Scrums.
The designated members are known as Ambassadors.

Thursday, January 30, 2014

Basics of Agile methodology

Related post: Scrum - an introduction


Agile Software Development

Wikipedia meaning:
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.

Why Agile?
It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight interactions throughout the development cycle.

Agile methods break tasks into small iterations (that typically last from one to four weeks).
Each iteration involves  planning, requirements analysis, design, coding, unit testing, and acceptance testing.
When one iteration completes, demo is shown to the stakeholders.
This minimizes overall risk and allows the project to adapt to changes quickly.


Waterfall method is very sequential. All steps are performed sequentially
  • Analyses of Business requirements
  • Design
  • Implementation
  • Testing

Any issue would imply going back to the drawing board and starting from Step 1.
This adds to the risk!!!

Agile mitigates this risk since evaluation happens after end of every cycle.
Agile methods benefit constantly changing requirements.