Question: What criteria would you consider while choosing the right development/management approach to a particular project? What are the differences between “heavyweight” and “lightweight” methodologies? Explain in details and provide examples. Describe briefly the agile methods.
To develop a particular project you have to consider the right approach which depends on several criteria discussed below.
1. The overall budget of that project
2. Manpower (Team size) needed to complete the project.
3. Decide which technology should use in that project.
4. Need any kind of training to the team member who is involved in that project.
5. Need a proper understanding of the criticality of the project.
6. Making proper documentation must be easy and simple.
7. Which tool and technique can be used?
8. The testing part is more important for the verification and validation of the project.
9. Maintenance of the project after delivery used software etc.
These are the major key point we have to consider to develop a project.
There is a huge difference between heavyweight and lightweight software
- Heavyweight methodologies need a high budget, for lightweight methodologies low budget needs.
- Heavyweight methodologies are very critical for lightweight methodologies is less critical as compared to Heavyweight methodologies.
- Heavyweight methodologies need large team size, they always maintain a certain hierarchy among team members. Lightweight methodologies need small size creative team generally 7 to 10 people.
- Heavyweight methodologies are process-oriented, in the case of, lightweight methodologies, it is people-oriented.
- Generally, it needs heavy training for heavyweight methodologies, for lightweight methodologies need some interaction with the clients, sometimes little training.
- Traditional techniques use in heavyweight methodologies like the waterfall model. However, for lightweight methodologies use agile software development (ASD), FDD etc.
- Heavyweight methodologies focus on process not more commutation with clients.
- Testing is not done parallelly with development phage in case of Heavyweight methodologies but for lightweight methodologies it dose.
- Need Long-term maintenance for heavyweight methodologies software.
These are some important difference between Heavyweight methodologies and lightweight methodologies.
Scrum is a lightweight management process
In software application development, agile software development (ASD) is a methodology for the innovative process that predicts require for pliability and applies a level of pragmatism into the delivery of the finished product. Agile software development emphasis on making code easy, testing and delivering working bits of the application as soon as they are completed.
It is a movement within the Software Development community, It is far away from traditional old process-heavy methodologies and toward the new “relatively lightweight, more effective, human-powered software-development techniques”. Ti generally requires 7 to 10 team members. The Agile Alliance was established in 2001 to encourage the idea of agile software development,
Top methodologies used under the Agile framework are Scrum and extreme programming (XP)
These are the important concept about Agile to develop a project
1.Individuals and interactions over processes and tools
2.Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan