Chapter 13 Creating Innovatining Organizations Paper Chapter 13 – Creating Innovatining Organizations 1.0 What is the difference between sustaining disrup
Chapter 13 Creating Innovatining Organizations Paper Chapter 13 – Creating Innovatining Organizations
1.0 What is the difference between sustaining disruptive technology?.
2.0 What is a difference between information richness and information reach?.
3.0 How Have the internet and WWW created a global plataform for business?.
4.0 What are the four ebusiness advantages?.
5.0 What is the difference between ebusiness and ecommerce?.
Chapter 14 – Ebusiness
1.0 What is business model?.
2.0 What are the benefits and challenges associated with E business?.
3.0 What is the difference between a B2B and C2C?.
4.0 What is the difference between a C2B and B2C?.
5.0 what is the difference between serach engine ranking and search engine ranking and search engine optimization?.
Chapter 15 – Creating Collaborative Partnerships
1.0 What are the benefits and challenges associated with Web 2.0?.
2.0 What are the four primary characteristics of Web 2.0?.
3.0 Would a small business want to use crowdsourcing or crowdfunding?.
4.0 What are the three challenges associated whit Business 2.0?.
5.0 How does business differ from Ebusiness.
Chapter 16 – Integrating Wireless Techonology in Business
1.0 What is a personal area network?.
2.0 how does WI-FI work?.
3.0 What are the advantages of mobile business?.
4.0 What is IT consumerization and how does it impact an organization?.
5.0 What is the difference between WEP and WPA?.
Chapter 17 – Developing Software to Streamline Operations
1.0 What is the systems development life cycle?.
2.0 Which phase in the systems development life Cycle is the most important?.
3.0 What are the different types of system testing?.
4.0 What are the different types of system implementation methods?.
5.0 why should end users be involved in the systems development effort?.
Chapter 18 – Methodology for Supporting Agile Organizations
1.0 Which project management methodology would you choose to run your systems development project?.
2.0 What do rapid application development, extreme programming, and the rational unified process all have in common?.
3.0 How many gates are included in the RUP methodology?.
4.0 What is a service-oriented architecture?.
5.0 What is a service?.
Chapter 19 – Managing Organizational Projects
1.0 What role does project management play in the systems development effort?.
2.0 Why would a project manager use Gantt and PERT charts?.
3.0 What are the different types of outsourcing available for a project?.
4.0 Expelling the goal of the Project Management Institute and identify three key terms associated with PMBOK.
5.0 Explain the different types of feasibility studies a project manager can use to prioritize project importance?. Business Driven Technology
Armando V. Tauro,Ph.D.
atauro@ju.edu
atauro@geconsultinggropup.us
PROJECT MANAGEMET
PROJECT MANAGEMET
Managing the Software Process
2
Explain Project management and identify the primary reasons projects fail.
Explain the three different type of outsourcing along with the benefits and
challenges
Explain the three common the business forms
Explain the list and describe the seven departments commonly found in most
organizations
Explain the different type business including a sole proprietorship, partnership
or corporation
Explain differentiate among automation, streamlining and reengineering
Explain the six major category of hardware and provide an example of each
Explain MIS infrastructure and its three primary types
Managing the Software Process
3
Managing the Software Process
4
Managing the Software Process
5
Managing the Software Process
6
¿Explain the three different type of outsourcing along with the benefits
and challenges?
Managing the Software Process
7
Managing the Software Process
8
Managing the Software Process
9
Managing the Software Process
10
Managing the Software Process
11
Managing the Software Process
12
Managing the Software Process
13
Managing the Software Process
14
Managing the Software Process
15
Managing the Software Process
16
Managing the Software Process
17
Managing the Software Process
18
11.1 What is Project Management?
Project management encompasses all the activities
needed to plan and execute a project:
Deciding what needs to be done
Estimating costs
Ensuring there are suitable people to undertake the
project
Defining responsibilities
Scheduling
Making arrangements for the work
continued …
Managing the Software Process
19
What is Project Management?
Directing
Being a technical leader
Reviewing and approving decisions made by others
Building morale and supporting staff
Monitoring and controlling
Co-ordinating the work with managers of other projects
Reporting
Continually striving to improve the process
Managing the Software Process
20
11.2 Software Process Models
Software process models are general approaches for
organizing a project into activities.
Help the project manager and his or her team to decide:
What work should be done;
In what sequence to perform the work.
The models should be seen as aids to thinking, not rigid
prescriptions of the way to do things.
Each project ends up with its own unique plan.
Managing the Software Process
21
The opportunistic approach
First
Prototy pe
Modif y
Until
Satisf ied
Think of Idea
f or
Improv ement
Managing the Software Process
22
The waterfall model
The Waterfall Model was
the first Process Model to
be introduced. It is also
referred to as a linearsequential life cycle model.
It is very simple to
understand and use. In a
waterfall model, each phase
must be completed before
the next phase can begin
and there is no overlapping
in the phases.
Managing the Software Process
23
The Waterfall model
The classic way of looking at S.E. that accounts for the importance of requirements, design and quality assurance
The Waterfall model is the earliest SDLC approach that was used for software
development.
The model suggests that software engineers should work
in a series of stages.
Before completing each stage, they should perform
quality assurance (verification and validation).
The waterfall model also recognizes, to a limited extent,
that you sometimes have to step back to earlier stages.
Managing the Software Process
24
The sequential phases in Waterfall model
Requirement Gathering and analysis ? All possible requirements of the system to be developed are
captured in this phase and documented in a requirement specification document.
System Design ? The requirement specifications from first phase are studied in this phase and the
system design is prepared. This system design helps in specifying hardware and system
requirements and helps in defining the overall system architecture.
Implementation ? With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and tested
for its functionality, which is referred to as Unit Testing.
Integration and Testing ? All the units developed in the implementation phase are integrated into a
system after testing of each unit. Post integration the entire system is tested for any faults and
failures.
Deployment of system ? Once the functional and non-functional testing is done; the product is
deployed in the customer environment or released into the market.
Maintenance ? There are some issues which come up in the client environment. To fix those issues,
patches are released. Also to enhance the product some better versions are released. Maintenance
is done to deliver these changes in the customer environment.
Managing the Software Process
25
Waterfall Model – Application
Every software developed is different and requires a
suitable SDLC approach to be followed based on the
internal and external factors. Some situations where the
use of Waterfall model is most appropriate are ?
Requirements are very well documented, clear and fixed.
Product definition is stable.
Technology is understood and is not dynamic.
There are no ambiguous requirements.
Ample resources with required expertise are available to
support the product.
The project is short.
Managing the Software Process
26
Waterfall Model – Advantages
The advantages of waterfall development are that it allows for departmentalization and
control. A schedule can be set with deadlines for each stage of development and a
product can proceed through the development process model phases one by one.
Development moves from concept, through design, implementation, testing, installation,
troubleshooting, and ends up at operation and maintenance. Each phase of
development proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows ?
Simple and easy to understand and 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.
Clearly defined stages.
Well understood milestones.
Easy to arrange tasks.
Process and results are well documented.
Managing the Software Process
27
Waterfall Model – Disadvantages
The disadvantage of waterfall development is that it does not allow much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-documented or thought upon in the concept
stage.
The major disadvantages of the Waterfall Model are as follows ?
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
It is difficult to measure progress within stages.
Cannot accommodate changing requirements.
Adjusting scope during the life cycle can end a project.
Integration is done as a “big-bang. at the very end, which doesn’t allow identifying
any technological or business bottleneck or challenges early.
Managing the Software Process
28
Agile Software Development
Agile Development:
based on iterative and incremental development, where
requirements and solutions evolve through collaboration
between self-organizing, cross-functional teams. It
promotes adaptive planning, evolutionary development
and delivery, a time-boxed iterative approach, and
encourages rapid and flexible response to change.
Managing the Software Process
29
AGILE Method and XP
(Extreme Programming)
Question: Has anyone heard of the Agile methodology?
30
Reengineering
Periodically project managers should set aside some
time to re-engineer part or all of the system
The extent of this work can vary considerably:
Cleaning up the code to make it more readable.
Completely replacing a layer.
Re-factoring part of the design.
In general, the objective of a re-engineering activity is to
increase maintainability.
¿Explain the three different type of outsourcing along
with the benefits and challenges?
Managing the Software Process
31
¿Explain the three different type of outsourcing along with the benefits
and challenges?
Managing the Software Process
32
11.3 Cost estimation
To estimate how much software-engineering time will be
required to do some work.
Elapsed time
The difference in time from the start date to the end
date of a task or project.
Development effort
The amount of labour used in person-months or
person-days.
To convert an estimate of development effort to an
amount of money:
You multiply it by the weighted average cost (burdened
cost) of employing a software engineer for a month (or a
day).
Managing the Software Process
33
Question
Assume that I gave your group the task of figuring out
how much time you needed to code your project because
you were going sell it online.
What are some techniques/ideas/concerns/thoughts you
have for estimating the timing of a large project?
i.e. How do you decide/figure out how long it takes you to
do an assignment?
Managing the Software Process
34
Principles of effective cost estimation
Principle 1: Divide and conquer.
To make a better estimate, you should divide the project
up into individual subsystems.
Then divide each subsystem further into the activities
that will be required to develop it.
Next, you make a series of detailed estimates for each
individual activity.
And sum the results to arrive at the grand total estimate
for the project.
Managing the Software Process
35
Principles of effective cost estimation
Principle 2: Include all activities when making
estimates.
The time required for all development activities must be
taken into account.
Including:
–
Prototyping
Design
Inspecting
Testing
Debugging
Writing user documentation
Deployment.
Managing the Software Process
36
Principles of effective cost estimation
Principle 3: Base your estimates on past experience combined
with knowledge of the current project.
If you are developing a project that has many similarities with
a past project:
You can expect it to take a similar amount of work.
Base your estimates on the personal judgement of your
experts
or
Use algorithmic models developed in the software industry as
a whole by analyzing a wide range of projects.
They take into account various aspects of a projects size
and complexity, and provide formulas to compute
anticipated cost.
Managing the Software Process
37
Algorithmic models
Allow you to systematically estimate development effort.
Based on an estimate of some other factor that you can
measure, or that is easier to estimate:
The number of use cases
The number of distinct requirements
The number of classes in the domain model
The number of widgets in the prototype user
interface
An estimate of the number of lines of code
Managing the Software Process
38
Principles of effective cost estimation
Principle 4: Be sure to account for differences when
extrapolating from other projects.
Different software developers
Different development processes and maturity levels
Different types of customers and users
Different schedule demands
Different technology
Different technical complexity of the requirements
Different domains
Different levels of requirement stability
Managing the Software Process
39
Principles of effective cost estimation
Principle 5: Anticipate the worst case and plan for
contingencies.
Develop the most critical use cases first
If the project runs into difficulty, then the critical
features are more likely to have been completed
Make three estimates:
Optimistic (O)
– Imagining a everything going perfectly
Likely (L)
– Allowing for typical things going wrong
Pessimistic
– Accounting for everything that could go wrong
Managing the Software Process
40
Principles of effective cost estimation
Principle 6: Combine multiple independent estimates.
Use several different techniques and compare the results.
If there are discrepancies, analyze your calculations to
discover what factors causing the differences.
Use the Delphi technique.
Several individuals initially make cost estimates in
private.
They then share their estimates to discover the
discrepancies.
Each individual repeatedly adjusts his or her
estimates until a consensus is reached.
Managing the Software Process
41
Principles of effective cost estimation
Principle 7: Revise and refine estimates as work
progresses
As you add detail.
As the requirements change.
As the risk management process uncovers problems.
Managing the Software Process
42
11.4 Building Software Engineering Teams
Software engineering is a human process.
Choosing appropriate people for a team, and assigning
roles and responsibilities to the team members, is
therefore an important project management skill
Software engineering teams can be organized in many
different ways
a) Egoless
b) Chief programmer
Managing the Software Process
c) Strict hierarchy
43
Skills needed on a team
Architect
Project manager
Configuration management and build specialist
User interface specialist
Technology specialist
Hardware and third-party software specialist
User documentation specialist
Tester
Managing the Software Process
44
11.5 Project Scheduling and Tracking
Scheduling is the process of deciding:
In what sequence a set of activities will be
performed.
When they should start and be completed.
Tracking is the process of determining how well you are
sticking to the cost estimate and schedule.
Managing the Software Process
45
Some Basic Project Management Terminology
Deliverable: some concrete thing which is to be delivered, to the client
or internally to the development team; e.g.
Specifications reports
Executable program
Source code
Task/Activity: something we have to do during the project; e.g.
Defining user requirements
Coding a module
Doing system testing
Each task or activity will take some length of time
Referred to as duration of task
Sometimes measured in days, weeks, etc.
Sometimes measured in person-days, person-weeks, etc.
Person-day = number of people X number of days
Example: 12 person days for writing all code could mean 1 person 12 days
or 4 people 3 days
Note: not always true that a task that takes 1 programmer 12 days would
take 12 programmers 1 day
UWO
Computer Science Department
46
Dependencies and Milestones
For a given task or activity, may be impossible to start it without
some other task(s) or activity(ies) having been completed; e.g.
Cannot start coding without completing design
Cannot start system testing without completing code integration and
test plan
If task B cannot start without A being completed, we say
B depends on A
There is a dependency between A and B
Milestone: some achievement which must be made during the
project; e.g.
Delivering some deliverable
Completing some task
Note, delivering a deliverable may be a milestone, but not all
milestones are associated with deliverables
UWO
Computer Science Department
47
Setting and Making Deadlines
Deadline time by which milestone has to be met
Some deadlines are set by the client
Others are set by us on project to make sure project stays on track
To set a deadline for completing task T, we must consider how long it
will take to:
Complete the tasks that task T depends on
Complete task T itself
If we miss a deadline, we say (euphemistically) the deadline has
slipped
This is virtually inevitable
Important tasks for project managers
Monitor whether past deadlines have slipped
Monitor whether future deadlines are going to slip
Allocate or reallocate resources to help make deadlines
PERT chart and Gantt charts help project managers do these things
(among others)
UWO
Computer Science Department
48
PERT Chart Task Edges
Parts of a task/activity edge
Task letter
D
5
Task duration
Task letter:
Often keyed to a legend to tell which task it represents
Task duration = how long (e.g. days, hours) task will take
UWO
Computer Science Department
49
PERT Chart Event Nodes
Event Number:
Earliest Completion
Time (ECT):
Sequence number
assigned
Only task edges
indicate
dependencies
5
9
19
Earliest time this event
can be achieved, given
durations and
dependencies
Latest Completion Time (LCT):
Latest time that this event could be safely achieved
UWO
Computer Science Department
50
PERT Charts
PERT = Project Evaluation and Review Technique
PERT chart = graphical representation of the scheduling of events in
a project
6
Sample PERT Chart:
3
1
0
0
A
4
2
4
4
B
2
C
3
E
3
10
4
7
7
D
3
10
5 10
6
F
13
13
3
A PERT chart is a graph
Edges are tasks/activities that need to be done
Nodes are the events or milestones
Task edge T from event node E1 to event node E2 signifies:
Until event E1 happens, task T cannot be started
Until task T finishes, event E2 cannot happen
Events often simply represent completion of tasks associated with
arrows entering it
UWO
Computer Science Department
51
Building a PERT Chart
Steps:
1.
2.
Make a list of all project tasks (and events if possible).
Find interrelated task dependencies (what task has to be
completed before other tasks)
Draw initial PERT without durations, ECTs or LCTs
Estimate duration of each task
Fill in durations
Calculate ECTs and LCTs
3.
4.
5.
6.
We will do this for an example system:
? Generic software system with 3 modules
UWO
Computer Science Department
52
Example: Generic Software Project
TASK ID
A
B
C
D
E
F
G
H
I
J
Task Description
Specification
High Level Design
Detailed Design
Code/Test Main module
Code/Test DB module
Code/Test UI module
Write test plan
Integrate/System Test
Write User Manual
Typeset User Manual
To start PERT chart: identify dependencies between tasks
UWO
Computer Science Department
53
Dummy Tasks
Sometimes it is necessary to use dummy tasks:
Shows the dependency between 2 events where no activity is
performed
Example:
Events 3, 4 signify the compilation of separate modules.
Create an event 5 to signify all modules compiled together.
Denote dummy tasks using dash lines
3
9
10
5
4
UWO
9
12
9
12
T
3
Computer Science Department
54
Example: Tasks with Dependencies
To start the PERT, identify the dependencies amongst tasks
TASK ID
A
B
C
D
E
F
G
Task Description
Preceed ID
H
I
Specification
High Level Design
Detailed Design
Code/Test Main
Code/Test DB
Code/Test UI
Write test plan
Dummy Task
Dummy Task
Dummy Task
Integrate/System Test
Write User Manual
J
Typeset User Manual
UWO
1
2
3
4
4
4
4
5
6
7
8
8
10
Succ. ID
2
3
4
5
6
7
8
8
8
8
9
10
9
Computer Science Department
55
Project Life Cycle
Conception: identify the need
Feasibility analysis or study: costs benefits, and risks
Planning: who, how long, what to do?
Execution: doing the project
Termination: ending the project
Network Planning Techniques
Program Evaluation & Review Technique (PERT):
Developed to manage the Polaris missile project
Many tasks pushed the boundaries of science & engineerin…
Purchase answer to see full
attachment
We've got everything to become your favourite writing service
Money back guarantee
Your money is safe. Even if we fail to satisfy your expectations, you can always request a refund and get your money back.
Confidentiality
We don’t share your private information with anyone. What happens on our website stays on our website.
Our service is legit
We provide you with a sample paper on the topic you need, and this kind of academic assistance is perfectly legitimate.
Get a plagiarism-free paper
We check every paper with our plagiarism-detection software, so you get a unique paper written for your particular purposes.
We can help with urgent tasks
Need a paper tomorrow? We can write it even while you’re sleeping. Place an order now and get your paper in 8 hours.
Pay a fair price
Our prices depend on urgency. If you want a cheap essay, place your order in advance. Our prices start from $11 per page.