Professional Documents
Culture Documents
• MileStone:
• Is a significant event in the s/w product life cycle.
• Eg completion of requirement analysis, completion of design, and integration and successful
testing of all system components.
• Plan to Reach Mile stones:
• How many milestones are appropriate?
• When do they occur?
• What resources are required to reach each milestone?
• Who will be responsible for achievement of each milestone?
• What must be true to permit achievement of each milestone?
• Exactly what will constitute achievement of each milestone?
Some Factors to Consider in Project Planning
• Should account for all external factors visible to the product users
• Should be phrased to permit alternative approaches to product design.
• Solution strategies should provide feasibility studies and cost estimates.
• Provide a framework for design and implementation of s/w product.
• Solution strategy should be generated without regard for
feasibility.
• An unreasonable idea will lead to other ideas, which may be
reasonable.
• Best strategy
• composite of ideas from several different approaches.
• Become apparent only after enumerated all possible ideas.
• Feasibility can be established by examining
solution constraints.
• Prescribe the boundaries of the solution space.
• Feasibility analysis determines proposed strategy is with in boundary.
• Solution strategy is feasible if the project goal and
requirements can be satisfied with in the constraints of
• Available time
• Resources
• Technology
• Techniques for determines feasibility of a solution
strategy includes
• Case studies.
• Worst case analysis.
• Simulation.
• Construction of prototypes.
• Prototype incorporates some components of actual
system. Its implementations have
• Limited functionality.
• Low reliability.
• Poor performance characteristics.
• Constructed during the planning phase to examine
» Technical issues
» Simulate users displays
» Report formats
» Dialogues
• Documentation is extremely important when the
strategy is recommended.
• Should state the reason for rejecting other strategy
• Provides justification for the recommended strategy.
• May prevent ill-considered revisions at some later date.
• Priority list should include in the solution strategy.
• During the development life cycle it may be necessary to
postpone or eliminate some system capabilities due to
inconsistencies in the
» Requirements
» Technical bottle necks
» Time and cost over runs
• Without the priority list designer or programmer may make serious
mistakes in judgments.
• Also useful to indicate the manner in which capabilities can be developed
and phased into an evolving system.
• Useful in planning the successive versions to be built
2.3 Planning The development Process
• Several important considerations
• Define a product life cycle model
– Encompasses all activities required to
» Define
» Develop
» Test deliver operate and
» Maintain s/w concerned parties improves
» This model accepted by all and improves
• Project communication
• Enhances manageability
• Resource allocation
• Cost control
• Product quality
The Phased Life-Cycle Model
• Series of successive activities
• Each phase requires
• Well-defined i/p information.
• Utilizes well-defined process.
• Results in well-defined products.
• Resources are required to complete the process in each
phase.
• Each phase is accomplished the application of explicit
• Methods
• Tools
• Techniques.
Waterfall Chart
• Analysis 2 phase
• Planning
• Requirement Definition
• Design phase
• Architecture Details
• Implement phase
• Code
• Debug
• Unit test
• System test
• Integration Acceptance
• Maintenance phase
• Enhance
• Adapt
• Fix
ANALYSIS DESIGN PHASE IMPLEMENT SYSTEM MAINTENANCE
PHASE PHASE TESTING PHASE
Planning
Requirement
Definition
Architecture
details Code
Verify Debug
Unit test
verify
verify Integration
Acceptance
verify Enhance
Adapt
fix
5. Maintenance :
• Enhancement of capabilities.
• Adaption of the s/w to new processing environments
• Correction of s/w bugs.
2.1 Defining The Problem
• Analysis consist of 2 sub phases :
1. Planning and
2. Requirements Definitions
Defining the Problem :
Design version
I
Build Version
Assess Version
I
No
Good
Main
2.4 planning an organizational structure
• Matrix Format
• Each of the function has its own management team and
group of specialized persons.
• Each project has a project manager concerned only
with that project.
• Each functional group participate in that project.
• Everyone has at least 2 bosses.
2.4.2 Programming Team Structure
1. Democratic teams:
• Developed by weinberg as “Egoless team”.
• Ego less Team:
Group leadership rotate from member to member based
on differing abilities of team members.
Work products discussed openly and freely by all.
• Democratic Team:
One team member designated team leader.
Team leader does not rotate.
One individual is responsible for coordination.
Structure Communication Path
• Advantage:
• Opportunity for each team member to contribute to decision.
• Opportunity for team members to learn from one other.
• Increased job satisfaction
• Non threatening work environment.
• Manteri suggest – well suited to difficult, long-term research
and development projects
• Team stay together for several years and work on different
projects.
• Disadvantages:
• Communication overhead to reach decision.
• Requirement to work together .
• Weakening individual responsibility and authority.
2. Chief Programmer Teams:
• Highly structured
• The management structure and communication paths are used.
• The chief programmer
• designs the product.
• Implements critical parts of the product
• Makes all major technical decisions.
• Work is allocated to the individual programmer.
• Programmer:
• Write code and debug, document and unit test it.
• The back-up programmer:
• Serves as consultant to the chief programmer on various technical problems.
• Chief programmer assisted by administrative program manger.
• Responsibility and authority for development of s/w product.
• Advantageous:
• Centralized decision making and reduced communication paths
Librarian
programmer
back-up programmer
3. Hierarchical Team Structure:
• Between extremes of democratic and chief
programmer.
• Project Leader:
• Assign Tasks
• Attend Reviews
• Walk through
• Detects problem Area
• Balances the work load
• Participate in technical activities.
• Limits the number of communication paths.
• Well suited for hierarchical s/w products
• Each sub system assigned to different team
• Disadvantageous:
• Most technically competent programmers tend to
be promote into management positions.
• Loosing a good programmer.
2.4.3 Management Objectives
• A related technique .
• Employees set their own goals and objectives
with the help of their supervisor
• Participate in the setting of their supervisors
goal.
• Evaluated by meeting concrete, written
objectives.
• Tangible , clearly achievable objectives are set
for periods of 1 to 3 months.
• Well suited
• To the milestones and intermediate work products of s/w
engineering.
• To the temperament of highly skilled and self motivated
s/w engineers.
• MBO can be applied at all levels of an organization
• Can include both product-oriented objectives.
• Completion of design
• Testing
• Self-improvement objectives
• Skills to acquire and preparation for advancements
• Job oriented skills and career oriented goals are agreed by
supervisor and subroutine.
• Placed in writing
• Evaluated at the end of an agreed-upon time period.
2.5 other planning Activities
• Includes the planning
The configuration management
Quality assurance functions
Planning for independent validation and
verification.
Planning phase-dependent tools and
techniques.
• 2.5.1 planning for configuration Management
and Quality Assurance:
Configuration management concerned with
controlling changes in work product.
Accounting for status of work products
Maintaining the program support library
Quality Assurance
Develops and monitors adherence to project standard
Perform audits of the process and work products
Develops and performs the acceptance tests.
2.5.2 Planning for Independent Verification and
Validation:
• On some critical s/w projects
Independent organization may provide
verification and validation .
Verification ensures various work products
are complete and consistent with respect
other work product.
validation involves planning and execution
of test cases
2.5.3 Planning Phase-Dependent Tools and
Techniques:
• Automated tools
• Specialized Notations
• Modern techniques used to develop s/w
requirement specifications
• Architectural and detailed design source code
• Automated testing may be used for unit testing,
system testing and acceptance testing
• Management tools such as PERT charts, Gant charts,
work break down structure, personnel staffing
charts may be used to track and control progress
2.5.4 Other Planning Activities:
• Includes preparing
preliminary cost estimates for product
development.
Establishing a preliminary development
schedule
Establishing preliminary staffing levels
Developing preliminary estimates of the
computing resources and personnel
required to operate and maintain the
system.