COMP 1833Software Quality ManagementCourseworkStudent ID: 001130507Course Leader: Dr Simon ScolaCOMP 1833 – Software Quality Management Student ID: 001130507iiTABLE OF CONTENTSTABLE OF CONTENTS iiLIST OF TABLES ivLIST OF FIGURES vPART 1: A project plan based on a case study 11. Introduction 11.1 Project Charter 11.2 Work Breakdown Structure (WBS) 21.3 Project Schedule 21.4 Constructive Cost Model (CoCoMo) 31.5 Social, Legal and Ethical Review 5PART 2: Quality Assurance plan for The Production of The Essay in Part 3 72.1 Process Quality, Product Quality and Risk Management 72.2 Time Management 7PART 3: Academic Essay: A Review of Frederick Brook Jr. “No Silver Bullet” 9References 12COMP 1833 – Software Quality Management Student ID: 001130507iiiLIST OF TABLESTable 1.1 Project Charter Showing Details of MAST – Local Project 1Table 1.2 Work Breakdown Structure (WBS) 2Table 1.3 List of activities to be Scheduled 3Table 1.4 Functional Unit and Weighting Factors 4Table 1.5 Functional Points per Functional Unit 4Table 1.6 Functional Point Analysis Complexity 4Table 1.7 CoCoMo Intermediate Stage 5Table 2.1 Management Plan 7Table 2.2 Time Management 8COMP 1833 – Software Quality Management Student ID: 001130507ivLIST OF FIGURESFigure 1.1 Critical Path Method (CPM) 3COMP 1833 – Software Quality Management Student ID: 0011305071Part 1: A project plan based on a case study1. IntroductionTo successfully execute the MAST- Local project, a number of tasks have to be defined in stages by theproject manager. The completion of these tasks in record time and within allocated budget are key to thesuccessful execution of the project.Below are steps involved in the planning of the project.1.1 Project CharterTable 1 Project charter showing details of MAST- Local project. Project Charter for MAST- Local SupermarketProject NameMAST-Local ProjectProject SupervisorAugustina WomanProject ManagerJohn ManDate of Project Approval10th November 2020Project End Date18th December 2020Goal of ProjectTo improve management of stress for a small chain of specialised supermarkets.ScopeProvision of an information system for monitoring sales to optimise stock levelsand place orders to the central office. The system should be able to provide thereport of daily sales, to be used for optimising stock levels and product ordering.Replacing the archaic mode of record keeping and documentation with anautomated system.DeliverablesThe project is considered successful when:1. The crude way of generating report is replaced by an automated system.2. The project is completed within the specified time and allocated budget.3. The store data is centralised i.e. all the product information and prices can bepulled from a database.4. A loyalty scheme is integrated in the deployment and customers can makeorders online.5. All the needs of the client are satisfied.Available Resources1. Unix based accounting package running on a dedicated RS6000.2. Desktop machines.3. Electronic till (EPoS).Key StakeholdersProject TeamMAST- Local TeamRoleNameRoleNameProject SupervisorAugustina WomanCEOMichael PetersonDirectorJohn HackerProject ManagerJohn ManLocal Sales andMarketing DirectorMariam MartinezConstraintsStore ManagerGeorge ManningTimeLimited time to executeprojectCustomersUnknownBudgetTo be determinedDelivery ManUnknownCommunicationThere is littlecommunication betweendepartments.MAST- Local BoardBoard membersRisks InvolvedOperational riskProject Sponsored By:Budget riskTechnical riskNameSchedule riskSignature and Date COMP 1833 – Software Quality Management Student ID: 0011305072Project charter is an important part of any project because it is the beginning of the actual project and it isused to set the authorisation of the project. Project-management.com defined a project charter as livingdocument outlining the issues, targets, and framework of a process improvement effort (ProjectManagement.com, 2020). As seen in table 1 above, the project charter consists of information about the project.Here, everything there is to know is contained. From the project title to the scope and deliverables of the projectall the way to the risk involved in undertaking the project. The charter also contains the project sponsorinformation.1.2 Work Breakdown Structure (WBS)Table 1.2 Work breakdown structure showing top-down decomposition of project tasks.The work breakdown structure (WBS) in table 1.2 below shows how the project is planned. This way,efficiency is achieved, and no task can be forgotten. MASTLocalProjectSoftwareHardwareInternetconnectivityServerpurchaseDatabasesetupUserProfilesetupScannerDesktopsandEPoSPrinterConnectionCablesApproveISP vendorApprovevendorDatauploadCollateallsalesrepdataPurchase of all hardware devicesInstallationInstallationFirst andsecondtestingFinal testanddeployment Brotherton in a conference paper defined Work Breakdown Structure as a deliverable-oriented hierarchicaldecomposition of the work to be executed by the project team to accomplish the project objectives and createthe required deliverables (Brotherton, 2008).1.3 Project ScheduleThe project schedule is analysed using the critical path method (CPM). It shows how the predictable tasksas defined by the project manager with the assigned date start date runs from the start of the project to the end.It also shows dependencies between the tasks. The format is defined below. AESEFdLSLF Where A = Activity ES = Earliest start LS = Latest Start Slack (S) = LS -ES ord = days EF = Earliest finish LF = Latest Finish Slack (S) = LF -EFCOMP 1833 – Software Quality Management Student ID: 0011305073Table 1.3 List of activities to be scheduled. ActivitiesAbbreviationDuration(Days)Internet connectivityIC3Server PurchaseSP2Database SetupDS3Data UploadDU3User Profile SetupUS6Hardware PurchaseHP4InstallationsI7First and Second TestFST5Final Test andDeploymentFTD3 The table above is a list of tasks with the expected complete date assigned. This is what the project manageruses to schedule and calculate the entire duration of the project.Figure 1.1 CPM showing project schedule.From the calculations in the figure above, it shows that the project is expected to be completed in 32 days.The Slack which is LS -ES is how long a task can be rescheduled without prolonging the project end date. Theslack for all the tasks is zero except for HP which is 13. This means that the task can begin between anytimefrom 0 to the 13th day and it would still be completed in record time. The tasks with zero slack are identified asthe critical tasks and they form the critical path of the project.The critical parts for this project is therefore IC- SP – DS – DU – US – I – FST – FDT1.4 Constructive Cost Model (CoCoMo)To calculate the Cocomo for the project.• FPadjusted = FPunadjusted * CAF (CAF = Complexity adjustment factor)CAF=0.65 +(0.01 * Fi) (Fi = Total complexity adjustment value)• FPunadjusted = Sum of all functional units multiplied by the weighting factor• E= ai(KLOC)bi * EAF in person month (E = Effort applied, ai and bi are intermediate constants)• D=ci(E)di months (D= development time, di is an intermediate constant)• People required = E/DS = 13 S = 0HP 0 4 I 17 244 13 17 7 17 24S = 0 S = 0 S = 0 S = 0IC 0 3 SP 3 5 DS 5 8 DU 8 11 US 11 17 FST 24 293 0 3 2 3 5 3 5 8 3 8 11 6 11 17 5 24 29S = 0S =0FDT 29 323 29 32S = 0COMP 1833 – Software Quality Management Student ID: 0011305074Note: Some of these parameters will be assigned arbitrary values.• To calculate FPunadjusted, Functional units and weighting factors can be found in the table below.Table 1.4 Functional unit and weighting factors Weighing factorFunctional unitsCountsLowAverageHighOutput52457Inquiries62445Inputs72557Internal files9457Externalinterfaces8466 Using an average weighing factor for all the functional units,Table 1.5 Functional point per functional unit Functional unitsCountsAverageFP per functional unitOutput525260Inquiries624248Inputs725360Internal files9545External interfaces8648FPunadjusted961 FPunadjusted = 961• To calculate FPadjustedFPadjusted = FPunadjusted * CAF (CAF = Complexity adjustment factor)Table 1.6 Function point analysis complexity S/NFi ValueFPA Complexity15System requires reliable backup and recovery?24Data comms required?30Distributed processing functions?44Performance critical?53System to run in existing heavy utilised operational environment?65Requires online data entry?74Online data entry requires input transaction over multiple screen transactions?80Are master files updated online?94Inputs/ output queries complex?103Is internal processing complex?110Code designed to be reusable?124Conversion and installation included in design?134System designed for multiple installation in different organisations?145Application designed to facilitate change and ease of use by the userTotal45 COMP 1833 – Software Quality Management Student ID: 0011305075CAF=0.65 +(0.01 * Fi) (Fi = 45 from table1.6)0.65 +(0.01 * 45)0.65 + 0.45CAF = 1.1Recall that FPunadjusted = 961FPadjusted = 961 * 1.1= 1057.1FPadjusted = 1057.1 •To calculate effort applied, E= ai(KLOC)bi*EAF (EAF = Effort adjustment factor)The store plan to double in size every 18 months, so the project would be categorised under embedded.Table 1.7 below shows the constants for intermediate stage of CoCoMo.Table 1.7 CoCoMo Intermediate stage ProjectaibicidiOrganic3.21.052.50.38Semi detached31.122.50.35Embedded2.81.22.50.32 From table 1.7, ai = 2.8, bi = 1.2Assuming KLOC (kilo line of codes) = 500 (>300 for an embedded system) and EAF = 1.2 E =2.8 * (500)1.2 * 1.21732.86 person months. •To calculate development time, D=ci(E)dici = 2.5, di = 0.32D =2.5(E)0.32 2.5 * 1732.86 0.322.5 * 10.8727.18 months• To calculate people required, People required = E/DE = 1732.86D = 27.18People required = E/D1732.86 ÷ 27.1863.741.5 Social, Legal and Ethical ReviewThese concern the moral guidelines and principles concerning the project. It basically has to do with themethods that would be used in different breakdown of the project and how it goes down with ethics.When we talk of the project ethics, we are putting in consideration how the automation we plan to deploywill have an impact on the supermarket employees and the customers, is it going to affect their jobs in a positiveor negative way? How does it affect the routine of the manager who uses a spreadsheet to manage stock controland prices? To the customers, does it have any impact on their shopping experience? Will the price of installingthis new software have a further effect on prices of goods in the store going forward?The general Data Protection Regulation (GDPR) principles can be employed when it comes to how data ofemployees will be used. For user profiles to be setup, the employees have to provide certain information aboutthemselves and these information will be uploaded to the database. According to the InformationCommissioner’s Office (ICO), the rights the GDPR provides for the individuals include:COMP 1833 – Software Quality Management Student ID: 0011305076• The right to be informed• The right of access• The right to rectification• The right to erasure• The right to restrict processing• The right to data portability• The right to object• Rights in relation to automated decision making and profiling. (Information Commissioner Office, n.d).On the part of the project team, project is required to be carried out according to the agreement reached.The company has trusted the project team with the information of the company and data of the employees. Theproject team should act within the law that governs their protection.COMP 1833 – Software Quality Management Student ID: 0011305077Part 2: Quality Assurance plan for The Production of The Essay in Part 32.1 Process Quality, Product Quality and Risk AssessmentThe quality of process in addition to how well the time allotted to each tasks is managed is a majordeterminant of the quality of product for any project being executed. Basically, the quality of a process willusually determine the quality of a product. To achieve these, the process need have to conform with requirementand the end product be fit for the purpose it was designed for.The following factors have to be clearly defined.• The project to be done,• Requirements of the project,• Objective of the project, and• How the project would be implemented.The table below illustrates the management plan for the essay in part 3.Table 2.1 Management Plan ProjectRequirementsDeliveryRequirementsImplementationRiskAssessmentProductionofAcademicReportQualityAssuranceProduct Goals:Academic styledreport, Evaluation oftechnique’s value insoftware Engineering,Does the technologysupport Brook’squote? Reference froma leading computingor software journal,Word count (1500 –2000), References(Harvard style).Research, Writereport, Check forPlagiarism,Proof reading.Missingsubmissiondeadline,Report beingflagged forplagiarism,Not havingenoughmaterial toproduce theacademicreport.Process Goals:Research, Writing thereport, Checking forplagiarism, Proofreading.Read academicjournals onDevOps andSoftware QualityDevelopmentand other relatedtopics, Back upcontents ofcomputer.Not havingenoughmaterial toproduce theacademicreport, Loss oflaptop 2.2 Time ManagementThe production of the academic essay in task 3 was completed in a week. Below is the breakdown of howtime was assigned to the different tasks. Delivering the essay in scheduled time was important so deadlines werenot missed. Table 2.2 shows priority level assigned to all the processesCOMP 1833 – Software Quality Management Student ID: 0011305078Table 2.2 Time management DaysProcessesPriorityDeadline (Days)Day 1ResearchHigh2Day 2Day 3Write reportHigh3Day 4Day 5Day 6ReferenceHigh1Day 7Proof readingHigh1 COMP 1833 – Software Quality Management Student ID: 0011305079Part 3: A review of “No Silver Bullet” by Frederick Brooks Jr.— Is DevOps the proverbial silver bullet tosolving the large scale software development problems?Olaniyi Bolaji OladijaMSc. Computer Science (Network Engineering)[email protected]Abstract— Software development problem is a topic that will continuously be deliberated on. These problemshave lingered over time and have evolved from one phase to another as developers try to find a lasting solution.This paper will look critically at the culture of DevOps, how it brings two teams together to automate processes.The paper will also focus on what the transformation involves, benefits, and DevOps can be scaled into anenterprise. In the end, with all the findings and discussions, it would be determined if DevOps is really theproverbial “Silver Bullet” needed to solve software development problems.Keywords: Software development, DevOps1. IntroductionIn 1986, Frederick Brooks Jr. at the 10th worldcomputing conference, likened the character of asoftware project to the unexpected transformation ofa werewolf. He further stated that software projectsusually look innocent and straightforward in thebeginning but is capable of transforming to amonster along the line. In the case of a werewolf, itis easy to eliminate them with the use of a silverbullet but for software projects, Frederick Brooks Jr.argued that the “silver bullet” that can be used toeliminate problems associated with softwaredevelopment have yet to be discovered.Problems encountered in software developmentranges from how to Interpret ideas to dealing withcomplexity in the lines of codes to the developmentstages, the operation stages and synchronizationbetween the team involved in the particular project.Chittister and Haimes (2013) stated that the roadto building a software system is full of surprises andthe dilemma is that the people involved appear tospend a great deal of time convincing each other thatthe most recent surprise was the final surprise, andthey are continually wrong. It is difficult to containproblems associated with software because designspecifications will always change which will in turncause the system being built to change.Software development has grown over years anda lot of breakthrough has been recorded, but themagnitude of existing problems and continuousemergence of new ones have overshadowed theprogress being made making it negligible andinsignificant.1.1 What is DevOps?DevOps is a culture that brings two teamstogether— Development and Operations. Not toolong ago when these two teams used to workindependently, the development teams write thecodes and then passes it on to the operations teamwho is responsible for ownership of the test servers,concerns about rollout and managing the rolloutitself (Western, 2016). DevOps help organisations toautomate their entire process by bridging the chasmbetween the software development and operationsteam enabling them to work in an integratedcollaborative manner.DevOps is responsible for managing integrationand collaboration between the two teams to delivera robust project with every aspect betweenperformance and monitoring embedded.1.2 Impact of DevOps on Properties ofModern Software Systems.Frederick Brooks Jr. in his paper considered fourinherent properties of modern software systems:complexity, conformity, changeability, andinvisibility.1.2.1 ComplexitySoftware units are complicated for their sizebecause no two parts are alike. Software systemsdiffer from computer hardware or any other type ofdevice where repetition of parts is bound to occur. Insoftware systems, there are lines of codes, with eachcode giving different instructions. The larger theproject, the larger the scope. The larger the scope,the longer the lines of codes required. The longer thelines of codes required, the larger the allowance forerrors. This is complex compared to the computerhardware where different parts be used and reusedin designing and building.The primary aim of DevOps is to constantlydeliver added value to end users. To achieve this,automation is required to mitigate repetition. Thisrepetitive work in particular includes qualityassurance, calling for automated tests, checks oncode complexity and so on (Laukkarinen, 2017).COMP 1833 – Software Quality Management Student ID: 001130507101.2.2 ConformityChange is one inevitable thing in life. Assoftware systems are being designed and used, newrequirements emerge. Also, the times, policies andeven the world itself changes. As the changes, takeplace, the developers need to consider these ruleswhenever they are designing.DevOps does not have any direct influence onthis software property. It is, instead the other way.DevOps must conform to all the laws andregulations in place when delivering any project.Conformity can be linked to complexity.1.2.3 ChangeabilityThe world changes constantly, DevOps havedriven changeability by setting the pace for theworld. When a project has been successfully testedand deployed, a new quest is born. Developers needto make codes readable and testable. Making thecode readable means making it easier to change.There is no point to design the code in a readableway if nobody will read it. When do we want to readand understand the code? In the vast majority ofcases, it is when we want to change it (Mandrigin,2015).With the vast number of innovations in theDevOps space—and more arriving all the time—itis hard for businesses to know which DevOpsdevelopments warrant their attention and which canbe forgotten (Chung, 2017). This is proof thatDevOps is fast transforming the world of software.1.2.4 InvisibilitySoftware development is abstract in nature i.e., itis invisible and cannot be visualized. Despite thecontribution of DevOps to software development, itstill remains abstract and cannot be visualizedthereby hindering the communication and exchangeof ideas.2. DevOps TransformationDevOps practices impact processes, products,associated technologies, organizational structures,and business practices and opportunities (Zhu,2016).When the team on the operations divide of aproject receives code from the software developers,it is tested in their environment. Suppose somethinggoes wrong, which could be as a result of the changeof environment, the code is returned to the developerto be fixed. This exchange could have slashed offsome time on the expected project delivery date.DevOps has increased production by replacingmanual processes with automation. Each block offunctionality within the project is develop and testedimmediately in the same environment by theoperations team. The two teams can then worktogether instead of waiting on each other to finishtheir tasks. “DevOps seeks to reduce the timebetween committing a change to a system and thechange being placed into normal production, whileensuring high quality (Zhu, 2016).It is quite difficult to for organisations aiming toadopt the culture of DevOps automation is at thecore heart of DevOps. Without automation, there isno DevOps. For a successful transition, theorganization must change its culture to be in tandemwith DevOps culture.3. BenefitsSome benefits of DevOps include:• using several tools for automation whichresults in early project delivery in a morestable operating environment.• creating a collaborative environmentbetween software development andoperations with less complexity to manage.• it promotes engagement betweenemployees which results in a cheerier andmore productive team.4. Summary and ConclusionFrederick Brooks Jr. stated in his paper “There isno single development, in either technology or inmanagement technique, that by itself promises evenone order-of-magnitude improvement inproductivity, in reliability, in simplicity” (Brooks,1975). This statement might have been true as at thetime of writing this paper, which was when softwaredevelopers and operations were not working in thesame environment. DevOps as a culture has tried tobridge the gap between these two teams but cannotenforce the change. The culture can only help tocreate a collaborative environment that would aidthe development of building a robust application.Software problems are not definite, they are afunction of system requirements. The problemschanges as the requirement changes. DevOps hashelped to reduce the time it takes to deliver a projectincreasing productivity to a degree. Also, DevOpshas helped tuned simplicity by reducing the numberof iterations. Since DevOps has not been able tosolve completely all software developmentproblems, DevOps is not the silver bullet that wouldhelp solve large scale software developmentproblems like in the case of the werewolf.This paper was written well over 40 years agoand sadly, the search for the silver bullet stillcontinues.COMP 1833 – Software Quality Management Student ID: 00113050711ReferencesBrooks, Fred P. (1986). “No Silver Bullet — Essenceand Accident in Software Engineering”.Proceedings of the IFIP Tenth World ComputingConference: 1069–1076.Chittister, C. and Haimes, Y. (2013) Risk Associatedwith Software Development: A HolisticFramework for Assessment and Management.IEEE Transactions on Systems, Man, andCybernetics, 23(3).Chung, E. (2019) How to Develop a Winning DevOpsAvailableInnovationsStrategy.[Online]at: https://www.appdynamics.com/blog/engineering/develop-winning-devops-innovation-strategy/(Accessed on December 6, 2020).Laukkarinen, T., Kuusinen, K. and Mikkonen, T.DevOps in Regulated Software Development:Case Medical Devices. Paper presented at 39th IEEE/ACMInternationalConferenceonSoftware Engineering.Mandrigin,I.(2015)[Online]SoftwareDesign:Changeability.Availableat:https://medium.com/@mandrigin/softwaredesign-changeability-1744fceb13a9(Accessedon December 6, 2020).Western, T. (2016) What is the DevOps Role forOperations People?[Online] Available at: https://searchsoftwarequality.techtarget.com/answer/What-is-the-DevOps-role-for-operationspeople#:~:text=Classic%20operations,monitoring%20and%20managing%20those%20servers(Accessed on December 5, 2020).Zhu, L., Bass, L., Champlin, G. (2019) DevOps andits practices. Published by the IEEE computerSociety. [Online] Available at:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7458765 (Accessed on December 5,2020).COMP 1833 – Software Quality Management Student ID: 00113050712ReferencesBrotherton, S. A., Fried, R. T., & Norman, E. S. (2008). Applying the work breakdown structure to the projectmanagement lifecycle. Paper presented at PMI® Global Congress 2008—North America, Denver, CO.Newtown Square, PA: Project Management Institute.ICO. (n.d) Individual rights. [online] Available at: https://ico.org.uk/for-organisations/guide-to-dataprotection/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/ (Accessed on December7,2020).Project-Management.com (2020) What is a charter? [online] Available at: https://projectmanagement.com/what-is-a-project-charter/ (Assessed on December 7, 2020).