With technology changing every minute, it looks as if we have covered galaxies of distance in last decade or so in terms of advancement in development tools and features. Definitely hardware need to be advanced accordingly to support the resource hungry features built in development tools. Specializations are a defining factor in today’s software development world.
It is not that any development tool will fit in for any software requirement from customer. It requires a complete mapping of hardware, software and peopleware in current scenario to arrive at an optimum solution heading to a win-win situation.
To develop specific software, there need to be a right mix of technical team members. Database administration, database configuration, software development, technical documentation, software testing, software implementation, database and application installation, customer training, customer support and so on are all a mini project in their own spheres.
All these mini projects size up together to build a complete project. All projects are divided into different phases. All phases cannot be started or finished together. Some would be possible to run parallel while others would be sequential in nature. For example software development, server configuration, database configuration, technical documentation can all be started together. While training to customer cannot be imparted without actual software to be implemented at customer site be in place.
Team formation, team coordination, monitoring, follow ups, target setting become prime important to achieve project success and build a strong bonding within teams, with management and with customer.