Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

You started working at a medium size company where the need for a CRM software h

ID: 3769087 • Letter: Y

Question

You started working at a medium size company where the need for a CRM software has become a priority. The management is looking at Oracle and SAP but the cost is really out of range because it will require a lot of customization… Fortunately, you got there on time and, with your knowledge of software development process, you have the opportunity to convince the management team that a custom-built software can be built in house by hiring the right people as contractors for a period of time…. Build a plan aimed at building the software for your company that will convince the management team. Show what it will take, a timeline, the components needed, how to make sure that the software development will be on schedule, how it will be tested. Discuss specification, planning, management of the development process, the several testing phases, the implementation and the release to the company’s personal.

Explanation / Answer

Specification, planning, management of the development process

The medium enterprises administrators are searching for best practices and knowledge that may help them with growth on the competitive world. In this sense, the product development process (PDP) systematization and organization are largely diffused. Reference models, for instance, are graphical PDP representations including activities, tools, concepts and best practices that are not easily incorporated in the enterprise routine, viewing PDP organization or improvement.Therefore, a transition model from the real practice to the proposed literature reference model is needed. The development teams, especially of small and medium companies, do not consider easy to understand and implement the reference models. This work considered the Method Engineering applied to the Organizational Engineering dominium to compose the Transformation Model for Pharmaceutical SME’s PDP. The model incorporated the literature intervention’s best practices. The method and the PDP dominium were discussed. The review of SME’s organizational structure characterized the intervention environment. Useful tools and practices for PDP and Intervention were identified from literature. The consideration of Change Management and Method Engineering theories led to the Preliminary Intervention Model elaboration. This model was evaluated by its application in a medium-sized pharmaceutical organization by action-research. The researcher’s observation supported the model improvement. This improvement generated the Intervention Model. The Intervention Model
considers the small and medium enterprises characteristics and may guide the SME PDP improvement.

1) Planning
At the planning step, the improvement possibilities are ordered by priority and the implementation project is created. The considered criterions on the improvement possibilities selection are incidence probability, and impact on the process.The low maturity level company generally does not present project management practices. This step emphasizes the project detailing to the project planning practice introduction in those companies. The model presents forms to guide those steps. Those forms are simplified because they were elaborated focused on the company’s project planning first contact. This step may help the company’s project management maturity level improving or this practice using habit creation. As the company becomes more mature, it must consider the creation of an own project management models, with own planning and control definitions and documents.

2) Execution
In the execution step, the plan is implemented changing the specific process in the context. The basic principle of this step is the projects participative conduction. All process related employees must be involved on the changing process. The transformation process must involve more people than the product development process team.
The new process steps must be documented represented graphically, the metrics must be defined, as well the information flow focused on the decision-taking criterion must be mapped. The new PDP process is standardized through documentation and training.

The main focus of the transformation should be the information exchanging process. The level of systematization of the information system is must be company’s culture adjusted. This systematization does not mean a software implementation, but a clear definition about who must be informed about which information at a specified time and about which information is needed to decision taking on the defined process steps.

3) Conclusion
the transformation process critical analysis is performed and the lessons are registered for future transformation projects improvement.The transformation process does not result on the perfect and immutable PDP. It is the initial step to the systematization. Improving process is endless and the company must continuously evaluate the
environment and its internal structure to actively adapt to accomplish the customer needs. The product must be considered a manifestation of all the company efforts to costumer needs accomplishment, including other process than PDP. This continuous improvement generates the product perception enlargement and the PDP become more similar to the reference model.

Testing
The code is tested at various levels in software testing. Unit, system and user acceptance testings are often performed. This is a grey area as many different opinions exist as to what the stages of testing are and how much, if any iteration occurs. Iteration is not generally part of the waterfall model, but the means to rectify defects and validate fixes prior to deployment is incorporated into this phase.


The following are types of testing that may be relevant, depending on the type of system under development:

Defect testing the failed scenarios, including defect tracking
Path testing
Tests can be derived from models in different ways. Because testing is usually experimental and based on heuristics,there is no known single best approach for test derivation. It is common to consolidate all test derivation related parameters
into a package that is often known as "test requirements", "test purpose" or even "use case". This package can contain information about those parts of a model that should be focused on, or the conditions for finishing testing.
  
Data set testing
Test data is data which has been specifically identified for use in tests, typically of a computer program.Some data may be used in a confirmatory way, typically to verify that a given set of input to a given function produces some expected result. Other data may be used in order to challenge the ability of the program to respond to unusual, extreme, exceptional, or unexpected input.
Test data may be produced in a focused or systematic way, or by using other, less-focused approaches (as is typically the case in high-volume randomized automated tests). Test data may be produced by the tester, or by a program or function that aids the tester. Test data may be recorded for re-use, or used once and then forgotten.
  
Unit testing
unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together
with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use.Intuitively
, one can view a unit as the smallest testable part of an application. In procedural programming, a unit could be an entire module, but it
is more commonly an individual function or procedure. In object-oriented programming, a unit is often an entire interface, such as a class
, but could be an individual method.Unit tests are short code fragments created by programmers or occasionally by white box testers during
the development process. It forms the basis for component testing.

   System testing
   System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black-box testing, and as such, should require no knowledge of the inner design of the code or logic.

    Integration testing
    Integration testing is the phase in software testing in which individual software modules are combined and tested as a group.
    It occurs after unit testing and before validation testing. Integration testing takes as its input modules that have been unit tested,
    groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the
    integrated system ready for system testing.
  
    Black-box testing
    Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied to virtually every level of software testing: unit, integration, system and acceptance. It typically comprises most if not all higher level testing, but can also dominate unit testing as well.
  
    White-box testing
    White-box testing is a method of testing software that tests internal structures or workings of an application, as opposed to its
    functionality. In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases.
    The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. This is analogous to testing nodes
    in a circuit.
  
    Regression testing
    Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas of a system after changes such as enhancements, patches or configuration changes, have been made to them.
    The purpose of regression testing is to ensure that changes such as those mentioned above have not introduced new faults.One of the main reasons for regression testing is to determine whether a change in one part of the software affects other parts of the software.
  
    Automation testing
    Test automation is the use of special software to control the execution of tests and the comparison of actual outcomes with predicted outcomes.[1] Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually. Test automation is critical for continuous testing.
  
    User acceptance testing
    acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical tests, physical tests, or performance tests.
    In systems engineering it may involve black-box testing performed on a system prior to its delivery.
  
    Software performance testing
     performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
     Performance testing, a subset of performance engineering, is a computer science practice which strives to build performance standards into the implementation, design and architecture of a system.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote