LV Thạc sỹ_Software depvelopment process at FSOFT

71 41 1
LV Thạc sỹ_Software depvelopment process at FSOFT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TABLE OF CONTENTS EXECUTIVE SUMMARY ABBREVIATIONS CHAPTER INTRODUCTION 1.1 Rationale 1.2 Research Objective .9 1.3 Research Methodology .10 1.4 Scope of research 12 1.5 Structure of the thesis .12 CHAPTER .13 LITERATURE REVIEW 13 2.1 Literature Review .13 2.2 Theoretical Background of the product development process 15 2.2.1 Overview of Product Development Process .15 2.2.2 Software Development Processes 21 CHAPTER 35 SOFTWARE DEVELOPMENT PROCESS AT FSOFT 35 3.1 Introduction of FSOFT .35 3.2 Software Development Process at FSOFT 39 3.3 Requirements of FSOFT Process 47 3.4 Project Organization and Management .49 3.5 Advantages and disadvantage of FSOFT software development process 54 Advantages 56 Disadvantages .61 CHAPTER 64 SUGGESTIONS ON IMPROVEMENT OF SOFTWARE DEVELOPMENT PROCESS AT FSOFT 64 4.1Improving the mechanism of transfer of personnel between projects 64 4.2 Improving the capacity and working conditions for employees 65 4.3 Strengthening the employees’ participation in designing product development process 67 4.4 Adjusting the current frame product designing process 68 CONCLUSION 71 REFERENCES 73 APPENDICES 74 LIST OF FIGURES Figure 1: Research Process Figure 2: Generic Product Development Processes 20 Figure 3: Organization level .36 Figure 4: Software Development Process 39 Figure 5: General process 41 Figure 6: Project Planning Figure 7: Project Monitoring Figure 8: Project Closing Figure 9: Project life cycle 47 Figure 10: Experience required Figure 11: Study effort Figure 12: Performance Figure 13: Complexity Figure 14: Implementation Time Figure 15: Quality Figure 16: Process information 60 Figure 17: Process notice EXECUTIVE SUMMARY Software engineering and software process improvement standards are gaining more and more attention Standards are recognized by the software industry as a way for transferring good practice into industrial use Standards are used as the basis against which organizations and/or software products are certified If two organizations follow the same standards, they will be considerably simplified A software development process defines who is doing what, when and how to reach the goal Usually, three different categories of processes are identified: Primary life cycle processes are conducted by prime parties, supporting life cycle processes, and organizational life cycle that is practiced by an organization to establish and implement the underlying structure of the life cycle FSOFT is a leading software company in Vietnam From the beginning, FSOFT recognized the important of process-oriented method in software development Process orientation could significantly reduce administration effort, discover and meet the customer requirements faster and easier, can automate operations, and enabled an interorganizational Increased Cooperation So, FSOFT developed a standard process system which could help them compete and integrate with other company in area The main aim of this research study is to analyses the current Software Development Process at FSOFT and finds the way to improve this process Nowadays, FSOFT has built a software development process system, which included 12 processes: six primary processes, four supporting processes and two organizational processes Software Development Process at FSOFT is considered a most standard and professional system in Vietnam However, there are some weaknesses such as: low flexibility in implementing the product development process, poor involvement of employees in designing new product development process, inappropriate working conditions for technical staff, etc Based on the real conditions of FSOFT, some solutions for improving the software development process system at the Company are proposed, including the improvement of the mechanism of transfer of personnel between projects, improvement of the capacity and working conditions for employees ABBREVIATIONS Abbreviations Description SC Subsidiary Companies DB Domestic Branches OB Overseas Branches HO Head Office Units BA Business Assurance BAG Business Assurance Group OG Operation Groups D Division BOM Board of Manager FSU FSOFT Strategic Unit BU Business Unit OM Operation Manager SM Senior Manager PM Project Manager PTL Project Technical Leader QAM Quality Assurance Manager QA Quality Assurance RADIO Responsibility matrix CM Configuration Management CC Configuration Controller AN Acceptance Note PP Project Plan WO Internal Work Order CHAPTER INTRODUCTION 1.1 Rationale For over 15 years of development, FSOFT grown with over 3,000 employees and about 10 offices around the world Currently, the Company has many customers from developed countries such as Japan, UK, France, Germany, Japan, Malaysia Key strategic customers come mostly from Japan, which often require high quality products and services Because the softwares are service/ product, which are often not able to be standardized, the best way to ensure their quality is the application of process management Thus, in order to guarantee the quality of services and meet the requirements of global clients, FSOFT identifies technological advancement and standardized management process as top priorities Using process in product development has many advantages as: - Increase business performance - Quality is guaranteed - Management is easier - Improve customer satisfaction and customer confidence Currently, FSOFT has built a standard software development process that is widely applied in its Business Unit This process system has contributed in making FSOFT become professional out-sourcing company in software industry After many years improvement, this system is still applied in all Subsidiary Company of FSOFT However, in latest report (end of 2011) of Company, Customer Satisfaction Point got improved compare to 2010 but not reached the target with main causes are: Customers lowly appreciated the product quality and indicated lot of unsatisfied points in other activities In addition, as observed, a number of customers, who requests to ignore the process of FSOFT service provide is increasing in comparison with the last year The reason is that the process does not match the characteristic of the project and customer requirements The questions here are: How effective is the process of software development FSOFT really? How could the service providing process meet customers demands under the conditions of changing of business environment, increasing competition and increasingly diverse of customers demands? In order to answer these questions, the research on Software Development Process at FSOFT is proposed, which aims to figure out the current status of this process and offer innovative solutions Based on survey with managers and staff in organization, this report examines advantages and disadvantages of those processes and shows some of the suggestions to improve the software development process at FSOFT 1.2 Research Objective The first, this research aim to clarify the requirement of software development process at FSOFT FSOFT has built a system of process for software development So what are the requirements that one software company needed to satisfy when they want to apply this system? This report has figured out some critical points to answer that question Second, another main objective of this research is to identify the advantages and disadvantages of software development process at FSOFT and help them to enhance the strengths and improve the weaknesses 10 involved comments about the content and how the process of the employees directly involved in development That makes the process more reasonable construction, in accordance with the requirements and goals of the user process Every time there are a certain process improvements and modifications, the company has changed notifications, time of application and record feedback from the staff Improve the Company's image With a system of software production process stability and advanced, FSOFT reached many important certificates in the software industry, especially CMMi lv5 and ISO 9001 That help FSOFT affirmed the leading position in outsourcing industry in Vietnam With professional systems development process, the image of a Vietnamese software companies is enhanced in the eyes of the international customers, attract new customers and open up new opportunities Moreover, there is also the clearest affirmation of the quality of software produced in FSOFT Project information is available and easy to approach Figure 16: Process information FSOFT has effective systems to distribute the information about Software Development Process Documentation such as guideline, process description, and 57 template… is stored on Company server and accessible All employees can access to this server to get the latest version of document Disadvantages No system is perfect So, in parallel with the aforementioned advantages, the development process software at FSOFT also exist some disadvantages to overcome Some supported processes are unnoticed Figure 17: Process notice The first is to understand the process, for the staff asked the processes most people know is the process in the live stage production of products: Requirements, Design, Coding, and Test Meanwhile, a very important process for work management, risk 58 management, issue management, only half of the respondents knew about this process, primarily Quality Assurance Officer and Project Manager This led to staff focus on the implementation of its products in a machine without attention to the self-management plans and risk For small to medium projects (ranging from to 10 people), this problem does not affect much, but for relatively large projects, the management will be very difficult In particular, the nature of support processes such as Configuration Management, Quantitative Project Management, Customer Support, Subcontract Management, Deployment, Contract Management, very few people understand, including the Project Manager This result shows that, although support processes of interest and development but not to promote efficiency The root cause is because the staff has not been trained, not aware of the significance of this process, or understands, you might not have the opportunity to apply and test For example, the Quantitative Project Management process is a process-based project management statistics This is a very common process more successful where applicable However, in order to understand and implement an effective, would not need intensive training, but also to have a support system tool, can help users easily applied in practice Process is not flexible Another important drawback of the software development process at FSOFT is flexibility in applicable to each specific project FSOFT is a software development company with diversified markets such as Japan, U.S., UK, Germany, etc For each market, customer’s requirement for product’s quality is not the same at all For the Japanese market (Eastern market), quality is customer’s top priority so they are interested in monitoring from production procedure to final results Therefore, the projects in the Japanese market always follow defined process very strictly and 59 seriously Conversely, for the European market and the U.S market (Western market), process requirements are placed high in the final product results With that difference, the process of FSOFT system is not flexible enough to meet the many sides This lead to some processes meets the standards with Western market but not enough to satisfy Eastern market In contrast, multiple processes can be quite complex and not necessary when applying in Western market which does not require much According to the survey conducted, very few of the respondents fully comply with the provisions of the company even though they are trained and understand the benefits of the process There are several major partners such as Sony, Panasonic, NEOPOST had forming process for each Out Sourcing Development Center and showed the most effective However, the project team still has to follow a part of company's processes as prescribed It may takes effort and makes stress to staff The low involvements of employees in propose new process An added limitation of the process developed software in FSOFT is staffs who directly using the process usually not directly propose; decide the content of the process The initial process is mainly due to a committee responsible for the development of reference models have been applied in the company ahead Since then, the process being edited, revised and put into the application at the company Company has not has clear regulation to encouraged maximum creativity and innovative ideas from major number of employees 60 CHAPTER SUGGESTIONS ON IMPROVEMENT OF SOFTWARE DEVELOPMENT PROCESS AT FSOFT Although still remaining certain limitations, the software development process in FSOFT showed significant effects in the production process The construction and development process system help FSOFT has many opportunities to approach new technology, can compete with other competitors oversea such as China, India In order to improve competitiveness and more efficient, along with strengthening the highquality human resources, improving disadvantages and promoting the advantages may make FSOFT process viable and far in the software industry After the study, the author draws a number of proposals to improve existing manufacturing processes as follows: 4.1Improving the mechanism of transfer of personnel between projects In detail, FSOFT could apply the following mechanism: • When a project is started, the SM based on the business domain to arrange Project Manager experienced staff involved from the beginning Training Department should conduct training courses for members who have the potential to promote to Project Manager These courses can be held monthly at the Business Unit Trainer directly involved in training is experience PM of Unit End of each course, trainee will receive certification and records of the course will be documented for reference Every time certification has expired, employee must re-train All training cost is paid by Unit • PTL is also an important role in project To avoid situation: project have no key member involved in the investigation and give solution for team, BU can set up a 61 team called Solution Team This team includes key members with experience in different business domains Whenever a new project is opened, customer requirement will be sent to the Solution Team to analyze and offer solutions for project team Other hand, Solution Team can involve in problems resolving if any project need • With the problem of providing equipment, Admin Department needs to find out more options for the project by adding more vendors to supplier list Specially, if needed have to have plans to use foreign suppliers for specialized equipment In the case of projects directly contact the provider, Admin Department should arrange staff to guide and support the payment procedures • Improve Configuration Management need to strengthen compliance monitoring mechanism made from the stakeholders to the project The QA should have a tracking mechanism to weekly check the compliance of CM activities in project Before, In addition, the department such as IT, Information Security Management, BOM should also consider the CM activities of the project 4.2 Improving the capacity and working conditions for employees With the point: supported processes are unnoticed, the main reason is due to training of FSOFT not really in-depth The most initial training is to introduce and guide the implementation approach rather than creating opportunities for employees to thorough understand and consistency throughout the organization Need to further enhance the training employees better understand the process support Especially, Configuration Management processes and Quantitative Project Management To understand and apply proficiency these processes is very difficult because these process is not common in Vietnam Therefore, the in-depth training classes about these processes are essential At the same time, increase dissemination of guidance documents is necessary for the Company Currently, the percentage of employees does not know how to approach the 62 process is still quite high In addition to the introduction of the system documentation, company standards through training sessions, should increase with more tutorials and answers in public areas such as message boards, internal forum On the other hand, research and development of tools to support process is also meaning for employees to apply the procedures correctly and efficiently There are some popular tools have been extensively applied to like: Redmine assist Project Management, SVN support for Configuration Management Deploying and putting tools into operation will be handled by Tool Development Department Dissemination will guide by the Training Department or in charge by Quality Assurance Officer Parallel to that, establish and maintain a quantitative understanding of the performance of the organization’s set of standard processes in support of quality and processperformance objectives, and to provide the process performance data, baselines, and models to quantitatively manage the organization’s projects One very important drawback is the rigidity of the process of FSOFT FSOFT is a large company with many customers from all over the world Each market, each customer has different style and different work culture Besides that, Rigid of FSOFT current process may lead to some difficulties for small projects or short time which no need to fully implementation Provide flexible formula for the application of process can resolve this situation The introduction of flexible formulas to the project can be applied in different cases will help the project by doing the spontaneity, while maintaining the pressure in accordance with company procedures FSOFT should: - Integrate the software engineering and management activities into a coherent, defined software process that is tailored from FSOFT's standard software process and related process assets 63 - Develop and maintain guidelines and criteria for the projects' tailoring of software life cycles and standard software process - Define criteria for review and approval for implementation of processes - Arrange for periodic assessment of the software process, and develop action plan to address the assessment findings - Collect, review, and make available information related to the use of FSOFT's standard software process by the software projects 4.3 Strengthening the employees’ participation in designing product development process Another problem to be solved is to encourage employees to participate in the new build process Information technology market is always changing, so the product as well as the development method is also changing Since then, the staff may have the opportunity to learn and access to new production processes more consistent, more efficient Constantly making new processes to match the change of environment is the way for the company to catch up with current trends At organization level, FSOFT can: - Select and deploy incremental and innovative improvements that measurably improve the organization’s processes and technologies The improvements support the organization’s quality and process performance objectives as derived from the organization’s business objectives - Receive and evaluate new processes, methods, and tools in limited use and, where appropriate, transfer to other parts of the FSOFT - Pilot process and technology improvements to select which ones to implement 64 - Continually and systematically deploy measurable improvements to the organization's processes and technologies 4.4 Adjusting the current frame product designing process The first phase is planning In this phase, Project Manager and project team will base on the very first inputs such as: The Statement of work, Proposal, User requirement document to perform analyze requirement, estimate effort, create planning document End of this phase, the outputs will be some planning materials: Software Requirement Specification, Project Estimation, Project Schedule, Project Plan… and have been reviewed and approved by project team and customer The next stage is the design Designers will study requirement before designing the draft design The design will be PM, PTL review one time before release to customers However, there are many cases where software is divided into several individual modules to design When review those module designs, there was usually have a lot of common defects have been found The effort to update all of the modules before that will be quite huge So, according to the author, FSOFT should adjust the review mechanism to ensure general defects will be found as soon as possible Suggestion given here is project team will organize a group review meeting between PM, PTL and Designer when completion draft designs are from 10 to 30 percent With such early review, the common errors will be found and shared between modules It not only helps to prevent errors between other modules but also the rest of the work within one individual module Come next to the coding phase Requirements and designs will be studied by Developers to program Software Source Code When completing, PTL is person who is in charge to review source code to remove some standard and logic code errors Then the Developer will perform Unit Test software program to ensure the compliance with the main business activities 65 End of the coding phase, the software is transited to testing phase In fact, the testing phase begins immediately after receiving the customer's requirement Test Leader will create Test Schedule and assign Testers to create Test Cases Documents During the process of writing and reviewing Test Cases Documents, there is a problem similar to the Design review process which is the common errors of Testers in Test Cases Documents happen a lot So that, a group review meeting between PM, Test Leader and Testers when the Test Cases completed 10 to 30 percent is necessary After the Test Cases Documents are completed, also Developers finish Unit Test on software product, Testers will use Test Case to perform test for final product The defects if have will be logged into the system and assign error management for Developer to fix Until the software product has no longer errors and ensure all customer's requests, it will be officially released to the customer Final phase of the project is Closing After customer accepts the products, Project Manager will send Customer Satisfaction Survey to get customer feedback on products and services which are provided At the same time, the project also holds a post mortem meeting to review the results of the project: the point has been achieved, the major problem, and give lessons In addition to the main stages of product development as above, there are two processes run through the project They are Project Management and Configuration Management A project will be divided into multiple Milestones To each Milestone, Project create Milestone Report and held a review meeting to assess what has been done in the previous Milestone, remaining issues to be addressed and make plans to adjust for the next Milestone Configuration Management processes, which are not focused by projects Usually the only projects team only perform baseline developing products each months to avoid the risk of incidents of data loss But in the short term, the change control of each 66 document is not implemented So, it should be add one more step in this process is that the project will use a document which is named Change Control Report to manage all changes of products version in project When a product has some updates, the relevant products will be reviewing whether to update or not and recorded in Change Control Report The person responsible for the development of related products will base on this report to update timely 67 CONCLUSION Though having certain limitations, this study has implications both for research and practice The Research Results From practical perspective, the study has the following implications First, it provides a foundation for a framework that describes the general process to development a product Also, practitioners can use the conclusions in this report as one of the sources for establishing concrete guidelines which show how product development process can be applied to an organization in product development industry Second, in my research, I described some software development models which are population in software industry, and the specific process system which is developed by FSOFT Third, this research question was answered by defining the requirements for software development process in FSOFT, evaluating the ability of software process models, finally constructing a suggestion for improvement steps for the case organization based on the new model The results of this study can be valuable for FSOFT when pointing out some strengthens and weaknesses of current systems Limitations of this study This study has also several limitations First of all, the case study is only performed in Hanoi branch of FSOFT Also, in the case study we have tried to look at different subUnit and projects in the company, but the data collected are limited This might have restricted the full observation of the real phenomena as well as the generation of exact conclusions 68 Implications for further research First of all, further case studies can investigate how other companies can use FSOFT Software Development Process to improve their business performance, efficiency and quality assurance Additional case studies might include companies that are actually want to get CMM certified, or companies that successfully scale up as their projects get bigger Second, we could also collect additional data about specific projects in FSOFT, to further propose a research of defining a new process model to make FSOFT process system more flexible A few questions arise immediately after defining the new process model: - How should the new model be promoted and supported? - How did deployment of the new model a_ect the product development in the case organization? How should the customer project and delivery process be improved in the case organization to work ciently with the new modelThe most important of all further research would be studying if the new model really helped the case organization to improve its software development process in practice 69 REFERENCES Badara A Kaba, David Wastell, Jean-Claude Derniame (1998) Software Process: Principles, Methodology, and Technology Nancy, France Christian Mayerl (2000) Process oriented Approach to Develop Provider accepted Management Tools Thesis: University of Karlsruhe Lauri Vuornos (2002) Software Process Improvement in a Small High-Tech Company: Case Smartner Information Systems Ltd Master Thesis: HELSINKI UNIVERSITY OF TECHNOLOGY National Standard (2008) QUALITY MANAGEMENT SYSTEMS– REQUIREMENTS TCVN ISO 9001:2008 Ngoc Tuan Nguyen (2010) How software process improvement standards and agile methods co-exist in software organisations Thesis: University of Twente Paulk, M C., Curtis, B., Averill, E., Bamberger, J., Kasse, T., Konrad, M., Perdue, J., Weber, C., and Withey, J (1991), Capability Maturity Model for Software Technical Report CMU/SEI-93-TR-024 ADA240603, Software Engineering Institute: Carnegie Mellon University Salustri & Proulx (2004) Overview of Product Development Processes Ryerson University, University of Sherbrooke Software Engineering Institute (2006) CMMi for Development Version 1.2 Carnegie Mellon University Walt Scacchi (2001), Process Models in Software Engineering, Institute for Software Research: University of California, Irvine 70 APPENDICES 71 ... by FSOFT Board of Management 3.2 Software Development Process at FSOFT Figure 4: Software Development Process 37 The Software Development Process at FSOFT included 12 processes: six primary processes,... software development process system, which included 12 processes: six primary processes, four supporting processes and two organizational processes Software Development Process at FSOFT is considered... Developer Literature review Theories of software development process, Software development process requirements FSOFT background Recommendation Survey In-depth Current situation of FSOFT process Advantages

Ngày đăng: 10/08/2020, 10:56

Từ khóa liên quan

Mục lục

  • LIST OF FIGURES

  • EXECUTIVE SUMMARY

  • ABBREVIATIONS

  • CHAPTER 1

  • INTRODUCTION

    • 1.1 Rationale

    • 1.2 Research Objective

    • 1.3 Research Methodology

    • 1.4 Scope of research

    • 1.5 Structure of the thesis

    • CHAPTER 2

    • LITERATURE REVIEW

      • 2.1 Literature Review

      • 2.2 Theoretical Background of the product development process

        • 2.2.1 Overview of Product Development Process

        • 2.2.2 Software Development Processes

        • CHAPTER 3

        • SOFTWARE DEVELOPMENT PROCESS AT FSOFT

          • 3.1 Introduction of FSOFT

          • 3.2 Software Development Process at FSOFT

          • 3.3 Requirements of FSOFT Process

          • 3.4 Project Organization and Management

          • 3.5 Advantages and disadvantage of FSOFT software development process

            • Advantages

            • Disadvantages

Tài liệu cùng người dùng

Tài liệu liên quan