Changing trends in sw development


Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Changing trends in sw development

  1. 1. Unified process(UP) <ul><li>UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM </li></ul><ul><li>Developed by Booach,Rambaugh,Jacobson-- 3 pioneers of UML </li></ul><ul><li>The original version of UP defined an elaborate set of activities and deliverables for every step of development process </li></ul><ul><li>The four phase of UP life cycle, inception,elaboration,construction and transition describes emphases/objectives of project team members and their activities </li></ul><ul><li>Four phases provide a framework for planning n tracking the project in time </li></ul>
  2. 2. Inception <ul><li>The project manager develops and refines a version for the new system to show how operations can be improved and solve existing problems </li></ul><ul><li>Project manager checks/verifies that how benefits from the new system can be made so that cost of the development can be fulfilled </li></ul><ul><li>The scope of the system should be made clear </li></ul><ul><li>The inception phase is completed in one iteration,as with any iteration, parts of actual system might be designed,implemented and tested </li></ul><ul><li>As s/w is developed, team members must confirm that system vision still matches user expectations or the system will work according to a plan </li></ul>
  3. 3. elaboration <ul><li>This phase involves the several iterations </li></ul><ul><li>Early iterations complete the identification and definition of all system requirements </li></ul><ul><li>As UP follows an adaptive approach,the requirements are expected to evolve n change at any time after work starts on the project </li></ul><ul><li>It also completes analysis,design and implementation of the core architecture of the system </li></ul><ul><li>Risks are identified here </li></ul><ul><li>By the end of it, project mgr estimates the total cost of the project and schedule and testing key parts of the system are also completed </li></ul><ul><li>This phase is not at all the same as traditional SDLC’s analysis phase </li></ul>
  4. 4. Construction phase <ul><li>This phase involved several iterations,continued to design and implement the system </li></ul><ul><li>Core architecture, highest risk aspects are already complete </li></ul><ul><li>Focus of the work is :- data validation,fine tuning the user interface’s design,finishing routine data maintenance fn,completing the help & user preference fn </li></ul><ul><li>It plans here for the deployment of the system </li></ul>
  5. 5. Transition phase <ul><li>In this,one or final iterations involve the final user acceptance and beta tests, the system is made ready for operations </li></ul><ul><li>After the system is in operations, it will need to be supported and maintained </li></ul>
  6. 6. UP disciplines <ul><li>A discipline is a set of functionally related activities that together contribute to one aspect of development project </li></ul><ul><li>It includes business modeling, requirements,design,implementation,testing deployment,config.mgmt,change mgmt, proj mgmt </li></ul><ul><li>Each iteration involves activities from all disciplines </li></ul>
  7. 7. Conclusion of UP <ul><li>Reinforces six best practices </li></ul><ul><ul><li>Develop iteratively </li></ul></ul><ul><ul><li>Define and manage system requirements </li></ul></ul><ul><ul><li>Use component architectures </li></ul></ul><ul><ul><li>Create visual models </li></ul></ul><ul><ul><li>Verify quality </li></ul></ul><ul><ul><li>Control changes </li></ul></ul>
  8. 8. Agile development <ul><li>Being Agile meaning responsive </li></ul><ul><li>It is being able to change directions rapidly,even in the middle of the project- is the keystone </li></ul><ul><li>It is a philosophy and a set of guidelines for developing s/w in an unknown,rapidly changing environment </li></ul><ul><li>It provides development approach such as UP </li></ul>
  9. 9. Agile Modeling <ul><li>Hybrid of XP and UP (Scott Ambler) has more models than XP(extreme programming), less documents than UP </li></ul><ul><li>Interactive and Incremental Modeling: </li></ul><ul><ul><li>Apply right models </li></ul></ul><ul><ul><li>Create several models in parallel </li></ul></ul><ul><ul><li>Model in small increments </li></ul></ul><ul><li>Teamwork: </li></ul><ul><ul><li>Get active stakeholder participation </li></ul></ul><ul><ul><li>Encourage collective ownership </li></ul></ul><ul><ul><li>Model with others and display models publicly </li></ul></ul>
  10. 10. Agile Modeling <ul><li>Simplicity: </li></ul><ul><ul><li>Use simple content </li></ul></ul><ul><ul><li>Depict models simply </li></ul></ul><ul><ul><li>Use simplest modeling tools </li></ul></ul><ul><li>Validation </li></ul><ul><ul><li>Consider testability </li></ul></ul><ul><ul><li>Prove model is right with code </li></ul></ul>
  11. 11. Agile development philosophy and values <ul><li>The 4 values emphasize:- </li></ul><ul><ul><li>Responding to change over following a plan </li></ul></ul><ul><ul><li>Individuals and interactions over processes and models </li></ul></ul><ul><ul><li>Working s/w over comprehensive documentation </li></ul></ul><ul><ul><li>Customer collaboration over contract negotiation </li></ul></ul><ul><ul><li>Some industry leaders termed agile as chaordic </li></ul></ul><ul><ul><li>Chaos & order – 1 st two pts(of 4 values) do seem to be a recipe for chaos </li></ul></ul><ul><ul><li>Developers need to accept the chaos but also need to use specific methodology(UP!) to impose order on this chaos to move project ahead </li></ul></ul>
  12. 12. Agile modeling principles <ul><li>Develop s/w as your primary goal </li></ul><ul><li>Enable next effort as your secondary goal(2 objectives!) </li></ul><ul><ul><li>First requirements model is necessary to develop design model </li></ul></ul><ul><ul><li>Though high quality s/w is imp,still long term use of it is v.imp </li></ul></ul><ul><ul><li>Minimize your modeling activity </li></ul></ul><ul><ul><li>Embrace(accept) change and change incrementally </li></ul></ul><ul><ul><li>Model with a purpose </li></ul></ul><ul><ul><li>Build multiple models </li></ul></ul><ul><ul><li>Build high quality models & get feedback rapidly </li></ul></ul><ul><ul><li>Focus on content rather than representation </li></ul></ul><ul><ul><li>Learn from each other with open commnunication </li></ul></ul><ul><ul><li>Know your models and how to use them </li></ul></ul><ul><ul><li>Adapt to specific project needs </li></ul></ul>
  13. 13. Agile modeling practices <ul><li>Iterative and incremental modeling </li></ul><ul><li>Teamwork </li></ul><ul><li>Simplicity </li></ul><ul><li>Validation </li></ul><ul><li>Documentation </li></ul><ul><li>Motivation </li></ul>