A Pragmatic Approach to Process Improvement Deployment

September 14th, 2009 by Payman Hodaie

A few days ago, I had a very interesting conversation with a process improvement expert. He is part of a large multi-national company and for the last 18 months, he has been responsible for the deployment of process improvement best practices throughout his company’s IT department. This work has given him valuable insight on the subject of process improvement deployment, and I very much appreciate him sharing his experience and lessons learned with me. In this post, I will present the process improvement deployment experiences of this customer as a case study, with their lessons learned summarized at the end. This case study illustrates how theoretical concepts of process improvement can be put into practice.

For organizations embarking on the path of achieving a process improvement mindset, the first logical step is to capture their existing processes in a safe, usable, and accessible form. Safe meaning that the processes have the appropriate level of protection from misplacement and loss. Usable meaning that the processes are in a format (or formats) that can be easily used by all members of the organization. Accessible meaning that the processes are accessible organization-wide from a single well-known portal. Once the organization’s internal processes are captured in this manner, a gap analysis can be conducted and the indentified gaps filled by the industry’s best practices. This is a laborious step and requires careful planning and project management, but process authoring and management tools can substantially reduce this effort.

For this customer, the first step involved capturing a large number of processes, many of which were never previously documented. Their strategy relied heavily on tasking various subject matter experts (SMEs), from different IT groups, with process definition. The SMEs were provided with an intuitive tool and training. The SMEs, working from their own various geographic locations, were then able to enter their group’s processes in the central system. The process group constantly reviewed the entered processes and provided feedback to the SMEs. Once the initial processes were captured, the process group structured them into a reusable process architecture. SMEs, in turn, were able to review the process architecture and provide feedback. Employing this strategy, the customer was able to distribute the process definition effort across its IT department, and created a comprehensive process architecture in a matter of months. Moreover, this strategy made the process improvement adoption (institutionalization) more likely, as the user community was intimately involved from the beginning—versus being dictated to by an external group. It creates a sense of ownership.

At the end of this step, the organization had codified its distributed tacit knowledge.

To further increase process adoption by the organization project teams, the process group, with the help of SMEs, created variations of each process to better suit the various project categories. All the processes (and their variations) were made available for consumption from an organization-wide process portal. The portal also provided sophisticated “search and select” functionality to make sure the most suitable process could be quickly identified for a given project. Process search and selection will form the basis of a comprehensive process tailoring solution in the future.

The customer decided on this approach as opposed to burdening the project managers with the tailoring task. They felt tailoring processes by adjusting them was too complex a task for the project managers at this stage.

Based on my experience, many organizations underestimate the complexities of process tailoring. I feel this simplified tailoring approach is sufficient for most organizations, with the exception of matured process-centric ones.

To effectively improve the processes and the process architecture, the organization relied heavily on input from the end users. The “feedback” and “community” functionality of the process portal was used to collect and capture feedback and lessons learned from the organization’s project teams which, in turn, were used by the process group and the SMEs for ongoing process improvement.

Keep in mind that a single integrated system provided the process capturing, definition, architecture, tailoring, and feedback, with end-to-end traceability.

As the next step, the customer is developing usage models to accurately measure the rate of process adoption by the organization’s project teams. They feel having reliable adoption metrics is critical to sustaining  the support of senior management.

In summary, the following are the lessons learned from this process improvement effort:

  • Identify and utilize SMEs for capturing the organization’s processes
  • Importance of training SMEs and providing an easy-to-use tool for process definition
  • Importance of a process architecture that supports reusability
  • Create a sense of ownership as early as possible
  • Simplify the task of tailoring
  • Minimize the effort required by project managers to use a process in the their project
  • Base the ongoing process improvement on user feedback
  • Importance of end-to-end traceability
  • Importance of usage models in winning and sustaining senior management support

This case study illustrates how theoretical concepts of process improvement can be put into practice.

I feel topics such as usage models and institutionalization/internalization deserve more detailed exploration.

Process Improvement Encompasses Process Definition

September 12th, 2009 by Payman Hodaie

Process improvement encompasses process definition, as processes have to be defined and manageable before they can be improved.

This is evident in the following CMMI practices:

  • OPF 1.1 Establish Organizational Process Needs
  • OPF 1.2 Appraise the Orgnization’s Processes
  • OPD 1.1 Establish Standard Processes
  • OPD 1.2 Establish Lifecycle Model Description
  • OPD 1.5 Establish the Organization’s Process Asset Library

A Brief Update on Work Item Tracking iPhone App Currently Under Development

September 10th, 2009 by Payman Hodaie

In an earlier post, I referred  to the Work Item Tracking iPhone app we are currently working on. The development of this app was motivated by our heavy reliance on Team Foundation Server’s (TFS) Work Item Tracking for internal projects. Using a web browser, our project teams (in Toronto and Bangkok) and customers have a real-time detailed view of  their projects. We felt having the same level of project visibility  via a mobile device would be very useful.

We wanted the Work Item Tracking app to work with any TFS without requiring installation of additional server module. Consequently, the app has to rely on web services to communicate with TFS server. This isn’t as simple as you may think. Microsoft considers work item tracking web services as too complex for third part development, and doesn’t publish the APIs.  Instead Microsoft provides a client component, which wraps the web services, and provides a .Net Object Model API. Fortunately, our team has been able to discover the required work item web services APIs.

Currently I am working on the module that gets a list of projects and work item types for each project from a TFS. I will include screen captures of this module in a future post.

COBIT Mobile Reference iPhone App is Available for Download

September 1st, 2009 by Payman Hodaie

The App Store approval of CMMI Mobile Reference took 14 days. I was expecting the same duration for COBIT Mobile Reference app approval, but was  pleasantly surprised to get the approval in 8 days. So now the COBIT Mobile Reference is available for download from the App Store, free of charge.

I spent a weekend developing this app; it’s a basic reference for COBIT 4.1 processes and control objectives. Although it has limited functionality, I find it very useful and hope others will also benefit from it.

I have been working hard–with the help of our VSTS guru David Gowan–on a more functional iPhone app that tracks VSTS work items. I will discuss this app in a future post.

I am also planning other much more sophisticated role-based situational process improvement apps. At this point, I am still struggling with the appropriate representation of an end-to-end process on mobile devices. For the content of these apps, I am considering MOF, EPF, and a version of SCRUM, and am open to suggestions.

My overarching goal is to make the internalization of codified process improvement bodies of knowledge easier for practitioners.

On a separate note, I am amazed, given the iPhone tool set and developers’ support and using the right process, how rapidly iPhone apps can be developed.

The Yardistry Design Tool is out!

August 27th, 2009 by Rakesh Kamath

The Yardistry Design Tool that I mentioned in my previous post is out! As I mentioned in that post, it’s been implemented using Flex 3 and Papervision3D and stands out where applications that leverage 3D in the browser go, especially in terms of the complex tooling it brings into the browser.

Here’s the direct link to the tool: http://designer.yardistrystructures.com/.  Select the ‘Custom Design Tool’ and get started modeling your outdoor structures.

A slightly technical aside: All the 3D part shapes that you see in the tool were created in popular 3D applications like Google Sketchup and 3DS Max and imported into our tool using our custom import utility so that we could apply rules to the shapes so as to work in the tool. Yardistry had these parts designed and available in the Sketchup format and we brought them in without them having to do anything special to make these shapes usable in the design tool.

Jane was the primary analyst on the Yardistry project and I was the primary architect/designer for the design tool and we are both based out of Toronto. Our development team is based out of Bangkok and they recently celebrated the completion of the Yardistry project and sent us a pic. They did such an amazing job – mad skills!!

image

This also makes me think about how we have got our development processes locked down. We were very agile with very quick short cycle times. At the same time, we were able to communicate and track requirements, design and development milestones for this fairly complex application between Toronto and Bangkok seamlessly and without compromise.  As with almost all of our projects, we used Visual Studio Team System (VSTS) for  managing and tracking development and bug tracking. It helps that we have a lot of VSTS and process expertise in-house so that we were able to leverage VSTS to the full extent possible.

We have an excellent team to begin with but we are able to leverage tooling such as VSTS to make a distributed team a non-issue – and in fact make it an advantage.

Congratulations to the team!

Process Improvement Applications for Mobile Internet Platform

August 22nd, 2009 by Payman Hodaie

During the last few months, I have spent most of my time on mobile process improvement tools. Working on these apps has had the side benefit of giving me a more in depth knowledge of exciting process improvement bodies of knowledge and even more appreciation for their scope.  Bodies of work such as these codify a vast amount of practical knowledge and best practices from which any size organization or team–formal or agile–can greatly benefit.  I feel the persistent bottleneck stalling wide utilization of these bodies of knowledge is due to the difficulty of internalization.  I strongly believe that having the right tools is the remedy for this internalization problem.

The majority of these tools will be imbedded in or made accessible via the user’s exciting systems such as ALM platforms, but a subset of them will run on mobile Internet platforms such as iPhone, Android, and BlackBerry. The ubiquity and instant accessibility nature of these devices make them specially practical in situational usage. You are not always at your desktop when you need process improvement related assistance.

We at Osellus have been working on ALM based process improvement tools for over eight years, and more recently we have started working on mobile process improvement related tooling.

Standing out in the Apple App Store

August 19th, 2009 by Rakesh Kamath

It’s been around 2 months since my last post! We have been very busy with some very interesting projects. This year has had a good start from the point of view of getting to work with some very new and cutting edge implementations.

My team just finished work on a custom design/modeling tool for Yardistry implemented in Papervision3D and Flex 3. I have not seen something so functional and complex implemented in 3D on the browser platform. I am pretty proud of the work the guys put into building this product both in terms of technology and usability. I really encourage you to go play with it and use it once it is out at http://designer.yardistrystructures.com/. The custom design tool should be going live there within the next few days. I’ll put out a post once it is live.

The other thing I have playing with a lot in the last few weeks is the iPhone development platform. The popularity of the platform just cannot be ignored and Payman, I and  a few others have been putting a lot of thought into leveraging this first really usable mobile platform to bring our ideas to life.

Every serious developer has looked at some mobile device or platform in the past few years and had a few ideas for it but been frustrated with the sheer unfriendliness of the platform both for the user and the developer. I think the iPhone has changed all that – it’s a very serious mobile computing platform.

Payman put out a CMMI Reference App very recently and you are going to see many more in the next few months. The CMMI app is free. I know a lot of you come from the process engineering background and might find it very useful. Please don’t forget to rate it and leave a comment! Here’s the direct link to it in the app store: Click here.

I have been working on a very exciting iPhone app myself. I hate to be a tease but I cannot talk about specifics. Lets just say that it leverages social networks like Facebook and twitter to bring something very practical and functional to a crucial experience in a person’s life. Sorry, but that’s about as specific as I can get. I wanted to bring it up so that I can talk about a couple of things I have been thinking about since I started working on the app.

If you are an iPhone user, you probably groaned when you saw the words “social network”, “Facebook” and “Twitter” in reference to an iPhone app. I understand. There were an estimated 65,000 third party apps in the App Store mid July and it sometimes look like all of them deal with social networks.

We understood this. However, there is a difference between focusing on social networks like most apps tend to do and what we are trying to do – which is leverage them with a lot of attention to providing users with the benefits of integration with their favourite social networking sites without becoming about the social networks.

What we are realizing is that in order to differentiate between our app and the other thousands of apps in the app store, we have to do two things well.

First, it is no longer enough to have an application that has no server component. If your app is dependent solely on third party sites like Facebook, Twitter etc, you are always bound tightly to their APIs, restrictions and performance. Of course you are getting a lot - like a ready made audience and functionality that you don’t want to re-invent. But remember that everybody else out there is also using the same APIs and they probably work exactly like your application.  You have to enhance that experience in some way. The best way to do that is to have your own custom server component that adds some richness to the experience. You can layer this server component on top of existing social network sites ideally or add it to the list in order to achieve differentiation. The server component may or may not have a Web UI but it probably will have web services that cater to your app specifically.

Secondly, the integration with social sites should be balanced so that a user’s audience or their friends on those sites are made aware of your activities through your app but the app itself should not become focused around the third party sites.

A good example that comes close to illustrating my points is the GAP StyleMixer iPhone app. The StyleMixer app allows you to create and style your own outfit on the iPhone. I like the way it handles sharing the outfits a user creates. It allows you to share your outfits with your Facebook friends but also to GAP’s own StyleMixer community.

By doing that it gives you your standard Facebook experience but also gives you a specialized GAP community experience that would not be possible inside Facebook. It also means that the focus is around the StyleMixer community. Support for  third party sites like Facebook, Twitter can be added, removed based on their popularity. Your app is not very dependant on them anymore and works better because of the specialization you have built using your own server component along with a hook into Facebook and twitter.

Perhaps some of what I say above flies in the face of current practices but if you are building a serious product, I would say that the ‘Cloud’ becomes a rich back-end for your app only if you have a say in it – and that means your own server component more often than not.

It is easy to think that a server component for a mobile application is over-kill. But thanks to the iPhone and potentially platforms like Android, the time has come where a mobile application  is serious business and can be the backbone of your enterprise. If companies are getting funded for their iPhone app ideas, then we better believe its time to consider building more than a client only experience.

CMMI Mobile Reference Application for iPhone

August 18th, 2009 by Payman Hodaie

Many times while thinking about or discussing CMMI related topics, I have difficulty recalling a particular process area, goal, or practice. I don’t always have a CMMI book or my laptop handy, but I always carry my iPhone. This got me thinking about developing a CMMI reference for iPhone that I could access at anytime.

I feel this app is useful for any iPhone owner who is into CMMI and process improvement. You can get a free copy of this application from the Apple App Store.

I had so much fun with this application that I am thinking about creating other process improvement, governance, or development methodology related apps.

I hope the process improvement community finds this app useful.

Audits need not be painful

July 30th, 2009 by Negin Hodaie

Recently I was part of the FDA 21 Code of Federal Regulations Part 11 (Part 11) audit of one of our custom software development projects. Part 11 audit is mandatory for any pharmaceutical system that uses electronic records and signatures in lieu of paper records. Our audit went surprisingly smoothly, and overall a positive experience for the team, reaffirming my beliefs about the benefits of established development processes and tools. This post briefly covers what contributed to the success of this audit.

Part 11 requires a software development process to be defined and followed. The process should have specific requirements, such as reviews of all the key milestones (e.g. System Requirements), and a well defined Validation phase (functional testing).

One of our internal product development processes was a good starting point for the definition of the process required for this customer project. As all our processes are stored in IRIS Process Author (IPA) in a reusable form, at the outset of the project, we were able to easily make the required adjustments to the selected base process to better suit the project. The process was then shared with the project team in a published form—in the project portal. During the audit, the external auditors carefully reviewed the details of this process and were fully satisfied with its coverage.

I was also required to demonstrate to the external auditors that our team was aware and followed the process. We use Microsoft Visual Studio Team Foundation Server (VSTS) as the development tool. IPA can generate VSTS process templates. In doing so, each activity of the process becomes a work item. In addition, all the process information such as description, steps, and roles, are captured as work items ensuring that every member of the team has access to process information when they need it. Hence the project team was steeped in the process being enacted. This showed the external auditors that the process was fully internalized by the project team and would not be abandoned at times of stress.

VSTS was also used for planning and managing issues, risks, and tasks, a single repository for all project artifacts. As VSTS is tightly integrated with MS Project, project managers were able to generate schedules and track the team’s progress.

In one of my sessions with the auditors, I did not have printouts for all issues and defects with me. When the auditors asked for evidence for certain scenarios, I was able to use VSTS (through web interface), and generate excel spreadsheet for the requested scenarios on the spot. This drove home for me the importance of having a central repository that instantly provide access to all project artifacts, which can be used as direct evidence during the audit process.

I believe process and tools are like two wings of a bird. To fly this bird needs both. Having a well-defined process in place is a great first step but unless the team has the tools that seamlessly incorporate the process into their daily work, the process is not internalized. High performance teams such as ours value being process-centric and disciplined, as long as processes are not a drag on their daily work. The integration of processes with tools not only helps with a positive audit experience, it also results in a motivated and disciplined development organization.

What’s Going on with EPF?

July 22nd, 2009 by Payman Hodaie

Is it my imagination or there are short bursts of activity–usually initiated by IBM–followed by long periods of silence?  After so many years, why isn’t there a wider interest in EPF? Are we suffering from a “yet-another-methodology” overload?

This tired interest is an important indicator of how the user community feels about methodology fads.