IMT 581: Case Study Analysis: Plan or Agile?
In software industry, the proper methodologies such as plan-driven, iterative model, and agile development promise the high quality software, increased customer satisfaction, and stability. However, to adapt the development methodology, the software company needs to carefully evaluate the internal and external conditions. In this paper, we provide two case studies- IBM and Jharna Software. These two companies respectively use agile development and waterfall development to successfully satisfy their customers. We analyze the important factors for them to employ the development methodologies. To extend these factors further, we apply the development methodology into different types of project beyond software project. We also provide our ideas about transmission between plan-driven and agile development during developing the project.
It’s always a controversial topic of determining whether one software development methodology is better than another in terms of its feasibility, efficiency and quality of outcome. The reason being that software development process is an extremely complex work that requires strong technical talent and effective communication to succeed. Along the way, there are two famous models, which are used in most of software projects: Waterfall and Agile.
The waterfall model is a traditional development method used in almost all projects at the early stage of software industry. It defines a set of standard work procedures for the purpose of managing software development projects effectively. It was prevalent and favored since it had been brought up, as it’s both understandable for practitioners at all levels and easy to implement. In 2001, a new concept came out – the agile model for software development. The proponents of the agile module believe that they found a better ways of developing software by using the lightweight methods.
It’s safe to say both methods have their advantages and drawbacks since we’ve seen companies tapping into both of them now and then. And there were failures and glories with both of them too. So what should be a manager’s decision if he was faced a choice between the waterfall method and the agile one? What would be the essential factors determining the choice? How would a leader manage an internal change from one method to the other successfully? To make the decision even more complicated, changes around the industry have already exerted significant impact on software development. Externally, the globalization trend brought in software companies in countries like Indian and China who are willing to provide quality software development with competitive price; internally, the software world is demanding more efficient and scalable services than ever before. By taking those factors into consideration, our paper discusses two cases in which companies choose to user different software development methods, and then propose our analysis and reflections based on the cases.
By Po-Chun Liao, Shawn Liang and Tony Jiandong Hu
Interesting topic,I am curious to know what your thoughts are on how the waterfall model is considered as almost evil by many software practioners as they think its not suitable for iterative projects where there is a lot of user feedback and resultant cost from making changes if a waterfall model was used .How would a manager make a case for such a model in that case and when does an waterfall model fare better over an iterative design model
In our case, an Indian software successfully use waterfall as their main development method because most of their projects are shipped US and it’s kind of impossible for them to provide frequent on-site customer interviews. So they highly rely on following plans and flows to deliver quality product at a cheap price. However, as you mentioned, waterfall doesn’t work well for projects with much non-deterministic requirements or scopes. And in that case, most of companies won’t outsource the project at all and they have to pay a more expensive price for choosing a company providing products based on iterative models. And another point made in our paper is that plan-driven method presents a sense of predictability and stability whereas agile always refers to innovation and adaptivity. When a software project goes wrong and a manager has to change from one method to the other, he ought to understand the main causes for the issue and correlate the current trouble with what can be resolved by changing to new method.
Hope it makes sense to you.
Interesting topic. Waterfall and Agile are two totally different models in software development. When I was in PEMCO, I found that both of the two models were employed by its IT department. Interestingly, all the infrastructure projects went to waterfall model; however, all the front-end projects went to agile teams. I’m curious to know what the IBM and Jharna cases revealed to us. I’m even more curious to know why some managers are hesitate to employ agile methodologies. Everybody is talking about the advantages of agile and the disadvantages of waterfall, but still waterfall is predominant in the industry. What do you guys think? Is this because the managers are reluctant to change? Or simply because waterfall is easier to handle? Or even some managers think waterfall is better in terms of ROI because it is less risky?
As I replied in Mevin’s comment, using waterfall is critical to the Indian company’s success since they are able to provide quality product at a competitive price by following plan and flow. In addition, waterfall methodology has some good concepts built in it such as plans and documentation so some failed agile projects turned to waterfall method to gain the stability.
Personally, this case study reminds me of what I did in my summer internship at Trend Micro. Due to the changing of computer virus, the company needs to develop new solutions to solve all kinds of computer virus everyday. Does that mean they don’t have waterfall SDLC and should use Agile? I asked this question to my mentor. As he said, as long as the model can meet the needs of consumers, the model is the right one in the real business world. They don’t care and obey either Agile theory or water fall theory. In fact, they sometimes joke their current model is Agile Water Fall, which means they mixed both models.
Thank you,
By Meng-Chi (Patrick) Lee, Zhenhua (Thomas) Wang, and Che-Wei (Tommy) Hu.
Agree, if the current method works for a company, I don’t think it wise to change to another one. Change is needed when there’s a failure or potential failure. Otherwise it will be an excessive change.
Interesting topic. We have been learning lot about agile methods these days and many software companies have taken to agile. I believe deciding which method relies on the type of project and requirements of the project. So for projects with constant changing requirements, planned method wont work. However, as you said it will work for software companies who outsource and have fixed target. Their requirements remain more constant. Also, in agile through feedback you can deliver a better product. I am in more favor for agile, though I believe in some circumstances planned can be good too.
You guys have done great work in analyzing the cases. My thoughts on adopting software development strategies are the following:
Sometimes a company may need to work together with various other vendors, contractors, then it has to consider their working methodologies too. Sometimes contract employees may only know traditional methodologies of development. Moreover, from a budgeting standpoint, we should also look at the expenses due to training these employees on new methodologies.
Thanks,
Ajay, Nishant & Paul
We can evaluate based on the requirements and structure of the project whether a waterfall or agile methodology should be followed.
However, when companies switch from a more traditional waterfall technique to a fast and speeding agile there are a lot internal factors keeping aside the requirements of the project. Especially, since years if employees are used to the traditional model, then switching to agile will involve a lot of transition, training and convincing them about the requirements and benefits of the new method. Even in large sized corporations often there is resistance when confronted with such a transition.
Scott, Jitsuko, Swarnika
I think this is a very interesting topic. It is true that companies may resort to waterfall or agile development methods based on the product that is being developed. In this competitive and rapidly changing market it is very important for companies to change with the changing trends. Waterfall model is very process driven and doesn’t allow enough flexibility. To make a change, the entire process will be restarted, which is very inefficient and time consuming. Agile development allows company to change rapidly with the need of the hour which helps companies stay ahead in the ever changing market trends.
Mansi, on behlf of the team (Tien, Ruchi, Mansi)
I want a report about agile methodology
I absolutely love your site.. Excellent colors & theme. Did you make this amazing site yourself?
Please reply back as I’m attempting to create my own personal site and would like to know where you got this from or just what the theme is named. Kudos!
I blog often and I truly thank you for your
content. This great article has truly peaked my interest.
I am going to bookmark your blog and keep checking for new information about once a week.
I subscribed to your Feed too.