Some companies and organizations do ship great software. They deliver products that their customers love. They do it on time and on budget. They deliver solutions and services that are highly valued in the marketplace. So how do they do it? The answer is deceptively simple: They rely on a combination of technology, talent, and process.
Each of these three elements is necessary, but each by itself is insufficient to deliver a great product. If you’re missing one element, you will certainly fail. If you have all three, then you have the necessary raw ingredients to succeed.
Needless to say, a great software or application must be built on modern technology and kept up with the evolution of technology.
Even the simplest software product requires a team with many talents to conduct the activities of analysis, design, coding and testing. Every talent has a unique background, set of skills, expertise, and personality, each brings something different to the team, it can be challenging to organize a team to build a modern application and deliver excellent value.
The process offers a road map and discipline for how to use software development methodology to organize teams and activities to maximize the whole teams' productivity and predictability.