Defining an Adaptive Foundation
Undertaking the rapid development of enterprise software requires having a strategy in place that sees the entire project team suitably equipped for the task. The techniques and practices introduced throughout this book each contribute toward developing quality software for the J2EE platform faster. However, to gain maximum advantage from the topics covered, project
Preparation requires underpinning the topics discussed with proper tools, training, research, and ongoing support and investment from management. Combining these critical elements, along with suitable techniques from this book, gives rise to the concept of producing an adaptive foundation as the basis for the rapid development of enterprise software. The
Why a Foundation?
The term foundation cements the concept of requiring the necessary building blocks to be in place in order to perform rapid development. Arguably, the term framework would have been equally
Frameworks such as these form only part of the foundation for an effective rapid development strategy. Why Adaptive?
Perhaps the biggest schedule killers are the continual changes that bombard a development project throughout its lifecycle. These changes originate from a variety of sources, including changes in requirements, design, scope, and even in team
The software engineering practices we adopt must be flexible enough to
The techniques and practices included in this book all fit the criterion of being able to
|
Laying the Foundations for Rapid Development
We have established that to meet the challenges of developing enterprise software, a software development company must invest in its own adaptive foundation in order to be in a state of readiness for project work. Rapid development is not possible if a team has to learn how to use new tools and techniques during the course of a project. This learn-as-you-go-approach is commonplace in the software industry but is not conducive to the delivery of
This same logic applies to all facets of the project. Here is a list of the concerns in which a software development company should invest if it is to build a solid foundation for conducting rapid development projects:
Over the course of the
People
Developing software is a people-centric process. The success of the project revolves around the skills and experiences each member of the team
Endeavoring to recruit individuals with the right experience, skills, and attitude is an important factor in forming a team capable of conducting a rapid development project. A further factor is ensuring software
Tools
Software development is complex, and having the correct tools in place to underpin the process can contribute greatly to the accuracy and quality of the software produced. The tools selected should improve the productivity of the team, making efficient use of the skills each member of the team possesses. An
Frameworks
In the context of this book, the J2EE platform is the
J2EE, however, is
Practices
Adopting best practice software engineering techniques results in better software. By investing in proven practices, companies put in place the building blocks that enable software engineers to construct
Standards
Standards serve to unify the way we work as a team or set of
Processes and Procedures
Having established a working set of best practices, the step of documenting them as a set of processes and procedures pulls them together as a reference for a company's adaptive development foundation. Moreover,
Anyone embarking on a new project will have these procedures as a set of blueprints for setting up and running an effective rapid development project. Likewise, staff moving on to an existing project will have a detailed set of instructions as to how they work as part of the project team. This
Training
Investing in training addresses the problem of the high learning curve associated with software development. Training is a must if all
Training needn't be just about people sitting in classrooms and taking courses. People can learn through a variety of different mediums:
The key point is to look beyond generic classroom-based training courses, as these are likely to be unavailable for all of your
Continuous Improvement
The software development industry does not stand still, and new tools, techniques, and practices are continually emerging. A company's adaptive foundation for development must itself be adaptive and capable of incorporating
Keeping the adaptive foundation up to date requires investing time and effort in a program of continuous improvement. Staff members need to research new techniques to determine their suitability, while information
|