— In the game of Golf, a player is challenged to take the minimum strokes to complete a round of 18 holes under varying playing conditions. Players use different clubs depending on their skill levels to achieve the desired distance while taking shots at the golf ball from the start (tee off) to the hole (pin). Unlike other games which have a standardized playing area, the terrain in a golf course comprises of various natural and manmade features viz . fairways, bunkers, trees, water bodies etc, which increase the difficulty level of the game and keep the players challenged. The game of golf has a fascinating similarity to a software development life cycle. If the holes on a golf course are considered akin to milestones in a development project then most of the Software Engineering models focus on software development in groups. Thus, we propose SOLF i.e Software Development Lifecycle model based on Golf , as a SDLC ideal for individuals or a small group of 2 -3 developers. The proposed model is easy to comprehend, flexible and optimally adjustable in a dynamic environment. SOLF divides the project into 18 stages wherein each stage of the project will have 3 to 6 tasks which are required to be completed within a fixed timeline. The stages are manage d by creating checklists at the start akin to the pre -shot routines in golf and the customer feedback is received on reaching each of the milestones similar to applause in the game of golf. Terrain of the golf course is reflected as risk list which are var ying for each of the stages. SOLF achieves 10x speedup in software development and research projects as it creates an environment of challenges and drives the developer towards self excellence. It also inculcates a spirit of competition and sportsmanship by challenging the developers on various 'terrains' of development. Keywords — Golf, Software Development, SDLC, Lifecycle Models I. INTRODUCTION Software Development Life cycle (SDLC) models play an important role in success of software projects. There are several SDLC models and adoption of these models depend on various characteristics of the projects such as size, type, duration (1) (2) etc. The latest developments in SDLCs are Agile methods such as Adaptive Software Development, Extreme Programm ing, Scrum (3) etc. These Agile methods are well suited for short duration projects of smaller team sizes. The agile methodologies are highly flexible with iterative development of specification and code through customer invol vement. One of the Agile Development methodologies i.e., Scrum was developed based on studying the game of Rugby (4). While most of the SDLCs are suited for small, medium and large projects of varying durations, however, one can observe the lack of a good SDLC for individual projects i.e, projects involving one or two team members. There are many projects such as s tuden t projects (Under G raduate and Masters), Research Projects (PhD work), small and short duration projects which involve one or two members at the most. There is no suitable SDLC which addresses this scenario. While one can tailor SDLCs for these scenarios, the overheads involved will significantly reduce the cost effectiveness and efficiency, quality of project deliverables. SOLF is SDLC proposed in this paper is based on game of golf. Golf involves completing a fixed number viz 18 holes through strokes wherein a player tries to excel while reducing the number of shots required for completing the holes. There are a number of useful anal ogies which are drawn from Golf, useful for the SDLC. This paper is organized as follows: In the next section a brief overview of SDLCs is presented. Section III provides a concise background on the game of golf. In the Section IV, the proposed SDLC ie SOLF is presented with a similarity matrix . A case study to illustrate t he use of SOLF is presented in S ection V. II. SDLC Software Development Life Cycle is the period which captures various phases of a software lifecycle from its inception to retirement. The SDLC models for software development are characterized by the way different phases are interrelated and var ious ac tivities are carried out. The SDLC model provides project stake - holders with a systematic approach which ensures successful software development and use. Some of the well known SDLC models are as follows (1) (5):  Waterfall model : Well suited for projects where requirements are well understood and may not change over a period of time. The waterfall model is least flexible and is very restrictive.  Evolutionary Model : Iterative and incremental model where the requirements and other software artifacts evolve over a period of time through several iterations.  Spiral model : R isk-driven software development process model which leads a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping depending on the risk factor.  V-Shaped Model : Testing is the consideration through each stage. It allows for more extensive testing with each stage mapped to testing stage.  Prototyping model : Creating prototypes for testing and approval prior to deployment  Incremental model : Will have many incremental releases of software with each phase involving requirements, design and testing. The requirements for the software may not be well understood to start with.  Agile model : Iterative development model wherein the overall progress is cumulative of the smaller incremental parts III. THE GAME OF GOLF The modern game of golf originated in 15th -century in Scotland. The Royal and Ancient (R& A) Golf Club based in St Andrews, Fife, Scotland also regarded as the "Home of Golf" is the oldest and most prestigious golf club in the world. The R&A also formulates the rules of Golf which stands currently at 2 4 rules (6), with many sub-rules, and sub -sub-rules. The game of Golf is played for sport and for leisure and is a game for all ages. It involves tradeoffs between skill sets, progression of those skills, techniques, conditioning programs, knowledge of rules involved , safety concerns, strategies, and equipment needed. The game is played with a 1.68" ball which is required to be stationary while being addressed and is required to be sunk into a hole barely 21/2 times its size from a distance anywhere between 100 -500 yards within a fixed number of shots using a set of clubs. A golfer plays 18 holes in an order controlled by the golf course design which lays down a fixed number of strokes required to be taken for each hole otherwise called the 'Par' for the hole. The f ewer strokes taken , the better for the individual holes and the overall score. The start and end points on a hole are fixed and they are connected by a fairway which is distinctively marked along the edges. A wide variety of clubs with a max of 14 is per mitted for a game. Every club is suitable for a calculated distance the player can hit the ball depending on the skill level of the player. A driver, the longest club in a set, is used specifically for hitting long shots off of a tee. The woods are good f or long shots off of the fairway, but don't work well in the rough. The irons are more forgiving and can be used in a variety of lies (the place where the ball rests) but they are not used for long shots as compared to the drivers and woods. Hybrids have m ore angle (loft) and they combine the advantages of a wood and iron. The wedges are irons with large angles and are used for drop & stop shots and thus work well while approaching the green. They also are of immense help in bunkers and roughs. Golf scor ing methods can either be individual or team play. Mainly two different formats are played in golf viz Stroke Play and Match Play. In Stroke Play, the player with the least number of strokes taken to complete 18holes is considered the winner while in matc h play each hole is contested individually. The player who takes the lowest number of strokes on that hole wins the hole. All individual professional tournaments are in Stroke play format while team tournaments are generally Match play. Numerous other form ats of golf exist but a re rarely played at International levels. H owever their popularity thrives in local clubs. IV. SOLF SOLF viz Software Development Life Cycle based on Golf is presented as a lifecycle development model suitable for small teams with one or two developers working on small projects. We present the analogy between the terminology used in golf and that used in the field of software development in Table 1. Most of the SDLC models have 5 to 7 steps of implementation. The same is followed for smaller projects involving shorter time frames and smaller teams and hence is considered for analysis wrt SOLF. The five stages of popular models of SDLC as shown in Fig 1: - Planning . The first stage of any project implementation or game is the planning. As in golf one studies the course layout and then carefully picks up the clubs which as per his capability ( handicap ) would be most suitable depending on the plating conditions. Similarly, breaking up the SDLC into various stages enables stage wise planning and selection of tools. A hole by hole plan is essential as in what distance i s achievable in the conditions one gets for each club, how much warm up is required to start with the first hole etc. So this equates optimally to the planni ng stages of the SDLC, the requirements gathering, consideration of the resources, developing a plan for the project etc is all part of the planning process. Knowledge of all the resources that one requires to venture into the first stage of the Sl No Golf Term Meaning in Golf Analogy in SDLC (a) Handicap The skill level of a player given by a committee after evaluation his game Skill rating of a development group or individual. (b) Tee A wooden / plastic peg used to hold the ball up for driving (Using a driver - the longest club in a Golf Bag). Also the area where players tee to start a hole Start of a stage. (c) Fairway Long stretch involving neatly maintained grass which runs between the tee and the green Environment offering no specific skills or efforts to proceed. (d) Hole A cup located on every green which in dicates where the ball should land for finishing the stage Stage Milestone in a project (e) Par The number of strokes recommended to be taken to complete a hole, either a 3 , 4 or 5 Project as per timeline (f) Birdie Score of one stroke under Par on a hole A project which is ahead in schedule for reaching a milestone (g) Eagle Score of two stroke under Par on a hole A Project well ahead for reaching a milestone (h) Albatross Score of three stroke under Par on a hole. An extreme rarity A Project clearly ahead of the schedule with an excellent finish (i) Bogey One stroke more than the Par on a hole. Double Bogey / Triple Bogey for additional stokes. A project which is behind the schedule (j) Caddie A person involved in carrying the golfer's bag around the golf course A project team member who is into coding, documentation and testing (k) Hazard An area on the golf course which provides a difficult obstacle eg lakes, bunkers(sand pits) etc A diff icult position which requires a specific approach to be tackled. (l) Out of Bounds (OB) An area outside the course play area marked by a line of white stakes. A player gets a stroke ad distance penalty and has to take a re -shot (3rd shot) form the position he has hit an OB A point where the activity needs to be restarted again. Requires a time and cost penalty (m) Rough A place outside the fairway generally featuring thicker and higher grass generally kept intentionally. A relatively difficult point generall y outside the usual ground. which requires innovative thinking and specialized skills to come out from. Table 1 - Analogy of Golf Terms process is the most important akin to a good warm up before the round. Figure 1 - Popular Stages of SDLC Analysis . Golf pros take substantial time in analysing the course before they start the game. All the key points are noted as in distances to the green, pin positions, slope index of the greens, wind speed etc. This analysis is done prior to commencement of the game . However, small deviations may be essential prior to every shot in order to achieve the desired output. Correspondingly, in an SDLC it is necessary that the data, based on which the planning and analysis is undertaken, is reliable and adequate (7). In other words, the requirements are well understood at the analysis stage. The process of determining the detail requirements in the form of a model is akin to capturing the notes on a golf pros 'yardage book' or the 'green book' wh ich gives the details of the course on which the game is being played. Design . Improper planning, either at the tee box or at any point in the course, will make the ball, miss its mark. It is likely that the ball will reach a place which was not planned viz into another fairway, rough, either side of the fairway, bunkers, sand traps etc they can be thought of as unmitigated risks. Keeping all these risks in view, the player is required to be ideally equipped with the correct skills, clubs and equipment f or dealing with the risks (8). These form part of the design stage. Corollary to SDLC, the analysis stage is required to bring up the risks involved in the development cycle including unforeseeable time delays, additional skill s required, new modules that may be required to be developed etc. In SDLC parlance, analysis and design together forms the stage of modelling which is the mos t important pre -requisite for successful software developmental activity. Analysis of similar prob lems and mitigation of the same also needs to be studied at the design stage. Implementation . The final phase of the development cycle is the implementation. All the outcomes of all the previous stages are put to test and verified in this stage. As we deal with small project implementations with smaller teams including one or two members , this stage is the most critical and taxing. Once the game starts in golf, the player has to take the shots as per plan and improvise when the ball doesn't reach the expected place. The golfer has to analyse his previous shot and appreciate the mistake s (9) made if any, whether caused due to hi s fault or due to the dynamic s of the playing conditions. However, prior to taking the next shot the golfer is required to leave aside the yoke of the previous mistake and make a fresh beginning (10). This is true for every shot especially the start of every stage akin to the Tee Off . The most important aspect of the implementation stage is to keep track of the time lines. As in Golf there is a par for each hole, similar to the optimal time fra me for each stage in the development cycle. The developer is required to aim for a birdie / eagle in every stage. Through an albatross is rare in golf, but one can find himself lucky in achieving phenomenal reduction in the timelines due to a perfect stage implementation. V. CASE STUDY A case study depicts the software development model based on golf for development of a Departmental Store Management System und ertaken by a team of two people is presented Table 2. The activities involved in the preparation of the game and the way the game is played has been used to delineate a methodology for development of the software. VI. SUMMARY AND CONCLUSIONS The paper proposes a SDLC based on the game of golf primarily due to inherent similarities between software development and the way golf is played. It is noteworthy that golf is an individual game and hence the proposed SDLC ie SOLF is ideally suitable for individuals undertaking a developmental activity. The paper thus paves a way forward for exploring a novel methodology in development of software. 5 - Stages Planning Analysis Design Implementation Maintenance Stage Golf SOLF Planning The following activities are planned prior to the game: 1. Knowing the course and its layout. 2. Selection of the clubs 3. Selection of caddie 4. Selection of ball 5. Picking up of Accessories viz Umbrella, Gloves, Cap, Shoes etc The following are planned prior to the implementation: 1. Gathering the requirements for the development. 2. Speaking to experts, finding latest offering / development in the field. 3. Picking up suitable partner after evaluating his/her skill sets. 4. Picking up correc t hardware and software. 5. Evaluating own skill sets Analysis Studying the Course including the following: - 1. Finding the par of each hole 2. Studying the yardage book / green book for pin positions, slope ratings. 3. Knowing the position of bunkers, water hazards, roughs and OB areas 4. Understanding the Stroke Index viz complexity of each hole and finding the most favorable holes for scoring birdies, eagles etc 5. Analysing the condition of game including humidity, wind speeds and direction, dew etc. Requirement analysis with respect to its functionality and the software. 1. Functional Requirements viz Separate logins for Admin and Sales person, Barcode generation, refund generation, adding new user, updating user details, etc. 2. Software requirement anal ysis deals with the licensing, documentation required, standards to be complaint with, operating concerns (backup, DR etc), domain administration etc. Design Design phase in golf predominantly involves choosing the sequence of clubs for taking subsequent shots on each hole. This may be done on a yardage book for easy visual reference. Amount of practice put in the last few month / weeks and own physical condit ion are the dictating factors for distance and accuracy while selection of the clubs. Design in SDLC involves one or more of the following: 1. Data Flow Diagram (DFD) provides a view of how the system or business flows. 2. User Case Diagram provides easy understanding about the system. 3. Entity Relationship Diagram (ERD) will tell about the database. 4. State transaction diagram to know the system structure. 5. Gantt charts to illustrate the start and finish dates of the terminal elements Implementation Playing the game shot by shot as per the plan. Improvising in case the shot doesn't reach the desired location as per the plan ie it lands a rough , sand bunker or hazard Module by module implementation. Reprogramming and debugging in case the desired outp uts is not achieved or if takes more execution time and does not qualify the user case. Table 2 - Development Model based on Golf VII.