There is a common misconception that CMMI and Agile are polar opposites. One
relies on institutionalization and documentation of processes and
methodologies, while the other emphasizes interaction among workers and
“working software over comprehensive documentation” (Agile Manifesto).
Process documentation and institutionalization is the lifeblood of CMMI, and
it is often used in critical software development life cycles. On the other
hand, the Agile approach is called into action when a project features
incremental changes, particularly those that have not been included in
initial requirement documents.
There have been criticisms of both, as well: CMMI is used only in
security-intensive projects that need massive numbers of workers, layers of
procedures, and a rigid development lifecycle. On the other hand, those who
implement Agile have been referred to as an und... (more)
Even as modern economic activities rely heavily on sound IT strategies, many
organizations fail to take advantage of the many opportunities that
technology can provide. For instance, some types of can improve processes and
profit margins. Clearly, there is a gap between the availability of
infrastructure, and what enterprises actually need to overhaul at their place
of business to benefit cash flow.
Before formulating your company's IT strategy, there are a few questions that
you should ask.
Is the strategy too generic? IT organizations hardly cater to just one type
of need, on... (more)
Whether you are a project manager planning for a smooth implementation of a
plan or a project sponsor on whose decisions a project depends, you cannot
escape from the fact that project estimation is essential to its success. In
the first place, there are three basic requirements that a project must
satisfy: schedule, budget, and quality. The need to work within these
essential project boundaries poses a huge challenge to everyone in the
central management team.
There are various aspects that affect project estimates, such as team skills
and experience levels, available technolog... (more)
What can SaaS (Software as a Service) offer your organization? Review the
countless benefits offered by this revolutionary software deployment model to
determine if SaaS merits a test-drive.
As you may know, Software as a Service (SaaS) is a method for delivering
software applications to customers over the Internet. However, since SaaS
solutions have only been available for approximately seven years, many
information technology (IT) people – as well as company managers and owners
- know very little about SaaS due to its recent emergence. Therefore, two key
issues will determine ... (more)
To mature software engineering, we must learn from history, and to learn from
history, we must define what we do when we develop software and how we do it.
When we produce a process specification and define measures for the key
process parameters, we are beginning to build the basis for reliably and
consistently recording and learning from history. That is why the process
revolution is so important.
Judging by the history of other fields, software engineering and computer
science are still in their infancy. We have yet to build an accepted
foundation of proven and generally foll... (more)