PROJECT MANAGEMENT APPROACH Confidential Focal3 Softw are Pvt Ltd - - PDF document

project management approach
SMART_READER_LITE
LIVE PREVIEW

PROJECT MANAGEMENT APPROACH Confidential Focal3 Softw are Pvt Ltd - - PDF document

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 1 of 1 2 PROJECT MANAGEMENT APPROACH Confidential Focal3 Softw are Pvt Ltd F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 2 of 1 2 Introduction All projects are classified into a category based on the amount of work effort


slide-1
SLIDE 1

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 1 of 1 2

PROJECT MANAGEMENT APPROACH

Confidential Focal3 Softw are Pvt Ltd

slide-2
SLIDE 2

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 2 of 1 2

Introduction

All projects are classified into a category based on the amount of work effort and

  • risk. The project may fall into different class based on the size matrix. One size

doesn't fit all when it comes to managing projects. The amount of documentation and required project management activities must scale to the size of the project. Size is basically determined based on work effort, represented by the estimated number of person-hours/ man days required to complete the work and the budget for staff resources, both internal and external to the organization. Risks Although work effort and staff budget are good indicators for the amount of project management that should be expended, certain factors can also bring about the need for the application of more robust project management practices. There are mainly five risk factors that have to be evaluated once the initial classification level is

  • determined. They are team size, no of groups involved, technology expertise,

complexity and the impact/ profile

Life Cycle Models

Each phase produces deliverables required by the next phase in the life cycle. Requirements are translated into design. Code is produced during implementation that is driven by the design. Testing verifies the deliverable of the implementation phase against requirements.

Requirements

Business requirements are gathered in this phase. This phase is the main focus of the project managers and stakeholders. Meetings with managers, stakeholders and users are held in order to determine the requirements. Who is going to use the system? How will they use the system? What data should be input into the system? What data should be output by the system? These are general questions that get answered during a requirements gathering phase. This produces a nice big list of functionality that the system should provide, which describes functions the system should perform, business logic that processes data, what data is stored and used by the system, and how the user interface should work. The overall result is the system as a whole and how it performs, not how it is actually going to do it.

Design

The software system design is produced from the results of the requirements phase. Architects have the ball in their court during this phase and this is the phase in which their focus lies. This is where the details on how the system will work is produced. Architecture, including hardware and software, communication, software design (UML is produced here) are all part of the deliverables of a design phase. Confidential Focal3 Softw are Pvt Ltd

slide-3
SLIDE 3

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 3 of 1 2

Implementation

Code is produced from the deliverables of the design phase during implementation, and this is the longest phase of the software development life cycle. For a developer, this is the main focus of the life cycle because this is where the code is

  • produced. Implementation my overlap with both the design and testing phases.

Many tools exists (CASE tools) to actually automate the production of code using information gathered and produced during the design phase.

Testing

During testing, the implementation is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. Unit tests and system/ acceptance tests are done during this

  • phase. Unit tests act on a specific component of the system, while system tests act
  • n the system as a whole.

Project management at Focal3

Project management is concerned with the overall planning and co-ordination of a project from inception to completion aimed at meeting the client's requirements and ensuring completion on time, within cost and to required quality standards. The component processes in project management can be placed into five process groups (initiating, planning, executing, controlling and closing) and nine knowledge areas (project integration management, project scope management, project time management, project cost management, project quality management, project human resource management, project communications management, project risk management and project procurement management). In the initial stage of the project itself, it will be necessary to classify the project by size: Confidential Focal3 Softw are Pvt Ltd

Project type Size (in man months) Lifecycle Small < 3 months Agile methodology Medium > 3months & < 6 months Water fall Model/ Agile Large > 6 months Incremental/ Spiral Model

slide-4
SLIDE 4

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 4 of 1 2

Waterfall Model

This is the most common and classic of life cycle models, also referred to as a linear- sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed in its entirety before the next phase can

  • begin. At the end of each phase, a review takes place to determine if the project is
  • n the right path and whether or not to continue or discard the project. Unlike what

I mentioned in the general model, phases do not overlap in a waterfall model. Advantages

  • Simple and easy to use.
  • Easy to manage due to the rigidity of the model – each phase has specific

deliverables and a review process.

  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very well understood.

Disadvantages

  • Adjusting scope during the life cycle can kill a project
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Poor model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Poor model where requirements are at a moderate to high risk of changing.

Confidential Focal3 Softw are Pvt Ltd

slide-5
SLIDE 5

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 5 of 1 2

Incremental Model

The incremental model is an intuitive approach to the waterfall model. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed iterations. Each iteration passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first iteration, so you have working software early on during the software life cycle. Subsequent iterations build

  • n the initial software produced during the first iteration.

Advantages

  • Generates working software quickly and early during the software life cycle.
  • More flexible – less costly to change scope and requirements.
  • Easier to test and debug during a smaller iteration.
  • Easier to manage risk because risky pieces are identified and handled during

its iteration.

  • Each iteration is an easily managed milestone.

Disadvantages

  • Each phase of an iteration is rigid and do not overlap each other.
  • Problems may arise pertaining to system architecture because not all

requirements are gathered up front for the entire software life cycle. Confidential Focal3 Softw are Pvt Ltd

slide-6
SLIDE 6

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 6 of 1 2

Spiral Model

The spiral model is similar to the incremental model, with more emphases placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spiral builds on the baseline spiral.

  • Requirements are gathered during the planning phase.
  • In the risk analysis phase, a process is undertaken to identify risk and

alternate solutions.

  • A prototype is produced at the end of the risk analysis phase.
  • Software is produced in the engineering phase, along with testing at the end
  • f the phase.
  • The evaluation phase allows the customer to evaluate the output of the

project to date before the project continues to the next spiral.

  • In the spiral model, the angular component represents progress, and the

radius of the spiral represents cost. Advantages

  • High amount of risk analysis
  • Good for large and mission-critical projects.
  • Software is produced early in the software life cycle.

Disadvantages

  • Can be a costly model to use.
  • Risk analysis requires highly specific expertise.
  • Project’s success is highly dependent on the risk analysis phase.
  • Doesn’t work well for smaller projects.

Confidential Focal3 Softw are Pvt Ltd

slide-7
SLIDE 7

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 7 of 1 2

Agile Methodology

Major Agile m ethods are –

  • Scrum
  • Dynamic Systems Development Method (DSDM)
  • Crystal Methods
  • Feature-Driven Development (FDD)
  • Lean Development (LD)
  • Extreme Programming (XP)
  • Adaptive Software Development (ASD)

Of these, Focal3 practices processes such as Scrum , DSDM, FDD and XP, depending on specific project requirement and delivery schedules. Focal3’s eXtreme Programming approach is detailed below: Confidential Focal3 Softw are Pvt Ltd

slide-8
SLIDE 8

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 8 of 1 2

eXtreme Programming (XP)

Extreme Programming (XP) is an agile, adaptive software development methodology with a well-defined set of values and core practices. XP is defined by its 12 practices —The Planning Game, Small releases, Metaphor, Simple design, Refactoring, Test-First Development (Test Driven Development), Pair programming, Collective ownership, Continuous integration, 40-hour week, On-site customer, and Coding standards. XP is founded around small releases (approximately 6 months) with iterations of two weeks during which developers implement program features specified jointly by client and developer. Client collaboration is paramount to XP, where the client is involved in planning and regular feedback to produce software closely tailored to the users' needs. The emphasis on testing, such as client acceptance tests, Pair Programming, and Test Driven Development ( TDD) , result in production code of higher quality and more reliability. Pair Program m ing – Pair programming is one of the extreme programming models where 2 programmers working side-by-side, collaborating on the same design, algorithm, code or test. One programmer, the driver, has control of the keyboard/ mouse and actively implements the program. The other programmer, the

  • bserver, continuously observes the work of the driver to identify tactical (syntactic,

spelling, etc.) defects and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software.

Process

XP Lifecycle as practiced by Focal3 consists of six phases:

  • 1. Exploration
  • 2. Planning
  • 3. Iterations to release
  • 4. Productionizing (Product Release)
  • 5. Maintenance
  • 6. Death

Please ref Figure 1 shown below – Confidential Focal3 Softw are Pvt Ltd

slide-9
SLIDE 9

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 9 of 1 2 Figure 1 Confidential Focal3 Softw are Pvt Ltd

slide-10
SLIDE 10

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 1 0 of 1 2

1) Exploration Phase

  • Clients write story cards representing features to be added
  • Project Team gets familiarized on tools and technologies envisaged for the

project

  • Prototypes are built for a better understanding of architecture and tool
  • Time Taken – few weeks

2) Planning Phase

  • Sets priority order for stories
  • Agreement on contents of first release
  • Effort estimate for each story is assessed by each team member
  • Schedule for first release, normally less than 2 months
  • Time Taken – 2 to 4 days

3) I terations to release Phase

  • Planned schedule broken down into several iterations each of duration 1 to

4 weeks

  • First iteration creates a system with the architecture (structure) of the

whole system

  • This is achieved by selecting stories which represent the whole system
  • Client decides stories to be selected for each subsequent iteration
  • Functional tests at the end of each iteration
  • System is ready for production after the last iteration
  • Time Taken for each iteration – 1 to 4 weeks

4) Productionizing Phase

  • Performance testing and checking of system before release to the client
  • New changes suggested
  • Decision taken whether to include suggested changes with current release
  • Postponed changes documented for later implementation (Maintenance

Phase)

  • Iterations quickened to 1 week duration
  • Time Taken for each iteration – 1 week

5) Maintenance Phase

  • Keep the system in production running, through customer support tasks
  • Produce new iterations for incorporating changes, decelerate speed
  • Change Project team structure by incorporating new members

6) Death Phase

  • No more stories to be implemented
  • Through client feedback, ensure system satisfies client needs in every

respect

  • Documentation is done - after confirming that no more changes to the

architecture, design or code is required Confidential Focal3 Softw are Pvt Ltd

  • Death can also happen, if the system does not deliver the desired
  • utcome
slide-11
SLIDE 11

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 1 1 of 1 2

Roles and Responsibilities

  • Client – Writes stories and functional tests
  • Program m er - Writes tests and code
  • Tester – Runs functional tests, broadcasts test results and maintains

testing tools

  • Tracker – Traces estimates and progress of each iteration
  • Trainer – Guides the team in following the XP process
  • Consultant – External member with technical know-how, guides the team
  • Manager – Manages the whole process, decision-maker and key

communicator, with the team as well as the client

Practices

XP practices followed by Focal3 have been derived from existing methodologies such as Use Cases, Spiral model and Modified Waterfall model. Our key practices are:

  • Planning gam e

Close interaction between the client and the programmer Client estimates scope and release timings Developer estimates effort

  • Sm all releases

At least, once every 2 to 3 months

  • Metaphor

Set of metaphors used by client and developers, and which define the system

  • Sim ple design

Complexity and extra (slack) code removed

  • Testing

Unit tests are applied before the code and run continuously

  • Refactoring

Restructure by removing duplication, simplifying, and adding flexibility

  • Pair program m ing

Two people code at one work-station

  • Collective ow nership

Anyone can change code

  • Continuous integration

New code units integrated to code-base as and when they are completed Thus system is integrated, built and tested many times a day

  • 4 0 hour w eek

Multiple overtime weeks treated as a problem to be solved

  • Onsite client

Client to be available full-time for the project team

  • Coding standards

Coding standards are strictly adhered to Confidential Focal3 Softw are Pvt Ltd

  • Fair rules

Changes to team rules introduced only after adequate impact analysis

slide-12
SLIDE 12

F3 _ Doc_ 0 0 2 _ Ver4 .0 Page 1 2 of 1 2

Scope of Use

XP is ideal -

  • For small and medium sized project teams, that is, 3 to 25 members
  • Where close interaction between client and project team is possible
  • Where continuous communication and coordination between team

members is possible Confidential Focal3 Softw are Pvt Ltd

  • Where selected technology or tool supports change and rapid feedback