• Ei tuloksia

2 Software quality construction

2.4 Human factors in software quality construction

The literature suggests that software quality can be improved through improving the capability of organizational processes (CMU/SEI-2010-TR-033, 2010) and improving the capability in the individual development processes (ISO/IEC 15504-5, 2012).

Furthermore, the Software Engineering Institute (SEI) suggests that companies should focus on people, methods and tools as critical factors in improving business.

developers or customers. In the real business environment, it is a challenge to meet both customer requirements at a competitive price yet meet the time and desired quality; innovation is  one  of  the  success  factors  providing  competitive  edge  (D’Aniello   et al. 2006, Strecker 2009, Edison et al. 2013). According to Miatidis et al. (2008) and Shneiderman (2007), the experience of developers in a particular domain and the time spent in solving various problems associated with customers, methods, requirements, etc. in that domain, has a positive impact on quality construction. Technical skills, such as programming, software testing, etc., are mandatory but the experience in the domain enables the developers to improvise suitable solutions because of their domain knowledge.

Customer satisfaction has never been an easy issue. It is not enough to develop a working product but a product that is also attractive to the customer. This means presenting a product in a manner that the customer will appreciate it. Christoffer and Furuknap (2009) and Patre (2010) discuss the importance of art. The art of design, artifact creation, etc. have a positive influence on product quality.

This study finds creativity, innovation, experience and art as important human factors that influence software quality construction. Therefore, this section presents an insight into creativity, innovation, experience and art in software quality construction.

2.4.1 Creativity

Creativity  is  “the  ability  to  come  up  with  ideas  or  artifacts  that  are  new,  surprising  and   valuable”  (Boden,  2004,  p.1).  Piffer    (2012)  argues  that  a  product  that  is  novel,  but  not   usable cannot be considered creative. This view expands the definition of creativity to include  the  item  “usefulness”  of  the  new  idea.  On  the  other  hand,  Arden  et  al.  (2010)   and Zeng et al. (2011) expand the definition of creativity further to include the concept of  “beauty” (arts)  and  “appropriateness”.  For  example,  Zeng  et  al.  (2011,  p.25)  define   creativity   as   “the   goal-oriented individual/team cognitive process that results in a product/service  that,  being  judged  as  novel  and  appropriate,  evokes  people’s  intention   to purchase,  adopt,  use,  and  appreciate  it”.  Thus,  on  the  basis  of  the  literature,  I  define   creativity as the use of original ideas to create a useful, appropriate and attractive (artistic) product  that  will  evoke  people’s  intention  to  purchase,  adopt,  use,  and  appreciate it. However, Piffer (2012) argues that it is not only difficult to have one definition of creativity but it is also difficult to measure it by one scale. He further declares that creativity is the sum of accomplishments of some tasks or products or services, which can distinguish one product from others. According to several definitions of creativity (Arden et al., 2010; Boden, 2004; Piffer, 2012; Zeng et al., 2011), software quality can result from developers’  creativity  and  satisfy  the  customer  even though he was not involved in the requirements elicitation.

2.4.2 Innovation

According to Strecker (2009), innovation is the implementation of new factor combinations (e.g. new goods, new production methods) that lead to significant improvements of existing methods.

The goal of software quality construction is to develop a software product, or improve an existing product for the purpose of satisfying customers (Strecker, 2009).

According to Edison et al. (2013), innovation can be categorized into four areas:

product innovation, process innovation, market innovation and organization innovation. In order to develop a quality product or improve an existing product, innovation is important. For example, Edison et al. (2013) define product innovation as the creation and introduction of new (technologically new or significantly improved) products that are different from existing products as regards architecture, structure, technology, features or performance.

The improvement of products may start by improving the process used in the development process. Edison et al. (2013) define process innovation as the implementation of a new design, analysis or development method that changes the way in which products are created. Recognizing the importance of other roles in addition to technical teams, Edison et al. suggest that there should be innovations on marketing strategies. Edison et al. describe market innovation as the implementation of new or significantly modified marketing methods, strategies and concepts in the product design or packaging, placement, promotion, or pricing. It includes opening up new market opportunities, position innovations (including changes in the context in which the products are introduced) and the implementation of new or significantly modified marketing strategies. Finally, Edison et al. (ibid.) suggest organization innovation, which refers to the implementation of new organizational methods in the firm’s   business   practices,   workplace   organization   or   external   relations.   It   includes   changes in the architecture of production and accounts for innovations in management structure, corporate governance, financial systems or employee remuneration systems.

Innovation refers to methods (Strecker, 2009) that lead to better or improved products.

The customers’   demand   may   be   beyond   the   requirement   elicited,   because   customers   may represent their needs in arbitrary expressions or in a vague language that is difficult to interpret precisely. Some customers do not know what they need until they see it. Thus, the software quality construction process may tap into the advantages of innovation along with the involvement of customers for the purpose of meeting their needs.

2.4.3 Experience

Miatidis et al. (2008) describe experience as the knowledge background that concentrates mental stimuli from previous experience, education, know-how and guidelines stemming from the company, or even pure instinct, and enables a person to come up with optimal solutions in problem solving.

The Oxford dictionary (2005) defines experience as the knowledge or skill acquired over a period of time, especially that gained in a particular profession by someone at work.

Fagerholm  and  Münch  (2012)  suggest  several  approaches  to  addressing  ‘experience’.  

They consider  ‘experience’  to  refer  to  both  immediately  perceived  events  as  well  as  the   memories of events and the knowledge gained by interpreting and reflecting on remembered events.

The three views of experience in Fagerholm and Münch (2012), Miatidis et al. (2008) and Oxford dictionary (2005) suggest that experience adds value to a product. For example, developing software in the domain where developers have experience enables the developers to optimize solutions, and satisfy the customers better, because they have experience with their customers in that domain. Thus, it is important for the developers to have domain knowledge in addition to software development skills.

2.4.4 Art

Christoffer and Furuknap (2009) describe art as the personal ability of a developer to figure out what is in the mind of a customer and produce code, style, fashion, feature, pattern, design, etc. to meet the needs of that customer in the course of software development.

The Oxford dictionary (2005) defines art as the expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power.

Schaefer (2009) considers design as art. He argues that art exists in the context of design and that it is manifested in the translation of ideas into tangible or visible phenomena of the artifacts. Art can be applied to create a new product or to make an existing product to look new, i.e., "to make the familiar strange and the strange familiar"

(ibid., p. 26). Emphasizing art in relation to design, Schaefer elaborates that design includes the arts of graphic design, architecture, and product design. The art in the design is what creates the differences between designers and products, which hence dictate the quality of such products.

According to Christoffer and Furuknap (2009), art is a way of representation or expression  of  customers’  specification  in  software  in  more  meaningful  and  appealing   manner (Oxford, 2005; Schaefer, 2009). Thus, art is an important aspect of software quality construction.

2.5 Software quality construction in the Buy Your Own