Jharna Software: The Move To Agile Methods 1. Create a process map of the software development process described in the Jharna Software case. As we discussed in class, there are many methods available for process mapping. You may use any conventions that you choose. What characteristics of the process is it important to represent? Why? Ans) Process Map: Attached Appendix 1 With the help of the process map it is easy to understand how the process and the project work is divided in India as well as in US.
It is crucial to emphasize the importance of continually comparing the requirements with the customers’ expectations about the final product. The process map should also indicate how the project is initiated with the help of project manager. This process map is focused on demonstrating the tasks and the flow undertakings of the project work. To concentrate on this we need to know when the project is divided into modules and when a team leader is allocated.
Development of the project coding and the type of documents that are involved should also be focused in process map to better understand about the various types of documents involved in the process and to stress the significance of them. The process map represents the sequential way in which the all the tasks are carried out based on the project rather on the routine process in the organization. Another main feature that is important to represent is the involvement of contingency plan and the integration of the final product.
In this process map, the rectangle represents a process, the parallelogram (diamond) represents a decision, the oval symbol represents the start and end of a terminal and the paper symbol represents the document. In this process map the sequential tasks that are necessary to perform the project are represented and it is done from the team’s perspective. The note (information) to explain about the task also becomes useful for greater understanding of the whole process.
As document plays an important role in the project, mentioning them in the process map helps the user to know more with lesser information. 2. Is the software development process a good candidate for redesign? Why or why not? Ans) Software development process is certainly a good candidate for redesign in Jharna Software. Redesign should be considered for a rapid change in the management and the staff mainly to reduce the costs, to increase the quality of the software product and also to speed up the software development process.
It is visible that they are facing greater problem in the integration stage and has been difficult to keep up with it. Considering Jharna Software, it is noticeable that from the early days, Jharna software has given prior importance to high quality and low-cost service products. It has even received several awards for its performance while competing with the highly reputed companies like TCS, Infosys, and Wipro which were also more focussed towards the financial services industry and the integration services.
The present software development process was a traditional waterfall approach where once a stage (e. g. requirements gathering) in Jharna is completed there is no going back which implies that when the customer request for the change of requirements in later stage it becomes very difficult to modify the work and the whole work is redone. To avoid this, a new system that is adaptable to the changes should be considered. Otherwise there will be continuing problem in the integration stage which keeps on building up unless a drastic measure is considered.
Jharna Software’s main strength is its highly skilled workforce and thus they can maintain the quality. Recently, it has been noticed that the developers in Jharna Software worked beyond the customary 40 hours a week that implicated working late hours and on weekends too. This clashes with their initial vision of providing non bureaucratic and employee friendly organizational structure in the company compared to a bureaucratic environment that it is now. It helps temporarily to avoid the problems with deadlines, deliverables, and processes. So, there is an urgent need to educe the time spent on working by each employee with the project work. This can be done with the help of introducing a proper software development process and implementing it successfully. Redesigning the software development process in an effective way helps in solving many problems. Upon asking question about when exactly the redesign is needed, it is quite obvious that in certain conditions where the involvement by the team and the management is sincere yet the difficulties exist and continue to increase even after a good effort on the particular problem.
This has been the same situation in the Jharna Software where the company is privileged with good staff yet they face the problem in the integration stage and also they face difficulty with the suggestions or the changes by the customer on their requirement at later stages. Along the path of the transition by the company from being a heavily people dependent to becoming a more process dependent, it has proved to be more dedicated to implement the latest strategies to continue to stay ahead in the highly competitive market.
So, overall they might be able implement the software development process successfully to the full extent to enjoy its benefits and avoid the above said problems. Overall, the complete redesign can be applied to the software development process which aids in reducing costs, reducing cycle time, improves customer satisfaction, open new markets and channels, increase quality, reducing the occurrence of risks and errors , thus increasing in sales and productivity. With this the market share will also increase and the service time can be reduced to minimum. 3.
What is an appropriate process vision for the software development process? Support your vision by describing what Jharna software needs to do well in order to be successful. What objectives and measures are appropriate? Ans) Process Vision for the software development process: Speed up the development process of the project by reducing the time spent on finding the bugs during the integration stage, continuing with the employee-friendly human resource policies, providing high quality services to the customers along with maintaining high level of customer satisfaction.
Lately, the integration stage has been very time consuming and is often very difficult to plan. The problem persists with raising difficulty in finding the bugs and resolving them. If a bug is found then it is more difficult as the program should be rewritten again and tested for other bugs. When clearly analysing this problem, one of the reasons tend to be because of the use of the waterfall model. Bugs should be caught and eliminated in the development stage and should be designed such that the bug eliminates with a simpler rework in a small part of the module of the project.
Sometimes, after the requirements are gathered, the team members might not have knowledge about the implementation problems during the design and construction stage. So, when a part of the program becomes more complicated then they will need to revise the entire process. “Many of the system’s details only become known to us as we progress in the system’s implementation. Some of the things that we learn invalidate our design and we must backtrack. ”- David Parnas. This is the common problem that Jharna faces to implement, as once a stage is completed there is no going back.
Even after the start of the project work, the clients still finalize on their system specifications. So, at Jharna a lot of time is spent to redesign or work from start on the project. To attain the vision of speeding up the development process of the project, a new system needs be introduced such that it is adaptable to change at the end of each stage. So, even when the customer requests for additional change in the later stage of the project, the team should be able to upgrade the project instead of revising the whole coding.
If Jharna Software desires to continue to be successful then they need to focus on the vision they first envisioned i. e. to develop a flat, non-bureaucratic organizational structure along with the employee-friendly human resource policies. Highly skilled teams are important and thus they should continue to provide their employees with good environment and all other facilities. Because of the pressure for completion of the work they are forced to engage in office work more than the average hours depriving them from the family and personal time.
This should be immediately put to end by bringing out a way to complete the same volume of work with lesser time involved. To achieve the process vision of the software development process, good implementation of the Agile Process is the absolute problem solving solution. Even though agile process does have some disadvantages when implemented at Jharna, there are many advantages that contribute to the success of the vision. Agile allows changes as per the client’s request in much simpler way. This helps in maintaining customer satisfaction.
Agile process encourages departmentalization where several parts of the program coding can be done simultaneously. This helps in reducing the development time greatly. Bugs can be eliminated in Agile more easily as the testing can be done at each stage. 4. Suppose that Khan moves to an agile development approach. Redesign the software development process around this approach, and provide the following: * A process map of the redesigned software development process * A description of the redesigned process which highlights its benefits and links the approach to general design principles. A discussion on enablers that Jharna software can employ, as well as potential constraints. Ans) a) Process map of the redesigned software development process: Attached Appendix 2 In the redesigned process, a combination of the traditional plan-driven approach (Waterfall model) and agile process (Extreme Programming) is considered. The redesigned process is an iterative approach which is clearly visible in the process map. The stages, project development and testing is considered as one section. If any bugs exist after each module is tested, then only that part of the code is tested.
This process continues iteratively, and it also gives the comfortable condition to change the module if a certain part of the project doesn’t work as opposed to the traditional approach. It is well known fact that the Agile does not support documentation, but the project managers are more concerned about that fact, so a concept of traditional mechanism is included in the redesigned process. Since it is very difficult to maintain all the documents like the tracking mechanisms, reviews, project plans and feasibility studies during the iterative process, the document preparation is done later, after the Testing Stage is completed.
Even when project manager takes charge of requirement management, if is difficult to include the tracking documents of the requirement status in the redesigned process. After the bugs are removed, the product is checked with the client from time to time. The stages of requirement management, designing, developing and testing is considered as another whole section. If there are any requests from the clients for the changes, then the process is iterated from the requirement management stage. The necessary changes are made and only the part of the code where the change is required will be altered and tested.
This advantage comes only with Agile processing since it imports object oriented methodology. In this way the process is carried out till the customer is very satisfied with the software product. This methodology when implemented also takes lesser time since some repetitive parts of the code from another project can be used and also it will be less difficult to identify and resolve the bugs produced during coding. In Agile, since the coding is divided into independent blocks, when a hard problem arises, then that code can be easily replaced with other code thus making the development process much simpler. ) The enablers that Jharna software can employ for the software development process is primarily the Agile approach which promised the increase in quality, decrease in the time spent in finding and resolving the bugs during the integration stage, and increased customer satisfaction. Another enabler is the willingness for the change in organization whether or not agile is considered. This support fully encourages the redesigning to be implemented confidently. There is also good support from the clients to consider the Agile process.
If anytime there occurs a problem in implementing Agile, there is a huge possibility to seek talent from the outside world and make the necessary corrections to be on the track. Talented employees are also a really good enabler as the new approach is more people oriented and encourages more talented employees. The proof of their ability to adopt the latest technologies to stay ahead in the competitive environment has been evident from their change towards more process-dependent from people-dependent. So, their adaptability to change is another enabler the company can employ.
The potential constraints in Jharna software for the software development process are the change of culture i. e the fear for the change by many employees. The lack of proper documentation in Agile is also a constraint as there will be loss of knowledge. Some companies failed to implement Agile successfully when they adopted it. The concept of Agile is to encourage change if necessary which exactly conflicts with their phrase of getting it right the first time. Project management could spin out of control if developers were allowed to re-factor the system as they wished.
Another main constraint is that the company’s name conflicts with the Agile approach they adopt. Budget and scheduling also cannot relay much on Agile process. 5. What do you recommend that Khan do? What steps should Khan take to implement his decision? Khan can go along with the Agile method to receive the benefits from it and at the same time also consider some of the concepts of the traditional plan driven waterfall approach which come as an advantage to the offshore company. So, parallel executing of the appropriate concepts of both the waterfall method and the agile process (Extreme Programming) should be considered.
In this way most of the stakeholders will be satisfied with the current arrangement. Also, the Agile process has to be developed and implemented in the company gradually so that all the staff is adapted to the new system. Utmost care should be taken when implementing the Agile process while still following the traditional approach. Agile methods accept continuous change according to the customer’s need which is very difficult and time taking process in the traditional method. It is more people oriented and depends on people’s expertise.
So, the software developers and the customers are most happy about the move to the agile process. The customers enjoy the fruits of Agile, by receiving a system exactly to their needs in lesser time. For software developers, the development time and effort to prepare the code minimises as the Agile contributes to the reuse of the code because of its object oriented nature. Any developer can change any line of code to re-factor it in order to improvise. So, Agile can be implemented in the design, development, integration and testing stages.
Since Agile is implemented in these stages, it becomes iterative in nature and is very difficult for document preparation which is the main concern of the project manager. The project managers are the most disappointed with the introduction of the Agile. So, to satisfy them the traditional waterfall approach can be considered. Instead of completely avoiding the documentation, they can shift the documentation stage after the testing stage and the acceptance from the customer is completed.
Thus there will be no loss of knowledge. Adopting Agile approach would be a positive sign for the human resource department as it encourages more employee morality and reduces the time spent by them to 40 hrs/week. To implement the Agile successfully, the formation of cross-functional teams can be considered and this implementation should be done cautiously. Khan should seek talent from outside if there were any initial problems when implementing Agile along with the Waterfall approach.
If Khan follows each step properly with the help from their clients, then I think this combinational approach would be a good success. Appendix 1 Appendix 2 Bibliography Scacchi, W. (2001). Understanding and (Re)Designing Software Development Processes. Institute for Software Research, University of California, (p. 40). Irvine, CA. Bose,Indranil(2006). Jharna Software: The move to Agile Methods. Asia Case Research Center, The University of Hong Kong. (2000) How to capture knowledge without killing it. Harvard Business Review.