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 followed principles, and there is little
in the way of defined and widely taught practices to guide working
professionals. When new problems arise in the software field, the tendency is
to invent some new language, tool, or method to solve them.
The full article by Watts S. Humphrey, from Softwar... (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)
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
Despite signs of life in the economy, the realities of software development
persist. Most companies and customers need their software yesterday with the
most advanced features at the lowest possible cost. To accomplish these
seemingly contradictory goals, developers seek to streamline production with
fast, effective processes that can give the customer what he/she wants in the
shortest time possible.
These realities and past development failures have led to a shift in software
development thinking from the more structured, sequential methods of software
development of the past, ... (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)