(Not) Gaining a Competitive Edge in Internet TimeWhy J2EE Projects FailRecognizing Mission Impossible ProjectsLack of Executive SponsorshipLack of User Involvement in the ProjectThe Initial Project Objectives Are WrongChanging Project Requirements and Specifications—“Scope Creep”Lack of or Excessive PlanningLack of IT Management and Technical DirectionObject-Oriented Analysis, Design, and Development IlliteracyThe Warning Signs of a Failing J2EE ProjectMissed MilestonesMiscommunicationToo Many Decision MakersThe Top Ten Checklist for Initiating J2EE ProjectsOrganizational Frameworks for Supporting Enterprise J2EE ProjectsCommunities of PracticeNon-Technical (End-User) CommunitiesTechnical CommunitiesTechnical Centers of Excellence—The J2EE Architecture GroupJ2EE Architectural Guidance to IT ProjectsSoftware Development MethodologiesWhat Is an Object-Oriented (OO) Methodology?Major Motivations for Using OO Methodologies in J2EE System DevelopmentsObject-Oriented Approaches Produce Solutions Which Closely Resemble Their Problem DomainsObject-Oriented Approaches Promote OO ThinkingObjects and Components Are “Black Boxes”AbstractionEncapsulationConcurrencyObject-Oriented Approaches Promote ReusabilityObject-Oriented Approaches Support InteroperabilityObject-Oriented Approaches Possess Traceability CapabilitiesThe Challenges of Using OO Methodologies—“Object Blindness”The Traditional Waterfall MethodologyFeedback Failure Between the PhasesRequirements, Analysis, and Design MilestonesJ2EE Software Development Methodologies UnveiledSelecting a Software Development MethodologyBEA Systems Accelerated Process (Project Initiation Phase)The Participators of the Accelerated ProcessAccelerated Project InitiationAccelerated Requirements MethodAccelerated Technical Feasibility AssessmentCustomer Validation MeetingAccelerated Risk Reduction PlanningRisk Validation MeetingAccelerated Project PlanningRefactoring the Project Plan into Binary DeliverablesIterative and Incremental Software Development PracticesContinuous Project Control Through FeedbackRealistic Deadlines on MilestonesProject Commitment MeetingBEA Systems SteelThread (Architectural Prototyping)SteelThread PrerequisiteseXtreme ProgrammingThe 12 Core Practices of eXtreme ProgrammingThe Planning GameInitial Release PlanningIteration PlanningSmall ReleasesCustomer Tests (Acceptance Testing)Simple DesignPair ProgrammingTest-First Development (Unit Testing)Design Improvement (Refactoring)Continuous IntegrationCollective Code OwnershipCoding StandardMetaphorsSustainable PaceeXtreme Programming ResourcesThe Rational Unified ProcessThe Rational Unified Process ProductThe Principles of the Rational Unified ProcessThe Organization of the Unified ProcessThe Phases of a Rational Unified ProcessInceptionElaborationConstruction PhaseTransition PhaseThe Process Workflows of a Rational Unified ProcessRational Unified Process Resources