• Tidak ada hasil yang ditemukan

organisation. It is envisaged that the CVF will provide an ideal context for discourse on the influence of OC on the adoption and adaptation of ASDM. Also, Schein’s concept of ‘enculturation’ provides an avenue whereby ‘the way things are done around here’ may be adjusted on the basis of success stories regarding the use of agile methodology. The main outcome from the discourse on OC is that the CVF provides a conduit from which a researcher may be able to understand the prevalent culture in an organisation. This knowledge will be crucial in identifying a software development methodology that is strongly aligned to the culture prevalent in an organisation.

Table 2.5: Timeline Representation of SDM’s

Timeline/

Dominant type of computer

1940 - 1960

1960 -1970

1970 -1980

1980 -1990

1990 -2000

2000 -2010

2000 - 2018

2010-2018

Mainframe

Code and

Fix

Mainframe Structured

Design Midrange/

microcomputer Waterfall

Personal Computer (PC)

Iterative and Incremental PC/Client

Server Spiral

PC/Client Server

The Unified and Agile

Unified Process PC/Client

Server/Cloud

Computing Agile

PC/Client Server/Cloud

Computing

Wagile

The major advantages and disadvantages of each SDM is presented in Table 2.6 as SDM “sweet and bitter spots”.

Table 2.6: SDM “Sweet and Bitter Spots”

SDM Sweet Spot Bitter Spot

Code and Fix

Quite simple; Gets the job done; Effective for simple/trivial systems;

Enhances software maintainability through a

“hacker” mentality

Lack of design compromised the stability of the system; Lack of formal requirements elicitation phase resulted in a system that did not meet user requirements; lack of testing compromised system reliability

Structured Design

High Level Design consisting of a hierarchy of sub- routines; enabling quick visibility; reduces complexity; Extensive use of Flowcharting

Rather vague in specifying the details of each level of the hierarchy; once design is in place, the flexibility is limited

Waterfall

Full support for entire development lifecycle; simple to implement; documentation intensive enabling greater accountability and maintenance

Too predictive; Users did not understand the system’s requirements at the early;

does not encourage an iterative demeanour because of it “single pass”

nature; not much flexibility

Iterative and Incremental

Iteratively refine user requirements; handles changing requirements better than previous methodologies; rapid application development facilitate better system visibility

Not regarded as a true development process/methodology; may degenerate into a code and fix methodology; potential to produce “spaghetti code”

Spiral

Greater methodological presence; incorporated risk mitigation;

A complex methodology regarded as a

“high ceremony” approach; substantial focus on documentation and reviews;

system visibility is compromised; the model is theoretically sound but lacking in practicality and flexibility

The Unified Process

(UP)

A truly adaptive methodology; extensive focus on upfront modelling and documentation; several iterations enabled better flexibility

Reliance on comprehensive upfront design and documentation reduced the capacity to faciltate quick system visibility thereby compromising the handling of changing user requirements

The Agile Unified Process

Greater focus on implementation and system visibility; better interactivity with end users; heralded a migration from technical aspects of development to the social context

Too process oriented compromising the flexibility somewhat

Agile

Embodies a fully dynamic and flexible process that is

focused on the

accommodation of user requirements and changing system specifications; simple design and short iteration cycles

Does not scale well; does not handle

“mission critical” system development;

lack of focus on design compromises the system’s stability; Not practical to have an on-site end user; system’s maintainability is compromised

Wagile/

Water- Scrum- Fall

Compromises dynamism to enable control and project management of the development process;

incorporates greater focus on design; better control of

“scope creep”; Incorporates adequate flexibility to let the development team decide on the level of control and agility

Suspicion of too much Waterfall focus thereby compromising the flexibility;

tries to incorporate the best of Waterfall and Agile methodology thereby compromising each methodology individually

Many of the minor technical and logical impediments of SDM’s (referenced as “bitter spots” in Table 2.6) have been resolved by practitioners who have customised the methodology by intuitively making use of waterfall-oriented practices such as a BDUF and XP-oriented practices such as TDD, pair programming and code refactoring.

The major technical impediment manifests in the ability of the methodology to scale to an organisational platform. A consequence of this impediment has been the advent of organisation-wide variants of Scrum methodology such as DAD, DevOps and SAFe all of which have introduced the operations process as an integral part of the software development activity. There is however, still a lack of clarity and direction in terms of detail with regards to the integration of Scrum methods with operations process. The social impediment manifests in the form of OC and its influence on the adoption of an agile methodology such as Scrum. An inquiry to ascertain the influence of OC is difficult to accomplish because of its amorphous nature. The CVF does however, provide an operational guide to dichotomise OC so that it can be classified according to its scope of applicability to agile methodology. In order to guide the adoption of agile methodology, the CVF provide a classification structure that can be used as a basis to identify cultures within an organisation that resonates with the different variants of agile methodology.

The literature review has identified Scrum as the de facto agile methodology of choice for agile software development. However, the adoption of Scrum has been subjected to setbacks with regards to its scalability and its alignment with the prevailing culture in an organisation. This socio-technical area of Scrum adoption becomes a viable area for an inquiry that will enhance the implementation of the methodology thereby ensuring that the methodology achieves the intended objective of satisfying the customer “… through early and continuous delivery of valuable software” (1st principle of the Agile Manifesto taken from Beck et al. (2001)).