This paper explains about the case study of the small group development process. They developed a game in cell phone using J2ME with the development process of waterfall. Rob Jansen analysed a research in the University Of South Carolina for the project in small group development. His research was to find a clear objective for the professor who works in the small group development process. Then he made a research in small group development and large group software development. Then he concludes in small group development process it is more obvious in flexibility, speed and communication.
2. LIFE CYCLE:
2.1. WATERFALL MODEL:
Leffingwell and Widrig (2004, pp.24) stated that in the early 1970's Royce was working in TRW and discovered a process in the software development known as waterfall model. This waterfall model is grown in a very limited process.
- The design activities and analysing requirements in parallel for the development of prototype system.
- The coding of the system needs to design in between the loops of the feedback.
The software activities used in the waterfall model is serial in steps. This steps works on the basis of the previous steps they have used. In early 1970 and 80's the waterfall model was included in a lot of different places and achieved as the result for a large scale development projects. In processing the software development the requirement is the first step for the method to start the other steps of design and coding. It's a weak for the primary source and to show a brief requirements and design for each phase to exit from the barrier. There is a dis-engagement in the team for the project in the real world.
In waterfall method it's a challenge for the scope management hen it is in pressure. In the initial stage if the project is applied in a large scope, the result ends in a bad situation without the expectation. At the end there is a failure in unit test and system integration and there is an investment made for the design and coding for the specification that has to be delivered. Whenever the requirements are insufficient is not clear probability of facing problem increases.
According to my suggestion he used waterfall model as a main method to develop the game. He used requirements, build system and testing strategies from waterfall model to complete the game. Even though he explained about the spiral model, unified process and extreme programming to develop the game and at last he used waterfall model. So I would like to give a short description about spiral model, unified process and extreme programming.
2.2 SPIRAL MODEL:
The new process of spiral model has referred by the waterfall model. The waterfall model phase proceeds in a sequence form. The coding phase or design phase is back by repaired in the form of testing system requirements, software coding specification and system design. There is an irreversible step by the sequence of the process in one-way flow in waterfall method. In real user needs there are not enough needs to capture the requirements in complex system.
2.3 UNIFIED PROCESS:
The unified process is a version from the Rational Unified Process (RUP). The unified process helps better in understanding the business developing application software for the agile techniques to make it easy and simple. The description and approaches used in agile techniques made it as simple. For the production improvement Agile Method Driven Development (AMDD), Database Refactoring, test driven development (TDD) and agile management and database refactoring are includes in agile techniques.
There are four phases in unified process. They are as follows:
- Inception: The main goal is initiating the project to design for the system, and to obtain the functions for the initial project and acceptance from stake holders.
- Elaboration: Its main goal is to prove the design for the system.
- Construction: The main goal is to regulate the software working in a proper manner and to increase the stakeholder project for the highest priority.
- Transition: The main goal is to validate the system in an effective way for the environment in production
2.4 EXTREME PROGRAMMING:
In agile there are many process. One of them is extreme programming. It is also called as XP. In agile process there are three terms
- It is difficult to assume the software in advance and it is difficult to assume the progression in project for the customer satisfaction.
- It is difficult to know the construction of the work before starting.
- For the project it is difficult in plan like designing, scheduling, deployment and construction.
3. AGILE TECHNIQUES:
The Introduction to Scrum- An agile process holds that the Scrum is an iteration process. The important roles in a scrum are scrum master, product owner and Team. In this process the customer can modify their requirements since. The main concept in Scrum is the Sprint which is the time period. The Scrum master organizes regular team meetings with the team and the management. The Scrum Master and customer have regular meetings and the customer put forth his/her needs. After every sprint the feedback and demonstration about the product is given back. The product backlog and sprint backlog are set upon every meeting. The product owner works with the team regarding this. There are several meetings organized in this process namely Daily Stand up meetings ,Scrum of Scrums, Sprint Planning and review meetings and Sprint Retrospective meetings.
The DSDM methodology is a dynamic process to develop the system approach. The design approach and structured analysis is the independent tool methodologies. The DSDM is a rapid application development and it is used in incremental prototype. The application building cannot be frozen at the requirement level for a short time span, where the systems are developed. There is an overlap in the design, development and analysis phase. Some people would develop the system and some people would work on the requirements. There is an evolution in time with DSDM (Dynamic Systematic Development Method).
COMPARISON BETWEEN AGILE AND HEAVY METHODS:
According to M.A. Awad (2005), for a very long time the traditional development methodology has been used. The waterfall model is used in large and small software projects and it is the most successful for many projects. This waterfall model has many drawbacks like inflexibility, project size and irrespective formal process. To overcome the extreme programming has been applied. It deals with the requirements in volatile and the techniques used to deliver the early production supply.
- In terms of agile methods due to the adaptive nature approach, the rate of flexibility is comparatively more to heavy models.
- In heavy methods are generally predict which mean they are not so flexible in nature, there by faces too many difficulties when they meet abrupt changes in the requirement process.
- Agile methods are generally numerous in iteration, there by each and every time the feedback is passed to the customer whereas in terms of heavy weight process in cycles are limited and there is no proper feedback given to the customer.
Documentation is less in heavy weight process so developer can concentrate on the coding part. In heavy methods the documentation is less.
- In heavy methods there is a fixed spending cap, and it is an expectation for the outcome if it is predictable.
- In agile methods it is flexible for the business requirements.
- As discussed above agile methods are flexible in nature thereby it can overcome risk factors involved in the process.
- There is no flexibility in heavy methods so that it is having more risk in the production of the product and it is not effective and efficient (Work Habit Blogs, 2007)
- In agile methods there is a software release after the completion of each phase and it is more benefit to the customer.
- But in heavy methods the software release is done after the completion of all the phase so there is a less benefit in this process to the customer.
For the manager or entrepreneur the team building skills is more important to the way things might happen. The team work helps the man to be more effective and it gives an extra edge. The team works helps success for the team when they are working together in a team when comparing with the people who are working the same project on their own. An individual person has a strong effort, but that effort makes the team stronger if all the people work together in a team for their success. The personality and diversity skill is the first step in the team work to make it as success (Team Work and Team Building Essentials)
In this project they have created a small gaming software with a group work of four members. Game was executed in Java SE, Java 2 Micro Edition (J2ME). This game has three phases. Design phase, build phase and test phase. Rob Jansen did the build phase in two weeks and design phase was created by Carlos Rivera and finished it in three weeks. The design phase covers all the requirements from the build phase. This phase helps to start for the coding.
The idea of the game is very simple and the concept of the game is a ladybug needs to find the exit through a maze. This game is only a two levels game and was created in a small group project. This game has all the options like viewing, credits, restarting the game and exits etc. At last the ladybug find its '' Princess''. This game has two levels and thus it is in its early stages and it is suited for a demo.
Jansen (2007) states that the strength of the team work strategy to get the guidance to do the undergraduate process. It gives an idea about the project what is needed to do. It helps the team to design each and every aspect. If they follow in a team work, the customer comes to know about the program outline what they are approaching and the construction of the plan. The other main aspect is confirming the plan for the coding part to do simultaneously. When comparing with large group, small group has a big advantage. The strength of the team work in small group has its advantage of good at communication. They can made the meeting with those small group team members and clarify the doubts at the same spot.
The weakness of the small project in this paper was they spent more time on planning and design. They have changed the design many times because of the trash in plan. Because of the delay in the process of coding the vital process (testing) was not made in this project, there by resulting not in a satisfactory matter. The ideas are modified in the design phase when the game construction is going in the process.
The main drawback of the small group development is that it does not have the manager. The manager is the main part should have played in the small group development to confirm everyone is participating in the project. Due to the absence of team manager, there is no proper guidance and there is a lack of proper organisation between the team.
As per the discussion in the paper, the project resembles the sign of waterfall model. There are many drawbacks in this paper. It's been discussed by the author about the merits and demerits mentioned in the paper. They took more time for the design phase and planning phase thereby resulting in an improver way of the proceedings the project. Since the model used in the cell phone game project was waterfall model, the flexible of handling abrupt changes are less and thereby resulting in an ineffective and unsatisfied manner. In this model scheduling was made during the initial phase of the project. So when the project met with the requirement changes the productivity time exceeds the scheduling time. In any process the design phase plays a vital role, which was not properly handled in this project. The crucial drawback faced by the team was they did not have any proper assistance to guide them.
In my point of view to overcome the drawback mentioned above they should have planned for a different approach which is an agile process, which would have been more effective with this project. In the agile process they usually precede the project in such a way that each and every phase is handled equally and efficiently. As mentioned before in this process, scheduling is made according to time boxes and so the probability of handling changes is more and so it would have been more efficient by using this process.
In this paper they explained about the small group development using waterfall method. They applied this process to develop game software and thus it ended in a demo version. So thereby I conclude that instead of using waterfall model they should have used agile development for completing the full game version.
- Awad, M.A. (2005). 'A Comparison between Agile and Traditional Software Development Methodologies'. Available at http://www.docstoc.com. Accessed at 5 March 2010.
- Dynamic Systematic Development Method (nd). Available at http://freeutes.com. Accessed at 6 March 2010.
- Jansen, Rob (2006). "Small Group Software Development: A Case Study" Proceedings of the 2006 NSF Summer Research Program. http://www.cse.sc.edu/~eastman/NSF-REU/REU2006/2006participants.htm
- Introduction to Scrum- an agile process (2010). Available at http:mountaingoatsoftware.com. Accessed at 5 March 2010.
- Leffingwell, D. and D. Widrig (2004). Managing software requirements: a use case approach. Pearson Education, Boston, USA.
- National Research Council (1995). Commercial Multimedia technologies for 21st century Army Battlefields. National Academy Press, Washington. D. C, USA
- Team Work and Team Building Essentials (nd). Available at http:// time-management-guide.com. Accessed at 6 March 2010.
- The Agile Unified Process (2009). Available at http:// ambysoft.com. Accessed at 6 March 2010.
- Work Habit Blogs (2007). Available at http:// workhabit.com. Accessed at 5 March 2010.