Friday, 20 May 2016

Kanban Methodology

With IT systems becoming a major competitive factor in a many domains, We have IT projects which are getting larger and complex by the day, directly or indirectly affecting more and more parts of the organization, the demand is to complete this projects at a much faster pace than earlier, so if something does go wrong this ends up posing a major risk to the company. With evolving technologies in the software industry it is vital to maintain a managing methodology that enables you to deliver products on time and with high quality. 

What is Kanban?
Kanban is a set of tools you can use to become more agile i.e. improve the functioning of a project based on an Agile methodology. Kanban is a methodology for managing work by concentrating on delivery while not over stressing the team members with a lot of work at any given point of time. This approach allows all participants to have a complete view of the process right from the creation of tasks to the final delivery of a product to a customer. 


Kanban is less structured than Scrum. It’s not a process framework at all, it introduces change through incremental improvements. Kanban makes use of a Kanban board to represent the work and workflow. The Kanban board has columns representing states/activities involved in the development of an application/software, for instance the different states can be Analysis, Development, Testing, Deployment etc. 

How does Kanban improve agile?
An important element of the Kanban methodology is WIP (Work in progress limit) limit. The WIP limit defines the number of work items are allowed to be in a certain state at any given point in time. If a state reaches its defined WIP limit, no new work items can be added to that state. The whole team has to help clear the filled up state first. The WIP limit allows to track work items trapped in a particular state as they will build highly visible clusters on the Kanban board, therefore allowing the team to focus and clear items in the state first before pulling in other tasks. 

Why Kanban?
The Kanban method does not prescribe a certain setup or procedure. Kanban can be implemented on top of an existing workflow or process to bring issues to light to introduce positive change over time. This makes it easy to implement Kanban because it does not call for major changes to the existing way in which projects are being run.

Where do we start to work with Kanban?
There are a few core properties which can help implement Kanban smoothly
  • Visualize and decide the workflow: Kanban helps optimize the flow of work through the system, to do that we need to understand the existing workflow to aspire to improve it by making the necessary adjustments.
  • Visualize your incoming work requests: Any project plan that has been defined can be disrupted if the forecasting of future incoming/adhoc requests is not properly done. It is also important to categorize these requests on the basis of priority and impact before stacking them on the Kanban board
  • Limit WIP: The critical factor in Kanban is that WIP tasks in each state in the workflow is limited by a defined capacity and that new work can be pulled only when there is available capacity in accordance with the local WIP limit. Thus a properly defined WIP limit can work wonders in making Kanban to work for a project.
  • Regular feedback loops: Regardless of the models you use, you need to have regular feedback as it is crucial to success. This feedback isn’t limited to responses from people. This can include analyzing adherence to the checkpoints, involving the team for comments and suggestions, etc.
Conclusion: 
To sum it all up, If you are not continually improving, but are conforming to the other parts defined by Kanban, you are missing the point. It is a little like the concept of following an Agile methodology but not being agile.

About Author:
Chandan Amonkar is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: chandan.amonkar@spluspl.com

Wednesday, 18 May 2016

Service Portfolio Management

Service Portfolio Management is the process of collection of services to meet customer requirements and describe it in terms of value to the business.The main task of the Service portfolio management process is to provide a set of tools / applications / Services. It helps for assessing and approval of new or changed services and to manage the IT services throughout their lifecycles.

Service Portfolio Management contributes to the service development life cycle by achieving the following goals:
  • Maintain the documentation of each service operation
  • Set standard activities and procedures for new services, service delivery
  • Making continuous improvement of services by reviewing at regular interval
The service portfolio maintains three categories of services, defined by lifecycle phase:
  • Services in Pipeline: Services that are planned or in development,but not yet available to the consumers
  • Service in Catalog: Services that are currently released and deployed or ready for the consumers
  • Retired Services: Services that are no longer active
Service portfolio management includes sub processes as below:


Define:
Define the problem or business scenario and gather information / details to solve the defined problem.

Analysis:
In this process, analyse the impact of the new services or change in existing services, long term business goal, market value, demand, technical feasibility, capability and financial availability. It helps to develop or set up the service which meets with the requirement.

Approve:
Management checks the Service proposal by reviewing the impact, objective, benefits, business value, risk etc. If Service proposal is beneficial, management gives approval to initiate or incorporate the design of new service or change in existing service.

Endowment:
After approval, communicate the decision to respective team to allocate resources, planning,design, budget, etc. for the new service or change in service.

Advantages or Value add to my Business:
  • It helps to get an insight to choose a best service which is aligned with your business goal
  • Improves the performance of the business as right Services are created and provided at the right time for right cost
  • It helps to diversify business by providing information about current market trends
  • It helps in cost reduction by providing information of upcoming services, duplicate services, inefficient services, unnecessary or unused services where we can take decision for service creation, improvement, delivery or retirement
Conclusion:
Service Portfolio Management helps to quickly find out the service as per requirement and business-based decisions regarding services.

About Author:
Deepak Borole is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: deepak.borole@spluspl.com

Monday, 16 May 2016

Business Analyst Documentation - Bare Essentials

Apart from the various tasks that a Business Analyst(BA) has to perform, documentation is one of the most integral job functions of a BA. BA prepares numerous documents throughout the course of the project. All these documents are created to fulfill various project needs and they cater to audiences belonging to different domains of a project. The type and specifications of a BA’s document depends upon parameters like organization’s processes and policies, expectations of the business and the stakeholder requirements. 


Every specified document has a pre-defined template (as agreed by all the parties in the project) and it’s a part of the overall project documentation. The list of common documents a Business Analyst creates which are extensively used throughout the course of any project are as follows: 


Let’s understand these documents in a bit more detail.

1. Project Vision Document

Project Vision Document is mainly created by the Project Manager (Client Side) but Business Analyst is also expected to input his/her contribution to this document. A Project vision document encompasses the purpose and need of the product/software to be developed and also gives an overview about the required business objective. 

The Project vision document mainly contains:


2. Requirement Management Plan

Requirements Management Plan is used to effectively manage requirements right from the start to the end of the project i.e. from Project Initiation up to Project Delivery. Requirement Management Plan contains all the necessary information required to that helps in project management. This plan is created in the Planning Phase of the project and its target audience are the Project Manager, Business Analyst, Team Lead and any senior leaders whose is entitled to carry out the plan. 

The Requirement Management Plan basically contains: 


3. Business Requirement Document (BRD)

A Business Requirement Document is used to describe the business requirements of the project and the end result that is expected from the Product/process. It is one of the most widely accepted and used project requirement document that is referred throughout the development life-cycle for any project. BRD mainly concentrates on countering the business solution and is mainly concentrates on the business requirements.

The Business Requirement Document contains:


4. Use Cases

The goal of each and every project is to implement the project as per the requirements and the document which explains these requirements elaborately is a use case. Use case is a methodology that is used in system analysis in order to identify, define, clarify and organize system requirements with the help of actors and system. Use cases are generally used to show the users perspective and contains all system activities that have significance to the users. It can also be a collection of scenarios related to a particular requirement. 

The Use Case document contains:


5. Functional Requirement Specification (FRS)

Functional Requirement Specification gives an in-depth description of the system including data, input, operations, output and the other properties of the system. In a BRD, requirements are high level but in a FRS, they are described in much more details to capture all the aspects of the requirement. Hence a FRS is more technical, precise and descriptive requirement document. As the document is technical, FRS are usually used by developers, QA and the business stakeholders of a project.

The Functional Requirement Specification (FRS) also known as Functional Specification Document (FSD) contains:


6. System Requirement Specification (SRS)

A detailed document that has information about the how the product has to function and explains software, hardware, behavioral and functional requirements of the system. This document does not contain any major technical information and is only used to elaborate the requirement from the functionality perspective. 

The System Requirement Specification (SRS) contains:


7. Test Case

Writing a Test Case does not explicitly come under a BA’s task list but a BA should have a fair understanding about how a Test Case is written. BA’s don’t create Test Cases but use them for testing functionalities of the product. Thus, a test case is a standardized document which is be referred when a requirement is implemented and ready to be tested. 

The components of a test case are:


Conclusion:

All the above documents that are created by a BA are a crucial part of the project. The documentation standard might change from organization to organization and project to project but the core content remains the same.

About Author:
Sachin Poojary is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: sachin.poojary@spluspl.com

Tuesday, 10 May 2016

Data Loss Prevention

Have you ever imagined, your confidential data being possessed by someone you don’t even know and its consequences. Gosh!

This can be a reality!

Nowadays data is more transferrable and accessible than ever before, giving rise to the fear of loss and misuse of the data. Leakage of data could cause embarrassment, financial loss etc. depending upon the criticality of the data. Data Loss Prevention (DLP) detects and prevents the unauthorized transfer or access of the confidential data.

DLP is the identification and monitoring of the sensitive data to ensure that it is only accessed by authorized users and that there are safeguards against data leaks.

What types of data are to be protected?
In order to protect and prevent data loss, it is important to understand what types of data are at stake.
  • Data in motion: It should be confirmed that the data moving over the network is going to the authorized user. The data in motion can leak through HTTP, FTP, SMTP, and P2P etc.
  • Data in use: The data residing on end user workstations, laptops are data in use. The data in use can be leaked using USB, Emails, Web mails, HTTP/HTTPS etc.
  • Data at rest: Any type of repositories that holds the data like databases are data at rest. There could be data leakage due to unauthorized access, data theft etc.DLP products are designed to detect sensitive data.

It is important to identify the sensitive data and ensure that there is structured use of the sensitive data. The data should reside at right place, accessed and owned by right people.

Data Loss Prevention Approach
To implement data loss prevention, following activities should be considered:
  • Data Classification: Most of the organizations are not aware of the types of information and their locations. The first task is to identify the sensitive data and their flows. It is very important to understand the data life cycle.
  • Establish high level policies and processes: After classifying the information, policies should be created or modified to define the classifications and ensure proper handling.
  • Implementation: DLP Implementation should first be in monitoring mode, so that its impact to the business processes could be predicted. DLP is implemented by preparation of the process to be used, deployment plan, setting deployment policies and ultimately managing the overall process.
  • Remediation of Violations: DLP solutions provide the information about the sensitive data and its transmission. So the organization can address the issues. They should be prepared to address and prioritize the issues in best possible manner. The analysis and decisions should be documented for audit purpose.
  • Ongoing DLP program: The DLP solutions should be monitored. The rules should be reviewed and optimized periodically. The impact of the patches and upgrades of the DLP solutions should be tested. Awareness should be spread about the DLP solution through various programs and training.

Benefits of DLP solution
  • Some of the benefits of the DLP solutions implementation are the following:
  •  Protection of critical data
  • Enhancing the business processes as per the requirements.
  • Managing and optimising the storage space like file server and network bandwidth.
  • Reducing the damage caused by malicious software by alerting or blocking the data streams.

Conclusion: Data Loss Prevention is the strategy of identifying and protecting the unauthorised transmission and access of the sensitive information.

About Author:
Madhumita Mishra is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: madhumita.mishra@spluspl.com

Monday, 9 May 2016

A Guide to Write Effective Use Cases


Use Cases portray how an actor will interact with a system to give an output which is of importance to the user or the stakeholders. Actors are the users who will interact with the user interface. Use case specifies a list of actions or steps between an actor and the system. Thus, use cases are dynamic models which describe how the state of various objects changes when events occur. Use cases are not design specifications. They are user requirements which can be portrayed in a diagrammatic form, text form, flow/sequence charts or programming languages; which describe the functionality of the system that provide value. They are effective means of communicating detailed information to meet the project development goals and help in achieving business goals.

Use Case Diagrams

Use case diagrams are a type of Unified Modelling Language diagrams, defined by Object Management Group, through which one can analyse the use cases. They provide realistic overview or visual reference of the components of use cases. These diagrams can be made depending upon the relationship between the actors and the system. They help in identifying needs of the user.

Effective Ways for Writing Use Cases

The definition of a use case sounds simple, but when it comes to depicting them, it takes a lot more than just a clear understanding of the definition. There are various factors involved which need to be taken into consideration for writing or presenting an effective use case.

  • Firstly understanding what a use case is (and is not), different terminologies involved while making use cases, important elements of use cases, information required for making the flow, kind of flows involved, etc.
  • It is important to concentrate on the result of a use case and not just its functionality. Without an effective result, a use case holds no value. 
  • They should be UAT based. 
  • Use cases should be like the pieces of puzzle, which fit together to create a story. They should be structured well, to form a clear picture of the scenario. 
  • It becomes easier to portray the whole picture by breaking down the process and modularize it. But again, one should be able to tell the entire concept to illustrate end-to-end framework. References help to achieve this goal. Never use references in the main flow as it can divert the focus from the main flow to another flow, which is not advised. 
  • Create a single main flow for a particular use case. Don’t try getting into making multiple for the same process. This will defy the purpose of the use case and create confusion in what goal needs to be achieved. The main flow should capture details when things go right and target is accomplished. 
  • One can create alternative flows. They explain the process when there is a deviation from the normal path. These variances can be errors or exceptions. However, these deviations are not comparatively important to the main flow. 
  • Try putting yourself in the actor’s shoes and analyse the situation. Write or represent the use case based on this analysis so that it makes the system user-friendly. 
  • Write a use case in a way which leaves no ambiguity while narrowing down at the goal to be accomplished and understanding the system from user-perspective. One can achieve this by putting into practice the above ideas and doing more research work to better oneself. 

Conclusion

A well written use case with a steady approach becomes a way to achieve business goals. Users, stakeholders as well the development team should unanimously agree and understand the approach chosen. It not only makes the development part easier, but also lends the system a quality in terms of obstacle free operation along with the simplicity of system. Also, an organization can come up with a standardized way of documenting the guidelines for making use cases.

About Author:
Devika Vaghela  is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: