Order Number |
324RT567UY |
Type of Project |
ESSAY |
Writer Level |
PHD VERIFIED |
Format |
APA |
Academic Sources |
10 |
Page Count |
3-12 PAGES |
Running head: BUSINESS CASE REPORT
BUSINESS CASE REPORT 16
Business Case
Connie Farris
Robert Whisehunt
Colorado Technical University
IT Capstone I
(IT487-1904A-01)
Maria Thomas
10/30/2019
Table of Contents Overview of Company and Client Business Case 4 Introduction 4 Expertise 4 Solutions 4 Unit 2 6 Application Requirement Elicitation Strategy 6 Trade-off Analysis 6 Milestones and Due Dates 8 Unit 3 10 System Components and Design Requirements 10 Stakeholder Requirements 10 Modularity 11 Dependencies 11 Principles for Meeting Requirements 12 Cost and Quality 13 Multiple Modules 13 Redundant Processes 14 Effect on Cost 14 Future Upgrade 15 Unit 4 16 Methodology for Application Development Process 16 Unit 5 18 Complete Features and Trade-off Analysis 18 Trade-off Analysis 18 Unit 6 20 Milestones and Deliverables based on Date and Dependencies 20 Unit 7 22 System Architecture Aligned with System Requirements 22 Unit 8 24 Technical Design Document 24 Design 24 Data Model 24 Interface/API Definitions 24 Business Logic 25 Impact 25 Risks 25 Unit 9 26 Design Review Checklist 26 Unit 10 27 Testing and Deployment 27 References 29
Unit 1:
Overview of Company and Client Business Case
The business case we have chosen is a customer service application for a jewelry store called Unique Creations. We will design on online architecture for them at the request of the owner who would like a modern up to date Network Architecture that will enable them to better serve the customers and communicate with existing vendors and to expand search for material need for Unique Creations. They use platinum, titanium, gold, silver and stainless steel for all the custom and original jewelry pieces. They also have plans to open a few more businesses soon.
Choctaw Innovations has worked in the IT realm for over 3 years they work in with many different methodologies in order to do their best work. Holding a CMMI score of level 3 conducing relatively working to improve themselves for success. Our company has the expertise to provide Unique Creations with the requirements desired for this Network Architecture.
The goal will be to develop the appropriate network, the key to these goals will depend on the network structure implemented with reliability and security design for this company with the ability to expand and grow in the future and cost effective. The main objective of this design is to provide the very best practice for implementing a secure network. We also need to develop a time frame and budget analysis. The solution to this is to ensure that the network architecture will perform as expected and meet the needs of the stakeholder. We will consider a cloud based along with the LAN. In conclusion, requirements management streamline its phase using the capability maturity model integration (CMMI) to blend and define best practices throughout the process. Various set of practices are defined by CMMI and they support to improve the quality of a system. Both approaches define proper processes for eliciting, analyzing, specifying and validating requirements.
Application Requirement Elicitation Strategy
Selection of features
Organizations have realized the need to optimize their customer service applications, in order to enhance their success. One of the key strategies to achieving optimal customer service application is to reduce the features included by removing the irrelevant ones. Exploding the system with massive data from varying features will make it hard to analyze and extract relevant information for decision making. The users of the application will also find it hard to use, owing to the complexity resulting from the irrelevant features. The selection process will apply genetic algorithm and immune clone algorithm to eliminate redundant and irrelevant features, which can also reduce accuracy and speed of the system (Mistrík, 2016). The features that will be eliminated include those that are duplicated, noisy and irrelevant ones.
Selection of features is one of the complex and problematic issue in achieving optimal customer service application. Elimination of the redundant and irrelevant features will enable the developer to enhance efficiency of the application. Optimal feature selection will enable increased accuracy and speed of the application. It will also ensure increased relevance of the data collected, which will be easier to analyze for decision making.
Cost of modification
Although modification of the features will add costs associated with the product development, it will optimize its efficiency. The gains associated with the feature modification should exceed the costs associated with the same. However, the product design should maximize on the effectiveness of the features, in order to reduce modification costs. Relevant information should be integrated in the design process. Some of the strategies that may be used to enhance the process include prototyping and concept genesis (Chipman, 2014).
Project Timeframe
Planning is an essential element in implementation of projects. Time schedule guides a project manager to plan for various activities of the projects in their respective durations, in order to complete within the right timeframe. The planning phase should analyze relevant information in order to achieve an accurate time schedule. The developer should foresee potential risks, which may disrupt the smooth flow of the activities. Modification of the features should be planned for and allocated resources and time (Burke, 2019). Consequently, although modification of the features will escalate the duration of the project, it will be adequately planned for in the initial stages. Every task in the design will be allocated start and end time, with clearly outlined milestones. Modification of features will enable the developer to align the application with the user requirements.
User requirements
Achievement of the project deliverables will heavily rely on the effectiveness in planning and design. Every task within the project should be planned for and allocated adequate time and resources. Achievement of the user requirement will imply success of the project. Consequently the planning of the project will entail establishment of tasks, dates of tasks, duration, and dependencies. Some techniques that will be useful include Gantt chart and Chronology chart, which will ensure a clear and systematic flow of activities of the project.
Milestones and due dates will enable effective planning of the project, which will ensure smooth flow of the activities. The process of planning will require identification of the tasks and milestones, in order to plan for their dependencies.
Dependencies
The relationships among the activities and tasks of the project will determine dependencies and their implementation order. The project tasks have various types of dependencies, including finish-to-start, and start-to-start. The dependencies will be clearly outlined through Gantt chart, which will effectively outline start and end times for every task. The planning start will start following finish of information gathering and analysis. The information will be used in planning for the design and establishment of the duration for every task. Implementation of the design application will follow finish of prototyping and testing the prototype (Davis, 2013). Additionally, development of the features will be implemented simultaneously for different features. Modification of the features will start after finishing testing of the application and establishment of its shortcomings.
Simultaneous operations
The tasks that do not have hard dependencies will be implemented simultaneously, in order to reduce the project duration. Data collection from various sources and their individual analysis will be performed simultaneously. Design of various features of the application will also be performed in parallel. Development of the designed features may also run simultaneously. The critical path method will determine the sequence of activities in the order in which they will be performed. The longest path will determine the project duration. The parallel activities which do not have hard dependencies will be performed simultaneously (Busch, 2016).
Effectiveness of the Approach
The approach will enhance the quality of the product, since it will improve on the management of the project. Critical path method allows the project management to identify the critical activities, which are supposed to be given special attention. The approach will reduce on the duration of the project, since it will clearly determine dependencies of various tasks and their timelines. Additionally, the approach will provide an opportunity to compare actual and planned progress, which will further ensure fast tracking of the activities.
User requirements
The requirements of the user will be met effectively through application of the approach. The approach will provide an opportunity for the project management to enhance its planning and decision making. The critical path method will help in identifying the critical activities, which significantly affect achievement of the project objectives. The project duration will be significantly being reduced to meet the user’s requirement by establishing the sequence of the activities and their relationships. Additionally, the approach allows for graphical representation of the overall project, which will further enhance effective and smooth flow of the operations (Noble, 2014).
System Components and Design Requirements
Organizational success depends heavily on the effectiveness on how an organization develops and sustains relationships among varying stakeholders. An effectively designed customer service application will enable an organization to establish positive relationships with its stakeholders, including its customers, suppliers, and shareholders, among others. Consequently, the design of such application should be guided by the user requirements, in order to ensure effectiveness (Whitaker, 2017). This section of the report will focus on the system components and design requirements of the application.
There are three key components of an effective customer service application, which includes timeliness, quality, and cost effectiveness. Different stakeholders have varying interests, which are aligned to their requirements. The shareholders to the Unique Stores Jewelry will require a cost-effective application, which will maximize on the returns and minimize the associated costs. Every business person seeks to optimize the gains versus the costs of doing business. Consequently, the developer will be compelled to apply cost effective strategy, which will optimize on the gains accrued from the application. The application design should involve sustainable and cost-effective maintenance costs, in order to optimize its effectiveness. It should also ensure an effective stakeholder network by connecting to safe external networks, such as WAN and LAN.
The customers expect an application which will ensure timeliness and quality, in order to gain optimal utility from the organization. Customers require up to date information, which is accurate, in order to guide their consumer behavior accordingly. The organization should therefore ensure accuracy and reliability of the information provided in the system, which will in turn enable positive relationship with its customers. An effective data security is paramount to the effectiveness of the system. Additionally, the design of the application should ensure effective feedback procedures, in order to respond to the concerns of varying stakeholders. This will enable the organization to express its care to its stakeholders. The customer service application should be linked to other enterprise resource planning systems, through Business-to-Business (B2B) system, which will allow data sharing.
Modularity is a vital strategy in software development, which enables developers to enhance their effectiveness. The strategy may be broken into three fundamental guiding principles, including strong encapsulation, well-defined interfaces, and explicit dependencies. Strong encapsulation enables a developer to hide details on implementation in the components, which leads to decreased coupling among parts. Well-define interfaces will enable replacement of an implementation that may conform to a specific interface, since it is hard to hide everything.
Software development involves complex tasks, which are usually dependent on each other. The team must coordinate among themselves, owing to the increased inter-dependency of tasks involved. The design and planning of software development should consider effectiveness in coordination, collaboration, and communication among the team members, in order to achieve success. Various modules of the software will be dependent to other, since they will rely on each other for their development and operations. The teams performing the dependent tasks will be dependent to each other, in order to accomplish their tasks. However, the design of the application will seek to reduce dependencies, in order to enable the team to act independently.
There are a variety of dependencies, which include external dependencies, internal, start-to-finish, and finish-to-start. The external dependencies will involve connections among tasks resulting from other projects in the organization. For instance, the development of some modules will heavily depend on employee training, purchase and installation of hardware devices, including routers. Internal dependencies will involve dependency among modules within the software development project (Whitaker, 2017). There is three types of dependencies, including knowledge, task, and resource dependency. All the dependencies will be considered in the planning and design of the project.
Interaction with External Resources
The customer service application system will be required to closely interact with the external resources, including the databases of the organization. The interaction between the system and the other enterprise resource planning resources will enhance effectiveness of the system in delivering effective customer service. The users of the system require quality and update information. Integration among the systems will enable the organization to develop cordial relationships among its stakeholders. Additionally, the integration of the systems will ensure cost effectiveness, as well as reduce complexity of the system.
Principles for Meeting Requirements
There are a variety of principles, which guide the developers to meet the requirements of varying stakeholders. A clearly defined purpose and goals of the project will enable the developer to align the project to achievement of the same. Effective planning should also entail an elaborate design that is aligned to the requirements. A clearly-defined roles and budget estimates will also enhance the achievement of the requirements. Additionally, a comprehensive feasibility study of the project and post implementation review and modification will enable achievement of the user requirements.
Design of a software development significantly affects the cost of the project. The modularity approach to the software development will enable the developer to reduce the cost of project, since the various teams will be able to coordinate and collaborate in development of the varying features. The teams will also be able to perform various independent modules simultaneously and independently, which will further ensure cost efficiency. Additionally, the design of the system has ensured detailed milestones and tasks, which will enable the developer to effectively implement the project without disruptions (Dorca, 2019). Consequently, it will be easier to manage costs related to risks and threats associated with software development process.
The features that the design entails will require multiple modules. Explicit dependencies will enable the developer to coordinate the various interfaces, in such a way for them to work together. Micro services will enable the developer to realize a spectrum of benefits. The team will be able to work independently, it will reduce complexities, and it will make it possible to change services internally without significant impact.
Business Process
Effective systems enable an organization to be more efficient and effective in carrying out its business operations. The design of Unique Creations customer service application will enable the organization to develop effective relationships with varying stakeholders, including customers, shareholders, and suppliers. The organization will be able to gather feedback and complaints from its customers, as well as respond in timely manner to their concerns. The design of the system has enabled interaction among other systems in the organization, which will enable users to access relevant information for decision making. The enhanced security of the system will ensure accuracy and reliability of the information available, which will further ensure customer loyalty. Additionally, the system will enable the organization to achieve operational effectiveness and reliability, through its efficient and effective performance, which will reduce on the operational costs (Niedermayer, 2012).
There is a spectrum of redundant process in the organization that compromises its productivity. A redundant process is an irrelevant process, which does not have value in the achievement of the organizational strategy. The organization has not integrated its systems, which makes it hard for users to perform their tasks. For instance, customer service personnel are required to seek for information from sales department, in order to respond to a customer complaint regarding sales. The process of collecting customer feedback and analyzing it has been redundant, owing to lack of a proper customer service application.
Business organizations usually seek to minimize their operational costs. Streamlining business process will enable the organization to reduce its operational costs, as well as enhance productivity. Streamlining business processes will ensure efficiency and effectiveness of business processes, which will further improve profitability. The organization will be able to reap from the benefits of economies of scale, owing to the increased productivity (Niedermayer, 2012).
An effective software design should entail considerations for future upgrade and advancements. Technology is rapidly changing, which compels organizations to continuously upgrade their systems, in order to achieve competitive advantage over the rivals in an industry. The design of the Unique Creations customer service application has considered the possibility for future upgrade and modifications, which will enable the organization to align its system with the stakeholder requirements. The customization of the features included in the system has 6considered future requirements and the need for upgrade in the future
Methodology for Application Development Process
Due to the time conscious nature of the project, the best mode that will be utilized in the application development is the DevOps deployment methodology. This method involves the combination of software development and the information technology operations in the whole process which includes design to the development process (Raycad, 2018). One of the most prevalent features that supports this cycle is the fact that it normally has a shorter development cycle than the other methods because it combines both process which include implementation as well as development.
This method of application development also increases the quality of the software because as it is being developed, the bugs and other errors are usually fixed simultaneously thus aligning the project with its deliverables for example timeliness and quality as well as the increased customer satisfaction through iteration and continuous feedbacks from the stakeholders, vendors and the customers.
The main processes involved in this methodology includes planning, coding, building of the integration tools, testing, release, deployment and operation and monitoring. Planning involves the task management and the development of schedules for the implementation of the project. Coding on the other hand includes activities such as code development, source code management tools, code review and code merging. The application is built using continuous integration tools as well as the control tools thus adding the system requirements to the software effectively according to the stakeholder preference. Risk assessment then follows through the testing of tools already built using constant feedback as the reference for the changes that need to be made to reduce the business risks. An example of this is the bug fixes like uptime delays and other errors.
The release of the application then follows whereby the stakeholders ought to obtain release approvals as well as the release automation processes for the start of the use of the application. The processes that follow is the operations which include the infrastructure installation, infrastructure configuration and the management of the application, security check, capacity planning, data recovery, and v\backup management as well as database management (Raycad, 2018).
Complete Features and Trade-off Analysis
Complete features
The complete features of the application will include a general area where the non-existing customers will be able to view the products offered by the company for free. However, to receive customer support, the client will have to be signed up to the application mainly because of the maintenance of confidentiality policies in regard to the sharing of information online. This means that the application will contain the client and vendor login area whereby the customers will be able to acquire full-scale customer service including suggestions on what type of ornament or jewelry to where that can go along with the clothing of their choice. The main purpose of these features will be for the identification and tracking of customer feedback to identify the level of satisfaction of the existing customers to the company.
The trade-off analysis refers to the determination of what aspect to loose for example quality, amount or any other aspect with an aim of gaining another aspect or quality that might be more beneficial at that time (Sami, 2017). In the case of application development, the most important aspects that will be considered will be the quality of the application as well as the cost-effectiveness of the whole process. The quality of the application will go a long way into making sure that the main aim of the software application which is proper customer service delivery is obtained and maximized to retain the existing as well as potential customers. This includes the reduction of features of the application such as the downtime and the ease of accessibility.
The cost-effectiveness is also important because the money required to develop the application might exceed the perceived amount hence it might eat into the budget set aside for the monitoring and evaluation of the application including the support. However, as much as the time is also another important aspect of the software design and development process, the stakeholders might be willing to compromise on that by providing enough time for the delivery of quality and a cost-effective application for efficient customer service.
Milestones and Deliverables based on Date and Dependencies
The data collection and individual analysis will be conducted simultaneously in the planning phase of the project which will enable the project management to determine the needs of the stakeholders and develop a plan to properly align with their needs. This process is expected to take one week whereby the project team will gather all the information both from the stakeholders as well as from the vendors and the customers. The provision of such data will enable the project team to identify the type of features that they expect from such a program in relation to better delivery of services by the company. After the identification, the coding and building of the integration tools will follow, a process that is expected to occupy approximately 3 weeks due to the bulkiness of the job in making sure it aligns with the user requirements.
To save up on time and costs, the testing and development of the features of the application will be conducted simultaneously meaning that the company could test the application on actual vendors and clients while providing real time support. The real time support will facilitate the development of proper mitigation interventions to reduce the risks of the implementation of the application on the business. This process is expected to run for a period of 3 weeks during which the development team will be actively involved in the development of the application by fixing as well as increasing the features of the application.
The final process will be the monitoring of the performance of the application whereby the project team will continue providing oversight support for example cloud based services under subscription. It is worth noting that the cloud-based services will contain some security features in line thus making sure that the information transmitted through the network infrastructure is credible as well as secure enough (Dennis, 2018).
System Architecture Aligned with System Requirements
The system will combine the use of an automated response system that will make sure that the customers attain real time as well as accurate support from the company through efficient customer service. When a customer logs into their account through the application, a query will immediately pop up thus prompting a chart with the clients regarding anything to do with the products or services the company offers.
To satisfy the reliability concerns of the customers, there needs to be a properly aligned customer tracking structure whereby the application will have a redundant and independently produced copy of the communication between the various users and the company. This provision will enable the oversight authority to track such communications when responding to a customer concern for example negative feedback of the customer care representatives by the clients. This strategy is very crucial in making sure that the application effectively serves the customer satisfaction purpose.
The alignment between the stakeholder requirements and the system design will enable the organization to achieve operational effectiveness. It will be easier for the organization to achieve enhanced productivity, owing to the improved customer service application (Lin, 2007). Stakeholder requirements
It is very important to address the varying requirements of different stakeholders. The various stakeholders will have different interests, which will make them have varying requirements. It’s important for the team to gather relevant information regarding stakeholder requirements, in order to ensure design of an appropriate application. The costs and quality are important elements of a software development, which affect various stakeholders directly. The planning and design of the software should make sure that the stakeholder requirements are met.
Regarding the quality, the system architecture is designed in such a way that the response will provide the required quality assurance to the customers all together through the automated systems. There automated alert system through an automation strategy will also come in handy in making sure that the customers concerns are addressed effectively and in time.
The software that will be developed involves a system that will enable the company to develop more efficient customer care through the effective and Intime response to customer queries. The software will involve a developed algorithm that will mainly aim at developing an automated response system that will facilitate the customer care team’s delivery of the services for example whenever they are not there in person.
The data will mainly be stored in the cloud servers of either an outsourced company or the company’s servers. However, due to the complexity in the management of the cloud-based servers, the company will consider the outsourcing of the storage services. This suggestion is mainly because there is whole dynamics that run into the management of the data being stored in the servers for example encryption of the communication between parties as well as the general security of the storage systems.
The main source of data will be the server which contains all the data and from which the slaves or rather the end-users can access the data. The end users can access the application from several devices, for example, the mobile-based application or alternatively they can use the web-based services through a provided URL thus developing a proper channel for communication between the parties involved all through.
The automation process will require an algorithm that mainly involves the development of a protocol to be followed in responding to queries of clients. An example of this is whereby a client might request for prices of certain items posted on the website or in the mobile application. The protocol, through an encrypted path, will send the query to the cloud-based servers which will then search for the answers to the query based on the words contained in the query. The protocol will then find the most accurate answers from the cloud servers and post them back to the clients in time. The whole process is estimated to take a maximum of 3-5 minutes.
The automation process will facilitate the development of proper customer services which is the main purpose of the whole process. It is worth noting that customer service is paramount to any business and migration from the onsite customer service underlies the level of achievement that can be attained by the application of technology for the same purpose.
The main risk to the whole project is the security of the information and privacy of the clients as well as the cyber-attacks that are very much prevalent in the modern world. An example of this is whereby some cyberbullies might target the customers and since it’s a jewelry shop, they might be on the lookout for those rich buyers and extract their information from the databases and later use them to defraud the customers in one way or the other. This can cost the business huge chunks of money as well as the loss of existing and potential customers.
Deliverables | |
Project Name, Contributors, Workgroup, Date | ✓ |
Key stakeholders | ✓ |
Feasibility assessment | ✓ |
Scope & business reason | ✓ |
Design approach | ✓ |
Constraints and limitations | ✓ |
Dependencies | ✓ |
Assumptions | ✓ |
Risks | ✓ |
Design alternatives | ✓ |
Reporting and processes | ✓ |
System interfaces | ✓ |
User interfaces | ✓ |
Fault management | ✓ |
Existing defects resolved | ✓ |
Compliance | ✓ |
Architectural | ✓ |
Usability and accessibility | ✓ |
Security | ✓ |
Performance and reliability | ✓ |
Network or remote access | ✓ |
Data and files | ✓ |
Testing | ✓ |
Hardware or equipment | ✓ |
Deployment | ✓ |
Cost | ✓ |
Disaster recovery and business resumption | ✓ |
Operations | ✓ |
The testing and deployment phase will be done in three phases which include the pre-deploy, deploy and post-deploy phase.
Pre-deploy
This stage mainly involves activities such as the production and stage environment backups, retesting of the new features and bug fixes, code freezing whereby the engineer stops all the developers from making any other changes to the application, development of a report for the bug and subsequently prioritizing them for urgency, testing the urgent bug fixes and testing of the major and minor bugs after which the deployment is announced.
The deploy process
This process is normally conducted by only one person meaning that after the pre-deploy cycle, the manager or rather the coordinator who has been mandated to authorize the deployment process puts this phase into motion. Having one developer as the one responsible for authorizing the deployment minimizes the risk of misunderstandings (MOCG, 2016).
Post-Deployment Phase
This phase involves stages like retesting of the new features that have been developed from the deployment feedbacks as well as the smoke testing using the checklists. Developers in this phase are also required to report any bugs that might be exhibited thus categorizing them for urgent fixing using methods such as the regression testing before they are redeployed back to the users.
Allan, J. (2016). The relationship between customer service and financial performance is clear. Retrieved from https://www.marketingmag.com.au/hubs-c/relationship-customer-service-financial-performance-clear/
Bennatan, E.M. (2017) On-time within budget: Software project management and techniques. New York: Wiley services. Information Systems,53,1-15
Burke, R. (2019). Project management techniques. Place of publication not identified: Burke Publishing.
Busch, D. H. (2016). The new critical path method: The state-of-the-art in project
Bennatan, E.M. (2017) On time within budget: Software project management and techniques. New York: Wiley services. Information Systems,53,1-15
Burke, R. (2019). Project management techniques. Place of publication not identified: Burke Publishing.
Busch, D. H. (2016). The new critical path method: The state-of-the-art in project modelling and time reserve management. Chicago, Illinois: Probus.
Top of Form
Chipman, M. L., & United States. (2014). Toward an improved FIPS cost-benefit methodology: Phase II, descriptive models–general purpose application software development and maintenance. Gaithersburg, MD: U.S. Dept. of Commerce, National Bureau of Standards.
Bottom of Form
Top of Form
Davis, E. W. (2013). Project management: Techniques, applications, and managerial issues. Norcross, GA: Industrial Engineering & Management Press, Institute of Industrial Engineers.
Dennis, J. (2018). Three unbeatable security advantages of cloud-based solutions for your business. Retrieved from https://www.cloudcomputing-news.net/news/2018/jun/25/three-unbeatable-security-advantages-cloud-based-solutions-your-business/
In Mistrík, I., In Soley, R. M., In Ali, N., In Grundy, J., & In Tekinerdogan, B. (2016). Software quality assurance: In large scale and complex software-intensive systems.
Bottom of Form
Top of Form
In Noble, C., In Griffin, A., & In Durmusoglu, S. (2014). Open innovation: New product development essentials from the PDMA.
Niedermayer, M. (2012). Cost-driven design of smart microsystems. Boston: Artech House.
Raycad.(2018).DevOpsmethodologyandprocess.Retrievedfrom https://medium.com/@raycad.seedotech/devops-methodology-and-process-dde388eb65bd
Sami, M. (2017). Trade-off Analysis Technique – Make the decision easier. Retrieved from https://melsatar.blog/2017/09/23/trade-off-analysis-technique-make-the-decision-easier/
Silva, V., Dorca, F., & 2019 IEEE 19th International Conference on Advanced Learning Technologies (ICALT). (July 01, 2019). An Automatic and Intelligent Approach for Supporting Teaching and Learning of Software Engineering Considering Design Smells in Object-Oriented Programming. 321-323.
Whitaker, K. (2017). Principles of software development leadership: Applying project management principles to agile software development leadership. Boston, MA: Charles
Top of Form
Top of Form
Bottom of Form
Bottom of Form
Bottom of Form