+ All Categories
Home > Documents > Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the...

Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the...

Date post: 17-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
13
Over the years, quality frameworks have evolved in the manufacturing industry. They have been subsequently imbibed by the relatively-nascent IT industry. Quality can be defined in many ways—ranging from simply matching the stated specifications to anticipating and fulfilling the stated and implied needs. Project quality management is said to focus on ensuring that the project meets the needs or expectations of the stakeholders. Some theories believe in precision (Big ‘mac’ effect!) and some in ‘fitness for use’ or ‘fit for purpose’. Realistically speaking, all of these concepts are valid, but possible or relevant only with respect to unit cost. No framework covers the concept of quality per unit cost effectively. This paper tries to find an answer to this limitation of the existing frameworks. The latest thoughts on ‘lean-6-sigma’ framework (applied to software development)’ emphasize cost reduction in an absolute sense, but fall short of defining quality with respect to a given cost (quality per unit cost). Cybage ExcelShore: 01 White Paper ‘Process++’ framework— A true definition of quality and productivity
Transcript
Page 1: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

Over the years, quality frameworks have evolved in the manufacturing

industry. They have been subsequently imbibed by the relatively-nascent IT

industry. Quality can be defined in many ways—ranging from simply

matching the stated specifications to anticipating and fulfilling the stated

and implied needs. Project quality management is said to focus on ensuring

that the project meets the needs or expectations of the stakeholders. Some

theories believe in precision (Big ‘mac’ effect!) and some in ‘fitness for use’

or ‘fit for purpose’.

Realistically speaking, all of these concepts are valid, but possible or relevant only with

respect to unit cost. No framework covers the concept of quality per unit cost

effectively. This paper tries to find an answer to this limitation of the existing

frameworks. The latest thoughts on ‘lean-6-sigma’ framework (applied to software

development)’ emphasize cost reduction in an absolute sense, but fall short of defining

quality with respect to a given cost (quality per unit cost).

Cybage ExcelShore:

01

White Paper

‘Process++’ framework—A true definition of quality and productivity

Page 2: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

A CIO (or a typical client for an IT services company) would be more interested in a

successful project delivery at a reasonable cost that fits the budget. The client’s

definition of ‘success’ will include meeting his budget constraints along with other

targets such as ‘quality (matching his specifications), ‘quality (meeting business users’

expectations)’, and ‘achieving a product in his ‘go-to-market’ time (schedule)’. Although

this seems too easy from a common sense standpoint, many older frameworks do not

cover this balance effectively. They lay a tremendous focus on documented

evidence-based approach for achieving an absolute quality standard (CMMI or ISO).

The developments in the last two to three decades have given rise to Agile

methodologies such as Scrum, RAD, XP, and KANBAN and the focus on imbibing

‘lean-6-sigma’ principles from the manufacturing industry are meant to make the

quality frameworks more pragmatic and oriented towards the rapidly-evolving business

scenarios where perhaps change is the only constant.

02

Competitive Drivers

OrganizationalAlignment

DifferentiatedValue Chain

StrategicObjectives

Document what we do, do what we document!

ISO9001: Develop processes around best practices!

CMM, Agile, ITIL:

Yesterday’s milestone today’s benchmark!

CMMi, 6-sigma:

Reduce waste, increase process speed!

Lean:

operational efficiency, continuous improvement!

Excelshore:

Process Drivers

Page 3: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

CMMI (Capability Maturity Model Integration) is a proven industry framework providing

a way to manage hardware and software development from product inception through

deployment and maintenance. CMMI was developed to improve the software

engineering domain. It helps in developing and improving the process maturity of an

organization, enabling it to meet its business goals. CMMI allows users to select one or

both of the model representations to best suit their business needs. This flexibility, built

into every CMMI model, supports both staged and continuous approaches for process

improvement with common terminology, architecture, and appraisal methods.

CMMI models provide guidance for improving processes that meet the business goals

of an organization. They may also be used as frameworks for appraising the process

maturity of the organization. They also help eliminate the barriers existing within an

organization.

03

The Journey so far

CMMI Level 5 ver 1.1

CMMI level 5 ver 1.3

Six Sigma PCMM

Lean

Disciplined & standardized way of doing things

Improve and innovate the process. Build quality around people processes

Reduce waste increase process speed

Quality management system /ISO 27001

Yesterday’s milestone is

today’s benchmark

Bottom up

Top Down Time

Page 4: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

However, CMMI implementation requires additional resources, time, and knowledge

(mind-share). It also necessitates a major change in the organizational culture.

According to the newer generation of Agile practitioners, CMMI is overblown, tedious,

and lackluster. The risk of red-tapism is high in CMMI, just as the risk of anarchy is

tremendous in Kanban or extreme programming practices. CMMI tends to promote

processes over substance, affecting the time-to-market requirements of an

organization. At the same time, Agile practices, which may be good enough to deliver a

quality product for now, are not mature enough to either create an organizational

learning baseline useful for future estimations or to manage the human attrition factor

that is so common in the software services industry. CMMI also fails to comprehend

various human perspectives, along with the structural and cultural factors that are

crucial for the success of any project. To some people, Agile practices are a marked

improvement because these practices focus more on product and human interaction,

unlike the classical (assembly-line) process models.

In the scuffle between classical and modern or Agile frameworks, an adversarial attitude

is depicted, which is not only irrational, but also damaging to the common goal of

developing high-quality software in the shortest possible time. By selecting appropriate

techniques to conquer specific challenges, we can work with a successful mix of

frameworks and processes, with the highest possible return on investment.

Let’s concentrate on the ‘common goal of developing the highest quality of software in

the shortest possible time, and at the lowest possible cost’.

We all know that Agile philosophy focuses on client satisfaction via early, frequent, and

continuous delivery of relevant and working software. The objective is to welcome

changing requirements and harness change for the client’s competitive advantage.

Business users, analysts, and developers must work together daily and working

software deliveries, which is a measure of progress, should be on a shorter time scale.

04

Page 5: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

Agile says: Build projects around motivated individuals. Give them the environment

and support they need, and trust them to get the job done. The best architectures,

requirements, and designs emerge from self-organizing teams. At regular intervals, the

team reflects on how to become more effective, then tunes and adjusts its behavior

accordingly. Agile is a type of software development that is based on increments and

iteration.

Now, this seems very good with experienced team members and very flat

organizations. How does a dynamic IT services industry truly implement Agile within its

more vertical framework and achieve ‘compliance on scale’ also, which is a prime need

to drive thousands of very young software professionals?

Someone who knows these frameworks will say that, Agile, by design, is highly flexible

and can hence be shaped into a CMMI-compliant software development process

05

Temptation to releasebefore it’s right

Temptation to prioritisenew features over iterating

previous iteration’s problemsIteration

Image & Code

Test & Validate

Requ

irem

ents

Product Release

Take a look at a sample of typical Agile Process work flow

Typical Agile Process

Page 6: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

without changing the underlying philosophy of the Agile Manifesto. However,

‘compliance on scale’ remains a problem to be solved.

Also, as we add to the flexibility, Agile projects tend to become difficult to predict, from

timelines to budgets. As life becomes ‘Agile’, it also becomes a bit ambiguous.

Agile Scrum is one of the leading causes of Scope Creep. Without a definite end date,

the project management stakeholders are tempted to keep demanding new

functionalities. With a mutual trust environment, this is fine and achievable. However, in

the client-vendor scenario, an objective measurement of success is almost impossible

within an Agile framework. ‘Are the team members committed or otherwise? Has the

project completed successfully or otherwise?’ are difficult questions to answer. Attrition

or project changes are common in the service industry. If any of the team members

leave during a sprint, it can have a huge adverse impact on the sprint’s success.

A critic of the Agile methodology states that it doesn’t have enough control and results

in undocumented changes and chaos. Scrum addresses parallelization by introducing

user stories and enabling every team member to edit every line of code that the team is

responsible for. It also describes how to serialize the work using backlog and sprints.

However, it does not work well for larger teams (more than 8-10 developers) and it has

no solutions for parallelization of the work between multiple departments, controlling

work over various phases, and load balancing. Agile does not have enough control over

the management of multiple teams.

In our pursuit of a perfect framework, to find the answers to the aforementioned

questions, we now come to Scalable Agile. It is an Agile software development process

that refers to the ability to manage large projects with multiple teams. It is a

much-debated subject. Many believe that Agile development cannot be sustained

when a project is large or multiple teams are involved. It’s faster. It’s continuous

delivery. It enables releases ‘on demand’ by having multiple ‘on-demand’ environments

and accepting changes when they are ready. This process is scalable to an indefinite

number of contributing individuals and teams by eliminating centralized iteration

planning and centralized testing.

Now, this opens the door to many types of contributors, not just Scrum teams, or

06

Page 7: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

people trained in a particular process. Established Scrum teams can grab a sprint

backlog, and work as contributors with no process change. If we are bringing in c

ontributors we don’t know, do we control them? Are we managing them? They are

managing themselves in unknown ways! Is our project in control? Let’s say we control

the backlog, so we control what people work on. We also control the code changes and

other changes that we accept. So, we can have an effective control over what goes in

the product.

Still, we need an answer to the question from the service industry management

standpoint—how do we manage these contributors who are required for project

success but are not a part of the team? How does the organization structure respond to

the competing project needs?

A developer’s opinion on the debate depends also on his or her approach to Agile. If

you truly believe in Agile, you probably think it’s scalable!

The Cybage Agile processes are truly scalable because they are supported by an

organizational framework which not only covers software development and project

management processes, but also manages the contributions coming from

organizational supporting teams via a predictable IT-enabled framework.

Moving on from a more standard implementation of Agile, that is Scrum, to a more

agile framework, that is Kanban: In this approach, the process—from definition of a task

to its delivery to the client—is to pull work from a row. Release date is a matter of

choice and doesn’t affect the work stream.

Kanban is more flexible and focuses even more on a continuous delivery. By delivering

small portions of a project continuously to the client, teams have multiple prospects to

manage future iterations with the updated requirements. Kanban revolves around

productivity and efficiency, two concepts that also tie back to the reduction of waste.

The Kanban system focuses on the reduction of waste in all its forms—over-production,

unnecessary motion, defects, over-processing, and waiting.

When waste is removed from a process, project productivity goes up. When work is

properly re-prioritized as needed and communicated using the Kanban cards (or the IT

07

Page 8: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

representation as in some ALM tools) the project resource doesn’t have to question

what he or she should work on next.

Kanban is definitely less effective in shared-resource situations. Kanban in itself doesn’t

remove variability, so unpredictable and lengthy downtimes could provide poor quality

of the system in terms of scrap and rework and this could also affect the functionality. It

can be rigid to product mix changes and small or random orders do not fit the model

well.

The advantage of Lean methodology is the increase in efficiency of the development

process by eliminating waste. This increases the process of software development,

which in turn, decreases project time and cost. The Lean method helps in delivering the

product early. That is, your development team can deliver more functionality in less

time, hence allowing more projects to be delivered.

In Kanban and Lean methodologies, team collaboration and affirmation is very

important to the project’s success. These methods believe in less micromanagement

and more empowerment. Developers do influence the decisions of how a particular

functionality is to be achieved.

Even with the usage of ‘lean-6-sigma’ principles, the project is highly dependent on the

cohesiveness of the team and individual commitment of the team members.

Achievement in the project depends on how well-organized the team members are and

how sound their technical skills are.

CMMI, ‘lean-6-sigma’ , or Agile methodologies, and many other process frameworks or

models still fall short in areas such as loss of a key resource from a team or resources

who are misfits in their teams although they do have some relevant but different skills.

08

Page 9: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

09

Increasing from Waterfall to KANBAN

Decreasing from Waterfall to KANBAN

Waterfall

Iterative,Spiral

Agile-SCRUM

KANBAN

Waterfall

Iterative,Spiral

Agile-SCRUM

KANBAN

Risk of AnarchyNeed/ Assumption: developers are senior, mature and motivated!

Focus on finishing the product / features as required by user

Requires more trust

Bene�t: More �exibility and responsiveness to business

Risk of BureaucracyMore top downFocus on estimationsMore visibility, better projections for senior stakeholders Better organization wide data

Bene�t: More structure and processes increase predictability

My Interpretation

Cybage has combined the proven best practices of the classical models such as CMMI

and modern set of Agile techniques along with its well-integrated model which

facilitates human resource management in projects and improves the productivity and

quality per unit cost for its clients.

This model of IT-enabled intelligent business decisions, known as the ‘ExcelShore’

model of operational excellence, enables senior managers to make data-driven

decisions; thus improving efficiency at every level.

Page 10: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

10

Combined with Cybage-specific SDLC and project management processes, ExcelShore

ensures delivery excellence in a holistic way. This combination covers the capability and

maturity of people along with the capability and maturity of processes.

It is a great human capital management ecosystem which also embodies itself into

higher productivity for clients via well-managed human hierarchies. It acts as a uniform

system handling optimal resource allocation for the right opportunities, overcoming

the barriers of various business units.

Now, let’s look at another classical quality theory posing a challenge to the software

services industry.

Operational Excellence

Excel Shore

Applicatio

n Lifecyc

le

Management

TimeDefects

Doing itefficiently

Lower development cost

Productivity

Doing it on-time every time

Lower Scheduleoverrun cost

ScheduleAdherence

Doing right for the first time

Lower maintenance cost

Business Challenges

Page 11: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

11

When we talk about Cost of Quality, it consists of Cost of Prevention, Cost of Appraisal

(reviews), and Cost of Rework or Failure (internal and external). Increase in quality is

supposed to save cost also due to lesser defects and lesser reworks or failures. This also

results in increased productivity, aiding on-time deliveries, increased client satisfaction,

and overall increased return on investment. While the classic quality theory that quality

is free or quality pays for itself is generally true, as we invest more and more upfront,

both the costs, Cost of Prevention and Cost of Production, increase. Beyond a point, the

costs of appraisal and rework don’t decrease proportionately; and soon these costs

stop decreasing. The challenge is more especially in software development where

capability and maturity of people is as important as the capability and maturity of

processes. In fact, it is very difficult to practically separate the Cost of Production from

the Cost of Prevention (which is supposed to be a part of COQ—Cost of Quality). For

instance, when you have a senior architect working on an architecture or design review,

or a business analyst spending time in requirements elicitation with the client and/or

training the team in the domain or the PM and the team spending time in establishing

simple ALM (Application Life Cycle Management) practices and developing proficiency

in a tool, or simply undergoing soft skills training such as ‘accent and voice

neutralization’ or ‘cross-cultural sensitivity’; how do we classify this cost? It is clear that

these investments will typically result in less rework, less failures, and higher client

satisfaction. But how does one attribute these costs to a software project? (Specifically,

does it get accounted in COP or COQ?)

From the aforementioned analysis, it must be clear by now that it is imperative to look

at the quality and productivity in a holistic way, especially from the angle of quality per

unit cost. The Cybage process framework is closely interacting with the ExcelShore

framework for overall strategic decision-making. This holds good especially from the

human capital management standpoint thereby enabling project practitioners to look

at quality and productivity from this entirely new angle.

The Cybage Project Health Check is a set of

well-integrated models that are meant to

facilitate project management and improve the

software development process simultaneously.

Knowing one’s project is a basic requirement.

Page 12: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

12

That said, the Cybage KYP – PHC initiative ensures that delivery managers, project

managers, and teams understand and appreciate the project in the same way as the

multiple points of contacts or project stakeholders understand. A project becomes

successful not only by striking the right balance of scope, quality, and schedule with

reference to cost (resources), but also by keeping the stakeholders happy! This feat is

possible only when you understand the key success factors in line with the needs of the

stakeholders of your project.

Cybage also has its own unique task management system, which not only includes

standard task management workflows and time management portal, but also an

innovative advisory service to project managers for task allocation. While this service

includes standard features of scheduling, it mainly focuses on matching the varying skill

levels of individual members of a team with the relative complexity of tasks. Our

ExcelShore framework enables this organization-wide experience and skill level matrix.

This integrated framework also allows every project to have a systematic knowledge

management planning, human shadowing techniques, and excellent risk mitigation

strategies with system-suggested ideal project hierarchies guiding the project

managers.

Thus, the Cybage value proposition is not only in the true implementation of scalable

Agile practices and best-in-class CMMI processes, but also through its own unique set

of IT systems guiding the projects in human capital management, effective task

management, risk management, and knowledge management.

Wider coverage, fewer questions!

‘Evidence Based Compliance’ - focus of

SQA’s going forward

Unique Direction of Process Department Process Review System

Page 13: Cybage ExcelShore€¦ · CMMI models provide guidance for improving processes that meet the business goals of an organization. They may also be used as frameworks for appraising

Recently many scholars, practitioners, and quality gurus have started to talk about

productivity as a function of human talent, focus, dedication, and knowledge or skill

level of teams rather than the classical definition based on only process view. In

software or any knowledge industry, productivity largely depends on the level of

human capital invested. Traditionally, quality frameworks have decided to bypass this

important aspect and focus purely on ‘process–driven’ calculation of productivity.

Cybage can calculate productivity in the true sense of the word, capturing both the ‘art’

and ‘science’ of it, giving true ‘value for money’ to its clients.

13

Cybage Software Pvt. Ltd.[An SEI-CMMI Level 5 & ISO 27001 Company]

HQ: Cybage Towers, Survey No 13A/ 1+2+3/1, Vadgaon Sheri, Pune 411014 |

Tel: 91 20 6604 4700 | Fax: 91 20 6604 1701

Pune | Hyderabad | Gandhinagar | Seattle | New Jersey | San Francisco |

Atlanta | Austin | London | Frankfurt | Amsterdam | Sydney

www.cybage.com

© 2014. Cybage Software Ltd. All rights reserved.


Recommended