Describe the software engineering process, the challenges in managing software development activities and the potential interface issues from the software development perspective.
Software engineering process is a well-defined and orchestrated process involved in the conceptualization, design and development of the software. Software engineering should be viewed as a roadmap that explains the path to be taken by the project participants and the methods to be adopted to achieve the goal of building the software. IEEE defines software engineering as the application of engineering in building the software that includes the implementation of a systematic and quantifiable approach to design, develop, test, operate and maintain the software . Software engineering helps the project team in various aspects like cost control, ensuring availability, scalability, quality, etc. The six typical steps involved in software engineering includes requirement analysis, software design, software development, testing, implementation and maintenance. Some of the major challenges involved in the software development activities include lack of clarity on the requirement resulting in iterations and cost escalations, evolving requirements, insufficient availability of technical expertise, teams operating in silo resulting in lack of clarity on the bigger picture, integration requirements with the surrounding systems, tight deadlines resulting in insufficient testing, etc. Software interface is one of the most important aspects that designs and connects the pages and allow users to interact with the software. Some of the typical challenges in interfacing include ensuring design consistency, ease of use, incorporating the ability to convey appropriate messages to the user and ensuring faster response times in the software .
Analyze the CMMI levels and define a roadmap that the organization will need to follow in order to get their software development processes to CMMI level 3.
One of the five maturity levels in CMMI, the level 3 is also known as the ‘Defined’ level. Organizations achieve CMMI Level 3 when they successfully complete the SCAMPI-A appraisal which certifies that the organization/process has achieved all the goals that are assigned to maturity levels 2 and 3. The key focus area for CMMI Level 3 is process standardization and the key process areas that the organization/project should focus on include-
Requirements development, technical solution, product integration, verification, validation, organizational process focus, process definition, training, integrated project management, risk management, decision support, analysis and resolution, organizational environment for integration and integrated supplier management .
Explain the auditing tasks that must be performed in order to achieve level 3.
CMMI requires the organization to utilize the lessons learned to be incorporated in their future planning and implementation processes as well as to evaluate their existing results and focus on their improvement. The typical auditing tasks performed in the attempt to achieve level 3 certification involves audit of the organization’s projects, software workflows and the organization’s level of adherence to their policies and standards. The audit helps the organization/project managers to understand where they stand and what could be done to improve their existing processes and ensure that the organization/project is functioning at par or above the set standards. The focus should be on overseeing the processes, developing skill sets, re-alignment of software workflows etc.
Determine the continuous assurance auditing activities that the organization will need to implement to help achieve CMMI level 3.
Continuous assurance audit activities are essential in order to ensure continuous improvement in the process areas. It also enables the process/organization to identify the areas where they are lagging and take corrective steps. The six steps involved in continuous assurance auditing activities include -
Identification and establishment of priority areas- identifying and integrating the areas of audit
Identifying, Monitoring, continuous audit rules- Determining, programming and re-configuring the rules that guides the continuous assurance audits.
Determining the frequency of the process- Even though the audit is termed as continuous, it will happen based on multiple parameters like the nature of the process, availability of auditors etc. Cost-benefit ratio of the continuous audit should be considered prior to the initiation.
Continuous assurance audit parameters configuration- The parameters specific to the audit area need to be configured before setting off the process
Conducting follow up- Involves the establishment of alarms on the deadlines and commencement of the follow up.
Communicating the results- The final step involves communicating the results with the organization/process team. It is important to ensure consistency in communication and should consider the risk of collusion.
Analyze the ITIL Service Management guidelines and principles.
The six guiding principles for ITIL Service Management (ITSM) include -
Business Relevance- Defining the infrastructure service taxonomy based on the customer’s service demand
Financial Transparency-Creating the desired cost transparency in order to generate an effective conversation among the stakeholders
Customer Experience- Defining the services from the customer’s perspective and enabling them to make the selections and control costs through the deployment of appropriate mechanisms.
Ownership-Service Managers as the P&L owners of design, cost and performance
Business Relevant Measurement- Measuring and reporting service performance helping in optimizing the service consumption.
Culture- Promoting the culture of continuous service improvements in line with the business and IT goals among the staff members
Examine how ITIL Service Management practices relate to CMMI levels and continuous service auditing
Both ITSM and CMMI are process maturity frameworks that follow a structured approach. Both these frameworks stresses on development and improvement of processes to enhance development activities, customer satisfaction and coordination of supporting activities of a project. Even though they are similar, the level of duplicity is minimal, enabling organizations to implement both these standards simultaneously. Whereas CMMI focusses on quality parameters related to software development, integration, implementation and maintenance, ITSM targets IT operations and IT infrastructure. Both the standards help organizations to improve on quality, reduce the turnaround times and achieve favorable costing scenarios .
References
Aquino, C. E. (2008, February 1). Six Steps to an Effective Continuous Audit Process. Retrieved from Internal Auditor: https://iaonline.theiia.org/six-steps-to-an-effective-continuous-audit-process
Harish, N. (2009). Ergonomic Issues and Software Design. Retrieved from Arthurfill High Schools: http://web1.arthurphil-h.schools.nsw.edu.au/tas/Multimedia/Website/Term1/Resources/HARISH_Narmada/Ergonomic%20issues%20in%20Software%20Desgin.html
N, N. (2013, November 5). Brief Definitions & Differences Between CMMI vs. ITIL. Retrieved from Bright Hub Project Management: http://www.brighthubpm.com/monitoring-projects/72298-differences-in-cmmi-vs-itil/
Tonsetic, M. (2013, July 11). Six Guiding Principles for Infrastructure Service Management . Retrieved from CEB Blogs: https://www.cebglobal.com/blogs/six-guiding-principles-for-infrastructure-service-management-hint-you-wont-find-these-in-itil/
Tutorialspoint. (2014). CMMI Maturity Levels. Retrieved from tutorialspoint: http://www.tutorialspoint.com/cmmi/cmmi-maturity-levels.htm
TutorialsPoint. (2016). Software Engineering Overview. Retrieved from tutorialspoint: http://www.tutorialspoint.com/software_engineering/software_engineering_overview.htm