| |
Archive for the ‘Processes & Methodologies’ Category
Tuesday, March 24th, 2009
Many maturity models and quality frameworks’ view of quality assurance involves more than just end product quality. Rather, the underlying philosophy of most of these standards heavly rely on the quality of the processes used in the development of the products.
Posted in Processes & Methodologies | 4 Comments »
Monday, March 23rd, 2009
Last Friday Negin, our head of software development, was telling me about a custom software development project that one of her teams had just wrapped up. This is a commercial grade web application, developed for a local customer here in Toronto area. Negin told me that the project was done under four months!
This morning I quickly glanced over the requirements and design documents of the system. It consisted of over 306 UI screens and massive amount of business logic (629 methods, 68,875 lines of code, 44 tables and 287 store procedures).
Negin attributed the rapid development cycle to VSTS and the process that was used. As I am not familiar with the project, I asked her and her team members to provide details of their experiences during this project.
It’s exciting to see VSTS and processes bringing so much tangible benefits to our own development projects.
Posted in Microsoft, Osellus, Processes & Methodologies | No Comments »
Sunday, March 22nd, 2009
I talked about “search and selection” aspects of process tailoring in an earlier post. In this post I’ll get into some of the concepts of “process adjustment”, the next step in process tailoring. Once the project manager has selected a process from his/her organization’s standard processes–based on his/her project criteria, he/she then should adjust the selected process to better suit the project.
The nature of adjustment in this context is difficult to define. It varies greatly from organization to organization.
The first issue is the amount of flexibility allowed during adjustment. It’s important that commonality, generality and integrity of the organization’s standard processes are not compromised as they are adjusted for a particular project. One way to achieve this is by “tailoring guidelines”. Tailoring guidelines are heavily supported and promoted by CMMI. They are developed as a part of process creation. So as process modelers define the organization’s standard processes, they also define tailoring guidelines for these processes. This requires a flexible process modeling tool. IRIS, our process modeling tool, supports user definable attributes for all process elements–roles, activities, workproducts–and has in built-in reporting facility. Using these capabilities we have been able to automate customers’ needs by capturing tailoring information during modeling and generating organization specific tailoring guidelines automatically.
Of course there is much more to process adjustment than tailoring guidelines. I will cover other aspects of this topic in future posts.
Posted in CMMI, Processes & Methodologies, Tailoring | 1 Comment »
Sunday, March 22nd, 2009
I highly recommend a white paper titled “Process Tailoring and the Software Capability Maturity Model” by Mark Ginsberg and Lauren Quinn. Although written in 1995, the content of this paper is still very relevant today. The full version of this paper is available for download from SEI (Software Development Institute, Carnegie Mellon University) website. Keep in mind that this is a long paper: 53 pages.
I specially found the coverage of “Tailoring Guidelines” informative. I will get into how tailoring guidelines fit in the overall tailoring process in future posts.
Posted in CMMI, Processes & Methodologies, Tailoring | 1 Comment »
Thursday, March 19th, 2009
For over a year now I have spent large percentage of my time on developing process tailoring systems. Although I had much appreciation for the importance of process tailoring, the deeper I get into it the more I realize what a paramount role it plays in the overall application of processes in an organization. Unfortunately, there are not much resources and discussions on this topic. In this and future posts I’ll try to discuss some interesting aspects of process tailoring.
First let’s clarify what we mean by process tailoring. Process tailoring is the adjustment made to an existing organization’s process to better suit a specific project. In most cases a project manager will tailor one of the organization’s standard processes to better suit his/her project. This takes place once the project is approved and before the process starts. By process tailoring we really mean “project-specific process tailoring”.
One aspect of tailoring that I find interesting is search and select. It may not be apparent, at the first glance, to some people that the activities of searching for and selecting of a process are part of tailoring, but up on further reflection, it becomes apparent that these activities make up the first part of project-specific process tailoring. Process-centric organizations have large number of standard processes. In most cases these processes are defined and maintained by process engineers—who may be part of organization’s SPEG. Ideally these processes are accessible organization wide-–another interesting topic for a future discussion. As a starting point, project managers should be able to easily find and select a process from their organization’s standard processes that best suits their projects. This requires flexible query of process repository based on project specific criteria. For example, a project manager may want to find a process suitable for a small project with fewer than 10 developers. Another project manager may want to find a process suitable for a large geographically distributed team with high emphasis on quality. Once the search request returns processes matching the project criteria, the project manager should be able to access an overview and details of the processes before selecting one.
The next step in tailoring is to make adjustments to the selected process to better fit the specific project. This will be the topic of my next post.
In summary, process search and select are an important part of project-specific process tailoring.
As the final note, processes are meant to make the job of project managers easier not to add additional overhead to their already heavy load. Hence it’s critical that tailoring systems be user friendly and intuitive.
Posted in Processes & Methodologies, Tailoring | No Comments »
Tuesday, May 27th, 2008
Posted in General, Microsoft, Processes & Methodologies | Comments Off
Monday, January 7th, 2008
One of the challenges in adopting any methodology in an enterprise is in ascertaining the degree to which it is actually used. Although this sounds simplistic enough it brings a key issue out in the open. Even if an organization has converged on a single methodology to use there are subjective and often acrimonious debates on the extent to which a defined process adheres to the key concepts – either fundamental concepts that outline the methodology or the control objectives that have been bolted on to this methodology. It is not enough to have a methodology preamble announcing that this methodology meets so and so concept or follows this philosophy. A process mature organization needs to go behind the rhetoric (and I am not trying to slam this sort of collateral that sells the methodology) and actually give specific mapping between the process elements and the concepts and or control objectives that are promised to be met with this process.
This data-mapping will not only help in auditing your processes for compliance to your business or regulatory objectives but will also serve as an indisputable baseline to have those debates on what kind of process does the project team really need for an upcoming project. If you know where you are now, it is easier to steer where you want to go. Categorization of your process elements is therefore a simple but powerful way to keep measuring if your process is on track to become what you expected it to be or of you need to make modifications so that you can control its flavor at process authoring stage. Off course another benefit in this approach is that when you are ready to share your process with a peer network they can give their feedback so that you can adjust the mapping of your process elements to the methodology concepts and control objectives and validate this mapping.
There are many examples of this sort of categorization that can be seen in the processes available at the IRIS Process Central Sandbox. You are welcome to try out these processes and provide your comments.
Posted in General, Processes & Methodologies | No Comments »
Friday, November 16th, 2007
I am pleased to announce the availability of IRIS Process Central Sandbox. This is an online process community to promote discussions on process improvements through collaborative input. Its goal is to bring together process modelers, process consumers, and other stakeholders to freely share information on existing processes and create new process mash-ups.
To facilitate these discussions, we have included several processes on sandbox including MSF for CMMI, OpenUP, and Agile. Where possible, we have provided variety of formats for each process as well as enactment templates.
You can participate by providing your feedback through blogs, discussions boards or modifying the content of the processes. We are eager to get your feedback and will make every effort to ensure that IRIS Process Central Sandbox becomes a valuable asset to you and your organization. Click IRIS Process Central Sandbox to access the sandbox.
IRIS Process Central Sandbox demonstrates how IRIS Process Central which is included as part of IRIS Process Author can help an organization improve their process tailoring in a collaborative environment.
It is our strong belief that through awareness and involvement of process community, there is a great chance of increasing adaptation of processes across the organization. We feel that IRIS Process Central is an important step towards this goal.
We are looking forward to the community participation in IRIS Process Central Sandbox or any suggestions regarding IRIS Process Central product.
Posted in General, Osellus, Processes & Methodologies, Products | 1 Comment »
Monday, October 1st, 2007
In my view IBM is struggling to align their products and practices with the advancement in the state of around software development process automation and collaborative development environment.
In this post I am going to focus on their release of Rational Method Composer 7.2 (RMC 7.2) and specifically point out why it is difficult for me to be convinced that they have done a root cause analysis of their previous failures (with RPW or earlier versions of RMC) or have recognized the direction where software process automation is headed.
When one thinks of a product release from IBM you would obviously expect a high level of maturity, sophistication and thought leadership. IBM is universally well regarded and respected for pushing concepts like SOA and software-as-service. However, when you look at how the Rational team has implemented the tooling around creating and tailoring processes, one wonders why that thought leadership is not being put in practice here. By choosing to keep RMC 7.2 as a thick client application the rational team seems to be stuck in a time warp. I simply cannot imagine a scenario where an enterprise is told that its process assets (which in many cases have the “secret sauce” of project success) is encased in a few laptops. So I was bit surprised that even while acknowledging this problem of scalability and multi-methodology blending, the rational team has chosen to resolve it by continuing to stick to the flawed design decision of using SCM to check-in/check-out process plug-ins. But now, to make matters even more difficult, process authors (often non-programmers), are required to use the eclipse IDE environment to derive some scalability benefits. This is simply unbelievable. First of all, this still does not solve the problem of scalability (see why). Secondly, SCM is a code repository specially built for handling code and not process assets. Finally there is little logic in making process authoring so complicated that it requires a team of consultants to even setup the multi-layer environment for process authoring. Moreover in this day and age when even videos are being edited online asking a process team to work in this client-only disconnected mode is simply irresponsible. I did notice that the rational team did take note of the overwhelming negative feedback on usability of RMC and I welcome that. As in IBM partner and while exhibiting at the RSDC in June 07 we heard lot of this negative feedback. As you read this please keep in mind that if you don’t have a business need for blended methodology processes (and RUP is all you need) or if you are fine with having one or two process authors, RMC does meet your needs. In fact we have a handful of customers who are in such a situation and would simply like to move their RUP process into a collaborative development environment such as VSTS using Content Bridge for VSTS. I hope to see some improvements in the UI with RMC 7.2 and will share what I find out.
Posted in General, Processes & Methodologies, Products | 1 Comment »
Thursday, September 27th, 2007
Software development governance is concerned with establishing standards and control mechanisms to enable practioners in a development organization to carry out their roles and responsibilities while building or maintaining software development programs. A software development governance framework should not only facilitate the creation of processes that may act as a guide for project teams based on accumulated best practices from experience, but it should also serve to ensure that essential procedures have been followed. Therefore any serious attempt to establish a sustainable software development governance framework needs to build or reinforce these three key pillars: establishing and declaring software development processes, automating the enforcement of governance processes, institutionalization of compliance best practices so that teams are empowered to take corrective action earlier rather than discovering problems later where penalties may result.
When we started researching the current literature and tooling to help us understand the current state of art we were unable to find a single resource that elaborated how to transition from theory to practice. This has made us start work on a whitepaper that would dig deeper while giving an implementation model for software development governance. In this paper we aim to describe how it is possible to deploy a software governance framework including its automated compliance using a collaborative development environment. We use Microsoft’s Visual Studio Team System (VSTS) to illustrate and give a practical recipe for achieving governance automation. After talking about setting up a governance process architecture we guide you through the steps needed to achieve a comprehensive, continuous detection and validation of process enactment and out-of-compliance events. To that end, we also plan to include an implementation reference model which can act as a base for your own specific implementation. By installing an automated governance infrastructure, preparing for internal and external audits requires fewer people and less effort.
I will surely blog about this again when the whitepaper is publicly available.
Posted in General, Processes & Methodologies | 3 Comments »
|
|
|