Will your Agile Transformation be an Epic Failure?

AgilePicture-2

Image credit: Miranda Kumar (at age 8)

For the last 20 years I have been in the business of helping companies get better at developing software products. I started my career believing that the highly structured processes like CMM Level 5 will magically take care of the software projects woes. After two disappointing years, I moved on to Rational Unified Process (aka RUP). After another 6-7 years of disappointments with RUP the natural progression in my thinking and (coincidently) software development process evolution took me down to the path to Agile. My success with Agile processes has made me a believer in the process.

Unfortunately, many of the teams that start their journey towards the Agile land don’t ever reach there. Across the board I have found some common traits in the teams that failed with their Agile transformation effort. In this article I have shared all of them. Feel free to add more from your experience in the comments below.
Continue reading

Posted in Agile, AGILE Tools, JIRA, JIRA on Demand. Tagged with , , , , .

Infographic: Connecting Products, Services and Operations to Company Vision

Recently we completed an engagement to redesign organizational structure for a mid size product company. The goal for this effort was create new structure to give autonomy to departments and subsidiaries while leveraging a set of shared processes and tools and to connect related products and services for the better customer experience. We have put together a visual of the framework for approaching this product rationalization, process modeling and organization redesign effort. The framework connects the company Vision to Customer Needs, Products/Services and Operational People, Processes and Tools.

This framework can be used for organizational restructuring and process redesign for rolling out new tools such as salesforce.com Sales Cloud, Service Cloud and other CRM products.

Following is the Infographic of the framework. Feel free to use it for your organizational and process modeling effort for initiatives like salesforce.com rollout. Ping me if you have any questions or comments.

 

Value based Business Architecture / Org Architecture

Infographic connecting the vision to customers to products, services and operational people, process and tools.

Posted in Agile, Organization Culture, Process Change Management, process engineering, Salesforce.com.

How To Create Your First Rest Web Service

What is web services?

mirketa-webservices1

 

web service is a piece of software that makes itself available over the internet and uses a standardized XML messaging system. XML is used to encode all communications to a web service. For example, a client invokes a web service by sending an XML message, then waits for the corresponding XML response.

There are mainly two types of web services.

    1. SOAP web services.
    2. RESTful web services.

 

Components of Web Services

    • SOAP (Simple Object Access Protocol)
    • UDDI (Universal Description, Discovery and Integration)
    • WSDL (Web Services Description Language)

 

Soap web services: – SOAP is XML based protocol. It is platform and language independent. By using SOAP, you will be able to interact with other applications designed in different programming languages.
Continue reading

Posted in Agile, AGILE Tools, HTML/CSS, HTTP, J2EE, JAVA, Java Script, REST API, WEB SERVICES, XML. Tagged with , , , , , , , , .

Programmatically Create Select Type Custom Field In Jira

In order to create a custom field type, you should be aware of basic plugin development.

Please follow the following steps to create an advanced custom field type in Jira.

    1. Create a basic Jira plugin skeleton. For creating Jira Plugin please refer to the given linkhttps://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project/create-a-helloworld-plugin-projectAfter creating a Basic plugin skeleton modify your atlassian-plugin.xml and add the following code in your atlassian-plugin.xml.
    2. After creating a Basic plugin skeleton modify your atlassian-plugin.xml and add the following code in your atlassian-plugin.xml. <customfield-type key=”Jira-Cf-Type-field” name=”Jira-Select CFType” class=”com.atlassian.jira.plugin.customfield.JiraCustomFieldType”><description>Create Your Own Advance Custom Field Type</description>                             <resource type=”velocity” name=”view” location=”templates/plugins/fields/view/view-basictext.vm”/><resource type=”velocity” name=”edit” location=”templates/edit- jiraselectcftype.vm”/><resource type=”velocity” name=”xml” location=”templates/plugins/fields/xml/xml-basictext.vm”/>

      </customfield-type>

                                          

      com.atlassian.jira.plugin.customfield.JiraCustomFieldType – class which extends an available CustomField Class to provide an entry point for the custom field.
      Continue reading

Posted in Agile, AGILE Tools, J2EE, JAVA, Java Script, JIRA, JIRA on Demand. Tagged with , , , .

Qualities of a Good Programmer

Programming is a very challenging domain as it requires a lots of patience and concentration. Before learning any programming language, one must have the attitude to not give up till one finds the solution. Programming language is just a way to solve a problem but logical skills and ability to solve the problem are the basic requirements of a good programmer.

Following are 7 essential qualities of a good programmer:
Continue reading

Posted in Agile, AGILE Tools, JAVA, salesforce administrator. Tagged with , , , .

Lightening Process Builder

A quick look at the “Lightening Process Builder”.

Overview

People in salesforce world uses automated processes a lot. We all know that almost each and every CRM of salesforce has a workflow associated with it. Workflow assists in assigning several actions like sending emails, sending outbound messages, assigning tasks to other users and updating fields based on rule criteria and evolution criteria and sometimes based on specified time as well. But to make the automation process easier, a new process came into the picture – “Lightening Process Builder”. This provides a graphical representation of the process a person builds. In other words, we can call it a type of visual workflow.

mirketa-lightening process builder workflow

 

Demonstration:

Following functions are available in “Lightening Process Builder”:
Continue reading

Posted in Agile, Salesforce, salesforce customization, salesforce development, sfdc.

View State

View State:  As the name suggests, is an error of View State. “Maximum view state size limit (135KB) exceeded” is the error message pertaining to “View State” error and here follows a brief detailing of the issue.

View state holds the state/size of the visual force page that includes the components, field values and controller state. This is important in the light that salesforce provides only a standard size of 135kb for any individual page. If the size of a particular page exceeds 135kb, the page will throw a view state error.

mirketa-viewStateError
A screenshot showing a view state error in salesforce

Continue reading

Posted in CSS, Salesforce, salesforce administrator, salesforce certified, salesforce certified developer, Salesforce Challenges, salesforce customization, salesforce development, Salesforce.com. Tagged with , , , , .

Artificial Intelligence

Nanotechnology, BigData and Artificial Intelligence are a few among the most hyped and fast growing technologies in 2016.
Here is a brief introduction about Artificial Intelligence.

Artificial: Man made.

Intelligence: Ability to understand, learn and think.

Artificial Intelligence refers to the technology involved in building a system that can behave, think, understand and learn like a human being.

So, the first question that pops into our head is – What is A.I.?

mirketa-AI

According to John McCarthy “AI is concerned with the design of intelligence in an artificial device or artifact.”

Artificial intelligence (AI) is intelligence exhibited by machines. In computer science, an ideal “intelligent” machine is a flexible rational agent that perceives its environment and takes actions that maximize its chance of success at some goal.

Some other definition of AI

Artificial Intelligence is usually defined as the science of making computers do things that require intelligence when done by humans.

Or

A.I. is the study of ideas that enable computers to be intelligent.
Continue reading

Posted in Agile. Tagged with , , , .

OAUTH 2.0 AUTHENTICATION FOR THIRD PARTY APPLICATIONS

Most of the APIs now-a-days incorporate oauth 2.0 authentication. It is not as complicated as it may seem at times, provided the right links and documentation are found. Microsoft APIs are extremely helpful and useful, but to access them from a third party application is when its needed, for the entire process of registration and access token retrieval, to be followed; to comply with the oauth authentication in place.

For office365 (2016) APIs the links that would help access these APIs would be of the format https://outlook.office.com/api/{version}/me/

me – represents the logged in user
{version} – v2.0 or v1.0
/… – events (for outlook calendar API)

The first step, as hundreds of websites mentions, is to register the application. To be a little more comprehensive on this point, I would like to mention that it is not required to deploy any kind of code or application into the registration portal.

https://apps.dev.microsoft.com is free if you have access to a Microsoft office account.

The registration process is a way of letting Microsoft know that a particular app is going to access its APIs. It is a good practice to name the app appropriately as it will appear on the screen when the application, that is being developed, navigates to the login page.

mirketa_oAuthAppRegistration

Application id is the client id which is needed to be provided in the headers when requests are made for authorisation code and access token.
Continue reading

Posted in Agile, AGILE Tools, J2EE, JAVA, Java Script, JIRA, UI, WEB SERVICES. Tagged with , , , , .

Introduction to Version Control System

A version control system, to a great extent, is based around the concept of tracking changes that happen within a collection of directories or files.

A version control system (VCS) allows you to track the history of a collection of files. It supports creating different versions of this collection where each version captures a snapshot of the files at a certain point in time and the VCS allows you to switch between these versions as well. These versions are stored in a specific place, typically called a repository.

The process of creating different versions (snapshots) in the repository is depicted in the following infographic. Please note that this picture fits primarily to Git. Other version control systems like Concurrent Versions System (CVS) don’t create snapshots of the files but store file deltas.

mirketa-git-VCS

  Continue reading

Posted in Agile, AGILE Tools, Apache Ant, J2EE, JAVA, Java Script, JIRA, JIRA on Demand, MirketaInc. Tagged with , , , , , , .