You are on page 1of 5

Aspect

Fundamental hypothesis

Management style
Knowledge management
Communication
Development model
Organizational structure

Quality control
User requirements
Cost of restart
Development direction
Testing
Client involvement
Additional abilities required
from developers

Appropriate scale of the project

Developers
Clients
Requirements
Architecture
Remodeling
Size
Primary objectives
Traditional development
Systems are fully specifiable, predictable and are developed through extended and detailed
planning
Command and control
Explicit
Formal
Life cycle model (waterfall, spiral or modified models)
Mechanic (bureaucratic, high formalization), targeting large organization

Difficult planning and strict control. Difficult and late testing


Detailed and defined before coding/implementation
High
Fixed
After coding is completed
Low
Nothing in particular

Large scale
Oriented on plan, with adequate abilities, access to external knowledge
With access to knowledge, cooperative, representative and empowered
Very stable, known in advance
Design for current and predictable requirements
Expensive
Large teams and projects
High safety
Agile development
High quality adaptive software is developed by small teams that use the principle of continuous
improvement of design and testing based on fast feedback and change
Leadership and collaboration
Tacit
Informal
Evolutionary-delivery model
Organic (flexible and participative, encourages social cooperation), targeting small and medium
organizations
Permanent control or requirements, design and solutions. Permanent testing
Interactive input
Low
Easily changeable
Every iteration
High
Interpersonal abilities and basic knowledge of the business

Low and medium scale


Agile, with advanced knowledge, co-located and cooperative
Dedicated, knowledgeable, cooperative, representative and empowered
Emergent, with rapid changes
Design for current requirements
Not expensive
Small teams and projects
Quick value
Dimension Main Success Factors

Organizational Corporate Culture

User involvement

People
Team Capability

Project management process

Process
Project definition process

Active testing

Clear objectives and goals

Realistic schedule
Project
Realistic budget

Clear requirements and specifications


Selecting proper agile method
Technical
Using advanced technology
Sub Success Factors
Support from top management
Team Environment
Handling commercial pressures
Stakeholder politics
Effective project management skills
Ability to handle the project's complexity
Decision time
Effective communication and feedback
Minimum change in requirmeents
Simplicity in process
Good reporting of project status
Risk management
Time allocation
Accurate estimates of project resources
Code review
Project type
Project nature

Team distribution
Team size

Configuring the necessary tools and infrastructure


Familiarity with technology

You might also like