This book gives an overview what a programmer should consider for developing a software package to solve a particular problem. The Book describes a Software Process starting from requirement analysis up to delivery of the software and maintenance,Software Engineering Principles, Software Project Management Concepts, defines the managing process in Software project Management, discuss the software matrix, assess the risk involved in software projects including the management techniques and the mitigation. At the end, some practical examples are also included.