Type: Individual ProjectUnit: Scheduling and TrackingDeliverable Length: Word document of 510 pages and project plan Assignment DescriptionYou just presented the software development plan to the CIO with all of the notes and suggestions incorporated from the previous weeks, for final approval. The CIO has reviewed your software development project plan and found that several components were missing. Your task is to use the financial management software project as your base and prepare a report that describes how each of the following will be used to manage the software development effort.Scheduling & Tracking ProgressDependencies between tasksGantt charts with WBS and MilestonesProgram Evaluation Review Technique (PERT)Critical Path Method (CPM)Configuration managementRisk managementPlease submit your assignment.
Unformatted Attachment Preview
Software Project Management (SWE440 1802A – 01)
Unit 4 Individual Project
Phillip Isiah Houston Sr.
Instructor Jeffery Sanford
Due Date 02 May 2018
As a software development methodology, extreme programming is an example of agile
software development that aims at improving the quality of software and the level of
responsiveness to changing the requirements of a customer. Therefore, it intends to improve
productivity and ensure the introduction of checkpoints where the adoption of new customer
requirements can efficiently be done. Its central concept is based on the idea that the beneficial
components of traditional software engineering practices are held at extreme levels to benefit
both users and developers. The methodology allows programming to be done in pairs and
extensive code reviews through its additional features of clarity and simplicity of codes. Its key
difference from other traditional methodologies is the fact that it places a higher value on
flexibility rather than predictability.
It allows cost saving since it limits documentation and also saves time that is required for
the actualization of a project. Its simplicity enables developers to improve on codes at any time
which may be attributed to its visibility and accountability to developers for the purposes of
revealing progress. This is achieved through multiple and short development cycles in
comparison to long cycles (Sillitti, Martin, Wang & Whitworth, 2015). With such an approach,
changes are considered to be inescapable natural and desirable and are the reason why they
should be planned for in comparison to defining a stable requirement set. Therefore, it introduces
several practices, basic principles, and values in the framework of agile programming.
Furthermore, this methodology enhances constant and timely feedback and it assists in
the faster creation of software which can highly be attributed to regular testing at the stage of
development. Its core values of feedback, courage, respect, communication, and simplicity make
it highly functional and reduce flaws in an entire system (Rittinghouse, 20140. These values
foster a good decision-making process in a project life cycle thus can easily be translated into a
practical situation. In instances where a system becomes too complex and dependencies which
exist in a system cease being clear, extreme programming allows a designer to design a structure
which avoids several dependencies whereby, even with changing a single part of a system, other
parts are not affected.
Extreme programming is more focused on the code rather than design. This is a problem
because, good design is really essential for software applications such that, it helps developers
sell them in the software market. Moreover, owing to the fact that in extreme programming
methodology projects the documentation of defects is not always good, this lack of defect of
documentation is likely to result to the occurrence of similar bugs in the future hence not the best
option in instances where programmers are geographically separated (Ambler, 2012). Extreme
programming doesn’t measure code quality assurance which is likely to result in defects in initial
codes. It is also not highly scalable since it is only workable in teams that are made up of twelve
or fewer people. This limitation can be solved by breaking the project into smaller groups.
In conclusion, Extreme programming is one of the most preferred software development
methodologies. However, its use depends on the nature of software and complexity of the
software to be developed. It has both advantaged and disadvantages that must be considered
before it is used in the software development process. However, the advantages of Extreme
programming outweigh its disadvantages, thus making it a better choice for software
development than any other alternative
Task Category 1
Financial and management
Fast Close Functions
Task Category 2
Financial supply chain management:
Task Category 3
Cash and Liquidity Management
Treasury and Risk Management
Incorporation of ISO/IEEE Standards
The proposed software development methodology based on the use of extreme programming
provides our company with agile software development. The main advantages of using such
system are the rapid adaptation of the developed software system and the relatively high level of
responsiveness of the system towards a dynamic environment, characterized by the continuous
change in the customer’s requirements. The extreme programming software development
methodology is proposed as an alternative method to increase the company’s profitability. Such
improvement is founded on the introduction of multiple checkpoints that will enable the
company to verify whether or not the software under development matches the customers
To be effective and to attain the planned goals, though, such system requires the introduction of
ISO/IEEE Standards. In this regard, Cheikhi, Al-Qutaish, and Idri (2012) highlight how the
implementation of ISO/IEEE Software Engineering Standards and the homogenization of the
software development protocols are critical for enhancing the software productivity.
Productivity and international standards
Productivity is often defined by taking into account a series of variables, including the output
obtained from the process, the invested cost or effort in getting such output, and the practical use
of the available resources. Applied to the software development industry, this definition of
productivity needs to take into account the lines of code generated by the different programmers,
the cost of development of such code, the degree of utilization of part of the code in future
The applicable international standards that define the companys productivity regarding the
software development are the ISO 9126, the ISO 25010, and the IEEE 1045. In this regard, the
ISO 9126 defines the productivity of the software development as “the capability of the software
product to enable users to expend appropriate amounts of resources about the effectiveness
achieved in a specified context of use” (ISO 9126).
Table 1 summarizes the necessary measures to monitor the productivity of the software
developed by a company as per the criteria of both the ISO 9126 and the IEEE 1045 international
Table 1. Assessment of the productivity in the software development industry as per the relative
standards on the productivity of software development
ISO 9126 / ISO 25010
How long does it take to complete a
Which project characteristics and
factors can the software developer
How efficient are the users?
How cost-effective are the users?
What proportion of the time is the user
performing productive actions?
How efficient is an average user
How do such characteristics and
factors impact the project?
Which characteristics and factors of
the product affect its overall quality?
compared to an expert?
The relevance of the ISO and IEEE standards for the company
As can be observed from table 1, the evaluation of the productivity of the developed software
according to the ISO and IEEE standards is not a straightforward approach due to the high
number of variables that need to be taken into account. However, the analysis of such variables
provides the company not only with the desired assessment of its productivity but most
importantly, with all the necessary information for the evaluation of the different types of
problems that may be impacting the productivity of the company (Cheikhi, Al-Qutaish & Idri,
2012). The analysis of the potential issues is crucial as part of the continuous improvement in the
overall quality management system of the company, as it highlights the potential areas for
improvement in which the software engineers working at the company need to focus on to
increase the companys productivity.
Furthermore, the implementation of such standards for the evaluation of the productivity in the
development of software provides the company with a substantial competitive advantage over
other software developing companies. In this regard, the implementation of the ISO and IEEE
standards may enable the company to apply for the ISO and ANSI certifications. Such
certification will provide higher credibility of the company’s software from the end customers,
resulting in an indirect increase in the sales of the developed software (Cheikhi, Al-Qutaish &
Implementation of the ISO and IEEE standards in the company
First of all, it is important to note that the implementation of the ISO and IEEE standards in the
company is not only desirable, but also a profitable move considering the expected increase in
sales resulting from the obtained competitive advantage and the higher trust of the customers on
the companys products. From this point of view, the implemented ISO and IEEE standards
should have a profound impact on the financial statements of the company due to the substantial
increase in the expected revenues and the net income. The assessment of the modification of the
financial statements, as per the financial plan highlighted in the previous communication, hence
provide a quantitative measure of the efficiency of the implemented standards.
Code review and its incorporation into future software developed by the company
Both the ISO and IEEE standards foresee and encourage the possibility of reusing valid code in
the creation of future software by the company. In this regard, and as highlighted previously, one
of the critical variables affecting the productivity of a software development company is the
ability to use existing resources. Thus, the inclusion of revised, fully-operational code into the
line code of future programs represents a significant advantage for the company, as the software
engineers would not need to rewrite the same pieces of code over and over again. For such
implementation, however, it is crucial that the software engineers working for the company have
already verified that the incorporated lines of code work correctly, not to perpetuate possible
development problems in the future programs developed by the company.
The continuous improvement of any quality management system involves the periodic
evaluation of the operation of the system, and the solution of any identified issues. Following
with the same trendline as other quality related ISO standards, the ISO 9126 and its newer
version ISO 25010 highlight the importance of the continuous improvement of the quality of the
developed software at the company as an essential step towards the increase of the company’s
productivity. In this regard, the implementation of the ISO 9126 and the ISO 25010, and the
following certification of the company as per the cited standards, require the company to:
Periodically monitor the quality of the developed software
Assess the presence of any non-conformities that may impact the quality of the developed
lines of code, and if identified, correct them
Verify that the implemented corrective actions were efficient in the solution of the
The implementation of the ISO and IEEE standards in our company is a highly beneficial move.
In this regard, it promotes the continuous evaluation and improvement of the software developed
at the company, as well as the utilization of revised code in the development of future programs.
As a result of these measures, the incorporation of the ISO 9126, ISO 25010 and IEEE 1045
standards shall result in a substantial increase in the company’s productivity, which will imply
that a higher number of lines of code may be programmed in a shorter time. Furthermore, if the
company applies to the certification as per the implemented standards, such certification will
increase the trust that the customers have on the products delivered by the company, resulting in
higher sales and higher profitability.
Budgeting and Estimation Tools
Each project requires a specific development methodology to build from the initial stages
to the final implementation phases. For example, a given team of programmers may opt to use
the waterfall software development plan that would help in the effective design as well as the
building of the underlying project. In most cases, developers usually take into account various
key factors that may affect the completion of a given project such as the associated risks and also
the effectiveness of the methodology selected. Vital makes it easy to address such issues as the
estimation of the resources to use and the overall costs to allocate to each module. Based on the
previously identified system, the development teams must come together and evaluate the costs,
resources and also the human power required to complete the given piece of work within the set
time frame. Budgeting plays a fundamental role in a project in that it helps in the identification of
the possible resources that the team may consume to complete the piece of work successfully.
In budgeting and resource allocation, the development teams led by the project manager
must utilize the available and most appropriate tools that help in the successful completion of the
underlying tasks. for example, using the available budgeting tools may play a key role in the
identification of the optimum amount of resources that the project may use and also the total time
to take to complete the work. Project budgeting also may help the respective teams to p0erceive
the possible risks that may arise from the resources as well as finances perspectives based on the
needs of the system as well as the users. This paper primarily focuses on the budgeting and the
tools to use in such tasks while at the same time looking at the development methodology to use
in the entire process.
Company and project description
For the purpose of this assignment, this paper will use ABZ Corporation as the company
that intends to develop and undertake the project. Therefore, ABZ Corporation intends to come
up with a software solution that may help it manage the various financial avenues within its areas
of application. The financial management system will play a key role in assisting them to parties
who deal with money in the company to deliver their goals and also undertake the tasks assigned
to them efficiently. Unlike the manual systems, the financial management software makes it easy
to automate most of the processes undertaken in the organization. As a result, it follows that the
automated financial management software may help the company to achieve its set goals and
objectives. It then follows that the development of the financial management system for the
mentioned company may offer the best chance to undertake the assigned and relevant tasks
efficiently without any problems. The development teams may then select from a spectrum of
methodologies the best strategy to use to complete the piece of work without any challenges.
Since software development forms the basis for the success of the underlying project, the
programmers, as well as project manager, must take their time and analyze the nature of the
system before selecting one effective approach. The following section addresses the best
development methodology that the programming teams may use to effectively undertake and
complete the tasks ahead.
Just like in the various development methodologies, extreme programming forms its
principles from the basic understanding and working of the agile methodologies (Fojtik, 2011).
The primary goal of a development methodology focuses on the delivery of the final product as
per the needs of the customers and also following the available resources. In the long run, the
development of such a project must strictly follow the basics of the underlying methodology
which in turn takes into account the available resources to complete the piece of work. The
working principle of extreme programming focuses on the need to increase the chances of
engaging the customer in the development process. The methodology does this by setting its
primary objective to focus on the desire to improve the overall quality of the underlying project
by releasing frequent milestones to the customer.
Through the short cycles, the methodology makes it easy for the development teams to
engage with the customers by creating checkpoints that all help to collect and incorporate the
feedback given back. The development teams may opt to use extreme programming in cases
where the project at hand requires the design of new technology with the rapidly changing user
and system requirements. Also the development methodology may also play a vital role in the
situations and projects small in size and or do not necessarily need the formal development
strategies to undertake and complete. In most cases, software developers may use extreme
programming as the primary methodology in cases where the users require constant updating on
the progress made.
Extreme programming presents to the developers some simplified stages. Although in the
other development methodologies they may take into account most of the various processes that
range from the collection of the user requirements to the deployment, extreme programming
focuses on four critical stages in the entire process. Through the incorporation of the various
practices that play a crucial role in shaping the behavior and the operations of the process, the
development team categorizes the entire process into four major elements. The first category as
per the activities of extreme programming includes coding. Coding helps the development teams
to design as many solutions as possible to the underlying problems which in the long run may
assist in the selection of the ultimate one to implement. The second activity includes testing. In
testing, the development teams must focus on the previously coded solutions so as to select the
best to present to the customers as per the identified needs and requirements. The primary role of
testing in extreme programming focuses on the determination of whether the development team
designed the right product.
Extreme programming uses unit testing as the primary metho0dology of evaluating the
produced solution in the previous section. Acceptance testing helps in the explanation of the
uncertainty about the initial intentions and the delivered solution. This takes into account the
previously identified requirements and the final product in the release phase. Listening serves as
the other activity undertaken in the development stages as per extreme programming. In this
activity, the programmers must take into account the user needs and requirements so as to come
up with just the right solution that serves the identified business gap. In this phase, the
programmers must take into account the business problem in context, the customer feedback and
also the best ways to improve the current situation to meet the set goals and objectives by the end
users of the solution. The final activity focuses on the design. This process helps in the
development of a superior logic of the entire system. This, in the end, may play a key role in the
realization and creation of a software solution with few dependencies among the various
Purchase answer to see full
Why Work with Us
Top Quality and Well-Researched Papers
We always make sure that writers follow all your instructions precisely. You can choose your academic level: high school, college/university or professional, and we will assign a writer who has a respective degree.
Professional and Experienced Academic Writers
We have a team of professional writers with experience in academic and business writing. Many are native speakers and able to perform any task for which you need help.
Free Unlimited Revisions
If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account or by contacting our support.
Prompt Delivery and 100% Money-Back-Guarantee
All papers are always delivered on time. In case we need more time to master your paper, we may contact you regarding the deadline extension. In case you cannot provide us with more time, a 100% refund is guaranteed.
Original & Confidential
We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text. We also promise maximum confidentiality in all of our services.
24/7 Customer Support
Our support agents are available 24 hours a day 7 days a week and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.
Try it now!
How it works?
Follow these simple steps to get your paper done
Place your order
Fill in the order form and provide all details of your assignment.
Proceed with the payment
Choose the payment system that suits you most.
Receive the final file
Once your paper is ready, we will email it to you.
No need to work on your paper at night. Sleep tight, we will cover your back. We offer all kinds of writing services.
No matter what kind of academic paper you need and how urgent you need it, you are welcome to choose your academic level and the type of your paper at an affordable price. We take care of all your paper needs and give a 24/7 customer care support system.
Admission Essays & Business Writing Help
An admission essay is an essay or other written statement by a candidate, often a potential student enrolling in a college, university, or graduate school. You can be rest assurred that through our service we will write the best admission essay for you.
Our academic writers and editors make the necessary changes to your paper so that it is polished. We also format your document by correctly quoting the sources and creating reference lists in the formats APA, Harvard, MLA, Chicago / Turabian.
If you think your paper could be improved, you can request a review. In this case, your paper will be checked by the writer or assigned to an editor. You can use this option as many times as you see fit. This is free because we want you to be completely satisfied with the service offered.