sábado, 6 de noviembre de 2010

For those who follow CMMI (Top 8 New Concepts in CMMI Version 1.3.)

8. Organization-Level Contracts

As Welsh singer and septuagenarian heartthrob Tom Jones might say, "It's Not Unusual" for organizations to have lists of preferred suppliers, or for work to be issued under task orders. This isn't explicitly acknowledged in CMMI Version 1.2. In Version 1.3, some informative material -- not a lot -- has been added under the following specific practices:

OPD SP 1.1 Establish Standard Processes (all 3 models)
SAM SP 1.1 Determiner Acquisition Type (DEV and SVC only)
SSAD SP 1.1 Identify Potential Suppliers (ACQ only)

Example: "Examples of types of acquisition include... obtaining products from a preferred supplier." [SAM SP 1.1, informative material]

Sure, this may sound like small potatoes compared to some other items on this list. Still, it's a nice acknowledgement of a reasonable best practice.

7. Prioritized Customer Requirements
I have a way-too-long list of things to do around the house this coming weekend. So I've prioritized my tasks to make sure I at least accomplish the most important ones... like downloading new music!

Prioritization is not exactly rocket science. However, if you peruse your dog-eared CMMI v1.2 book, you'll have a tough time finding much on priorities (specifically, customer priorities).

This changes in CMMI v1.3, by bringing prioritization to the forefront in RD SP 1.2 and by adding informative material to the following process areas:

CMMI-DEV: OPD, PP, RD
CMMI-SVC: PP
CMMI-ACQ: PP

Example: "SP 1.2 Transform Stakeholder Needs into Customer Requirements. Transform stakeholder needs, expectations, constraints, and interfaces into prioritized customer requirements." [RD]

6. Lifecycle Needs and Standards
Perhaps to you, a "lifecycle" is a machine you hop onto at the gym to log your 20 minutes of daily cardio. Well, for Version 1.2 of CMMI-DEV, the lifecycle is focused on development. It doesn't say much about other lifecycles that could be applicable to your organization, such as manufacturing, deployment, operations, maintenance, support, and disposal.

In Version 1.3, Part 1 of CMMI-DEV now explicitly references CMMI-SVC for lifecycles such as manufacturing and maintenance. References to relevant standards have also been added, in the Appendix and in an example box in OPD SP 1.1:

"Examples of standards include the following: ISO/IEC 12207 Systems and Software Engineering - Software Life Cycle Processes [ISO 2008a], ISO/IEC 27000 Information Security Management Systems [ISO/IEC 2009], ..."

5. Customer Satisfaction
The concept of "satisfaction" may figure prominently in a certain Rolling Stones song, but it's rarely mentioned in CMMI v1.2 -- especially in CMMI-DEV. You still won't see customer satisfaction measures required by CMMI v1.3; however, you'll find informative material added to these process areas:

CMMI-DEV: MA, OPF, PMC, RD
CMMI-SVC: MA
CMMI-ACQ: ARD, OPF

Customer satisfaction, and the related concept of customer loyalty, plays a significant role in driving my business -- and hopefully yours as well. The added material is welcomed.

Example: "...Candidate improvements to the organization's processes and process assets are obtained from various sources, including... results of customer satisfaction evaluations" [OPF, Introductory Notes]

4. Causal Analysis at Low Levels of Maturity


At the 2008 NDIA CMMI Technology Conference and User Group, I delivered an impassioned presentation on Using CAR to Rescue a Sinking Process Improvement Program. In my talk, I discussed how I used causal analysis to assist a client organization in solving an important problem -- despite their "low maturity." (I won an award for that presentation, although my friend Angie claims that my skillful inclusion of a shirtless Brad Pitt photo unfairly swayed a few key voters.)

In CMMI Version 1.3, there's now more explicit encouragement to do just that: use causal analysis at lower levels of maturity, without the use of statistics and process performance baselines. To help with this, the Introductory Notes of some high maturity process areas have been revised. Also, a new specific practice has been added to QPM (SP 2.3 Perform Root Cause Analysis), and a few low maturity process areas have been tweaked.

Example: "Address causes of selected issues that can affect project objectives" [IPM, SP 1.5, subpractice 5 (new)]

3. Teaming Concepts
In CMMI Version 1.2, Integrated Process and Product Development (IPPD) is formally known as an addition to the model. Think of it as an option you might add to that yellow Lamborghini of yours, but one that can have a significant impact on your driving. IPPD's use is targeted for complex projects building complicated products. From an appraisal perspective, you could be appraised against CMMI-DEV, or CMMI-DEV + IPPD, although the latter has happened only in about 5% of recent CMMI-DEV appraisals.

What's changed in Version 1.3? The IPPD addition, as well as the concept of integrated teaming, is now gone. A more general concept of teaming has taken its place, making this new approach to teaming consistent across the three constellations. (CMMI-ACQ v1.2 and CMMI-SVC v1.2 already had incorporated generalized concepts from CMMI-DEV's IPPD addition.) You'll find a few new specific practices in CMMI-DEV.

Example: "Establish and maintain teams." [CMMI-DEV, IPM SP 1.6 (new)]

2. Modernized Development Practices
Like the model itself, much of the engineering content of CMMI-DEV is as old as Buddy and Koko combined (ten). Because the other two constellations (SVC and ACQ) essentially used DEV as their starting point, they're similarly lacking.

Version 1.3 has added, or in some cases simply beefed up, concepts such as quality attributes (non-functional requirements or "ilities"), product lines, systems of systems, allocation of product capabilities to release increments, architecture-centric development practices, and technology maturation. Key changes include:

Glossary updates, including new terms and revised definitions

Informative material updates in all three constellations (especially in RD, REQM, VAL, and VER) to bring more balance to functional vs. non-functional requirements (e.g., quality attributes)

Additional informative material updates to address other modern engineering approaches (e.g., product lines)

Minor required and expected content updates (RD SG 3, RD SP 3.2, and SSD)

Example: "quality attribute: A property of a product or service by which its quality will be judged by relevant stakeholders. Quality attributes are characterized by some appropriate measure. Quality attributes are non-functional, such as timeliness, throughput, responsiveness, security, modifiability, reliability, and usability. They have a significant influence on the architecture."(Glossary)

1. Agile Interpretive Guidance

Say the word "Agile." Great! Now say "CMMI." Super! Quick question: which sounds sleeker... smoother... sexier? Even the authors of the CMMI would have to admit they lose that battle every single time!

Now, I certainly can't claim to be an agile expert, based on the fact that once-upon-a-time I read a book and then I kinda-sorta applied it. (Along with a dose of the CMMI for Services, though, it did help to turn my little company around.) But I'd be a fool -- and so would you -- to ignore the fact that agile methods such as Scrum have taken the development world by storm in the past decade. Yet, agile developers often don't see how CMMI can help them. Reasonable people have said it can, and publications like CMMI or Agile: Why Not Embrace Both! have explored the ability of CMMI to compliment or improve agile methods.

 
That being said, don't look for any specially-added goals or practices in Version 1.3 to accommodate agile. Why? They're simply not needed; agility fit just fine into Version 1.2... if you only knew how to interpret the model! (I know... that's a big "if." I make my living largely by telling people for three days at a time how to interpret the CMMI!) So for Version 1.3, you'll find that interpretive guidance has wisely been added. Look for a new section in the CMMI for Development (CMMI-DEV) Chapter 5, entitled "Interpreting CMMI When Using Agile Approaches," as well as new informative material in the following process areas:

  
 CMMI-DEV: CM, REQM, PP, RD, TS, PI, VER, PPQA, and RSKM

 CMMI-SVC: SSD

 CMMI-ACQ: AM, ATM, PMC, and PP

 
Example: "In agile environments... Teams plan, monitor, and adjust plans in each iteration as often as it takes (e.g., daily). Commitments to plans are demonstrated when tasks are assigned and accepted during iteration planning, user stories are elaborated or estimated, and iterations are populated with tasks from a maintained backlog of work."

 
So, finally, you now have my Top 8 New Concepts in CMMI v1.3:

 
  • Agile interpretive guidance
  • Modernized development practices
  • Teaming concepts
  • Causal analysis at low levels of maturity
  • Customer satisfaction
  • Lifecycle needs and standards
  • Prioritized customer requirements
  • Organizational-level contracts

 

 For more detail:


 

 

 

 

jueves, 28 de octubre de 2010

Una gran perdida en los movimientos de mejora...

Hace unos minutos me enteré de una lamentable perdida... Para todos los involucrados en la mejora, saben y reconocen el trabajo de Watts Humphrey.

http://www.sei.cmu.edu/newsitems/Humphrey_obituary.cfm

Lamentable ausencia física.

martes, 27 de julio de 2010

SPI MANIFESTO

Values
People – Must involve people actively and affect their daily lives not to be focused on management alone
Business – What you do to make business successful – this is not about living to deploy a standard, reach a maturity level, or obtain a certificate even though it can certainly help do all of those things
Change – Process improvement is inherently linked with change – we realize and accept that we cannot continue to live as we do today – we must change – perhaps a little or perhaps a lot
Principles

People
Know the culture and focus on needs
Motivate all people involved
Base improvement on experience and measurements
Create a learning organization

Business
Support the organization’s vision and business objectives
Use dynamic and adaptable models as needed
Apply risk management
 
Change
Manage the organizational change in your improvement effort
Ensure all parties understand and agree on process
Do not lose focus

__

What is this?

In September 2009 a group of experts in Software Process Improvement (SPI) from all over the world gathered in connection with the EuroSPI Conference for a workshop at Universidad de Alcalá in Spain.
EuroSPI's mission is to develop an experience and knowledge exchange platform for Europe where SPI practices can be discussed and exchanged and knowledge can be gathered and shared. At the workshop 15 experts presented their ‘wisdom’ grounded in many years of process improvement experience. Based on the presentations, 30 workshop participants brainstormed core values and principles specifically for process improvement. Via affinity analysis and group thinking exercises we ended up with a manifesto for SPI. At the end of the workshop 4 values and 14 principles were identified. Among the group of participants, authoring
responsibilities were distributed on a voluntary basis backed by personal justification. Some values and principles were focused on by more then one volunteer. By mid-October 2009 all the contributions were available to the editors, who edited the document thoroughly. A number of principles were written with considerable overlap so it was obvious that they should be consolidated.
The same consolidation needs were applied to one of the values. The editors restructured the documented and edited the text so that it introduces itself in a uniform style. The result was a document with three core values and eleven principles. This document was ready in November 2009. Eight reviewers read the resulting document and commented thoroughly. Finally all the comments were addressed in this final version from January 2010, including a joining of two principles and a shorter formulation of the principles – so the final document consists of three values and ten principles. A final review was performed by Tim Kasse.

Manifest – what is that?
A ‘manifest’ makes things clear and obvious or evident. This manifest gives expression to state-of-the-art knowledge on SPI. It is based on hundreds of person-years of practice and experience from organisations worldwide.

What to use the manifest for?
You can use the manifest to obtain knowledge on SPI. It will help you to remember what is important about Software Process Improvement? Each value and the consequent principles are written so you can easily place yourself into the problem and its context. Short explanations for each value are provided that can further augment your understanding. Each value also has some relevant examples that will make it easier to learn and remember the values and principles. You can use the manifest when you are responsible for planning a SPI project. The third manifest value states that SPI is actually really about change. Thus, you can apply the principles in your SPI project that will support the necessary corresponding change in the organisation.

We hope you enjoy reading the manifesto and find the contents useful.
Jan Pries-Heje and Jørn Johansen

domingo, 11 de julio de 2010

Cambios planeados para CMMI 1.3

Uno de los cambios que me parecen interesantes, y que por supuesto ha notificado el SEI para la versión 1.3 de CMMI-DEV es:

REQM ya no estará en las PA´S de INGENIERÍA, ya que formará parte de las áreas de procesos de ADMINISTRACIÓN DE PROYECTOS.

jueves, 8 de julio de 2010

Arquitectura de software, en menos de 59 palabras

Es la estructura o estructuras del sistema, incluye los elementos de software, las propiedades externas visibles, así como sus relaciones.
Una abstracción que describe los elementos de software.
Direcciona las responsabilidades, comportamientos y propiedades de los elementos de software
Es un vehículo para la comunicación.
Es una abstracción transferible y reusable.


Fuente:
Software Architecture Fundamentals: Technical, Business, and Social Influences
Webinar
SEI

jueves, 24 de junio de 2010

Administración de la configuración...

Me encantó...

Administración de la configuración: Saber lo que tienes en el refrigerador y cuando poder comerlo...

__
CMMIusuarios, gran analogía :)

Tomado del Nick de Ernesto Corona, LA.

lunes, 14 de junio de 2010

Necesito implementar CMMI, ¿Por dónde inicio?

Hace un par de días recibi la pregunta que da título al presente post -en modo pánico o modo desesperación-...

Antes que implementar cualquier modelo de mejora de procesos es importante saber que se necesita,  o dicho de mejora manera el objetivo de la organización o empresa... Si no tienes claro que necesitas tener o ser, entonces lo primero que debes preguntarte es que problemas necesitas eliminar de tu organización...

Para ciertas organizaciones está claro que necesitan tener productos de calidad, mejorar el servicio al cliente y por ende reducir los costos de operación... Sin embargo podríamos iniciar desde eliminar mermas, estandarizar la manera de trabajo y especificar los costos que genera todo el proceso de producción y servicio en nuestra empresa... O como dijera Silvio, que no es lo mismo pero es igual, lo que se busca es mejorar organizacionalmente...

El implementar mejoras no obedece a ser los primeros en usar un modelo, o ser los primeros en certificarse u obtener un nivel de madurez, requiere de claridad de objetivos y claridad de visión...

Me ha tocado platicar con empresas que solo quieren implementar CMMI por que su proveedor se los requiere, o porque la mayoría de las empresas de la región están obteniendo cierto nivel de madurez, y porque requieren estratégicamente tener una bandera en la que se sustenten para poder venderse...

El fin justifica los medios, dicen varios, sin embargo creo que es de suma relevancia localizar el verdadero origen de la iniciativa, y para eso hay varias justificaciones, y si ponemos como pauta principal el mejorar la manera de trabajo, eliminar vicios y reducir costos, ¿A qué empresa no va a interesarle lo anterior?

Ahora también es importante no perder de vista que, al manejar una iniciativa por terceros, es imperativo mostrar las razones por las cuales arrancaremos el proyecto de mejora (la organización que quiere mejorar)... La manera en la que el tercero (consultor, empresa de consultoria), les esquematice el mapa bajo el cual alcanzaran la meta (de una manera muy sencilla), es la referencia básica bajo la cual implementaran las mejoras... Si no saben esquematizarlo, explicarselo o peor aún no viene explicado en la propuesta en cuestión, olvide seguir con ellos... Si no saben como llegar, no sabrán como ayudarle...

Si usted es curioso, y decide iniciar el proyecto por su cuenta, no olvide revisar previamente el ciclo de Deming, le será de mucha utilidad y no le quitará más de una hora el revisar resumenes asociados...
Respuesta concreta, se inicia por el principio y eso es, saber qué se quiere mejorar y por qué.

sábado, 5 de junio de 2010

"Establish and maintain"

"Establish and maintain" - Establecer y mantener, en el modelo CMMI, implica más que la simple traducción... Significa que para ejercer la política recopilación de requerimientos (por ejemplo), en una empresa, división u organización es necesario: formular la política, definirla documentalmente, mantenerla actualizada y lo más importante: usarla.

sábado, 17 de abril de 2010

Mejora de Procesos

Sigo como siempre, desde marzo 2001, "enCMMismada" y vertida hacia una de mis pasiones: la mejora continua bajo el modelo CMMI.

Sea pues este un espacio para convertir aventuras, experiencias y actividades relacionadas con la implementación de dicho modelo.