SpaceAge. Member NACCB ( National Association of Computer Consulting Business’s ) Page 1 of 5 COMMITMENT-COMPETENCE-PERSISTENCE-EXCELLENCE SpaceAge Mission Possible: “Leverage the Power of Team Work and Technology” 26 Journal Square, Suite # 703. Jersey City. N.J.07306. V:201-659-1239; Fax:201-659-1169. Last Edited on:12 July 2005 www.SpaceAgeGroup.com METHODOLOGY In Time Management we know: "An Hour in planning saves several hours in Execution." In building Software Systems: "An hour spent on Analysis and Design, saves several hours in execution. It helps us build better systems in lesser time and lower cost.” Let Us Ask Ourselves The Right Questions: 1. What is a methodology? 2. Why do we need a methodology? 3. What is the difference between two methodologies? 4. What is the central objective of all methodologies? 5. Who (what) is more important – methodology or the methodologist? 6. What is similar about designing a system and managing a team? 7. Less than 5 in every 100 methodologists are really good. Why ? Why do most methodologists fail? 8. Hiring a Methodologist ! what do you look for in a good methodologist? 9. Is UML a methodology? 10. If we were to build a one room house, do we need a methodology? 11. If we were to build a World Trade Center Tower, do we need a methodology? 12. If an Hour in planning does saves several hours in Execution. What exactly stops us from spending an hour in planning? 13. If following a methodology helps us build better systems in lesser time and lesser cost, why do well over 90% of software projects still do not follow any formal methodology? 14. Is following a methodology alone, enough to build a better system? 15. We are under a very tight schedule, we have no time for methodology! I am swamped with work, I have no time for planning! I have to build my five bed room house overnight. I have no time for planning, architecture or design! Providing complete Information Technology Solutions - Software Development, Application integration, etc. Email: SpaceAgeNJ@att.net ; Web Site: www.SpaceAgeGroup.com Honesty . Integrity . Justice . Love . Compassion . Peace . Happiness . Progress . Prosperity . Help Reduce Paperwork. Save Trees, Save our Environment. This document is an intellectual property of SpaceAge. Please retain SpaceAge letter head. It will bring you good luck. SpaceAge. Member NACCB ( National Association of Computer Consulting Business’s ) Page 2 of 5 16. If we are under a very tight schedule, what is the bare minimum methodology that we need to follow? 17. We don’t have a methodologist on the team, and we don’t have time and budget to hire one. What are our options? 18. For what reasons will we use an Interface (in Java)? To implement multiple inheritance or callbacks. There are other more important reasons to use Interfaces. 19. Are we doing Object Based Programming or Object Oriented Programming? Have we used Inheritance and Polymorphism? 20. How can we say that our business processes, usecases, class diagrams or sequence diagrams are correct? 21. How can we say that our JMS based solution (design) is correct? 22. When and why should we design a system using EJB’s, JMS, WebServices, etc. 23. How do we map our object model to relational model? 24. When do we need to store our objects in relational form and when in object (binary) form? 25. How will a distributed object look on the web tier, EJB tier, database tier? The above are just few questions. Why do we need a methodology? To build better systems we need to do analysis and design. When we build a home or a World Trade Center tower, do we just begin right away, stacking bricks one on top of another and hope that we will make it stand. Most software projects unfortunately are done that way. A good Analysis and Design, helps build systems that are scalable, flexible, easy to maintain and easy to Re-Engineer from time to time. A Methodology has to embrace all – not just the entire Software development life cycle but the entire life of the Application. A Methodology that has stopped evolving, stopped growing, and cannot be adapted to the project at hand – is dead. On any project, no methodology should ever be followed to the letter. The first directive that every methodology has to stipulate is: ‘here is a proposed methodology, GO ! ADAPT IT, FINE TUNE it to your needs.’ Providing complete Information Technology Solutions - Software Development, Application integration, etc. Email: SpaceAgeNJ@att.net ; Web Site: www.SpaceAgeGroup.com Honesty . Integrity . Justice . Love . Compassion . Peace . Happiness . Progress . Prosperity . Help Reduce Paperwork. Save Trees, Save our Environment. This document is an intellectual property of SpaceAge. Please retain SpaceAge letter head. It will bring you good luck. SpaceAge. Member NACCB ( National Association of Computer Consulting Business’s ) Page 3 of 5 Every Methodology has to stress - Flexibility and Creativity. Creativity ought to stand on a foundation built of Experience and Knowledge. Often managers and programmers feel that, merely following a methodology is sufficient to build good systems. It is like saying that: “Shakespeare used MS-Word, if I use MS-Word, I can be Shakespeare.” Or that: “Falcon Project used RUP. Project Falcon was Successful. if we use RUP, our project also will be successful.” This just may not be true. We may follow the best Methodology on Earth and follow it one hundred percent to the last letter and word, our deliverables may match one hundred percent what the methodology stipulates – yet the project may end up in a total disaster. No Methodology by itself can enforce or ensure quality of our deliverables, quality in our approach. No Methodology can ensure that the class and component structure we abstracted out is correct. No methodology by itself can guarantee that the system we are building is scalable, flexible, maintainable. A Methodology does help us build better system, following is methodology is certainly better than following none, BUT, there is no substitute for intelligence, competence, imagination and creativity. A Methodology is like the state of the art surgical tools, we need a qualified, intelligent, experienced surgeon. If I am building a house, I need to hire an architect who has intellect, ability, imagination and creativity. An army of hundred Sheep’s commanded by a Lion is more to be feared than an army of hundred Lions Commanded by a Sheep. An insignificant methodology implemented by a 'Lion' will be much more successful than a top gun methodology implemented by a 'Sheep'." One person can take the best methodology on Earth and build a poor system, where as another person can take an insignificant, unheard of methodology and build a much better system. We are under a very tight schedule, we have no time for methodology! All the more reason to follow one. What do you look for in a good methodologist? A methodologist, an architect has to score very high in intellect and creativity. A methodologist should have rich, hands-on, current programming experience. A methodologist should develop prototypes to help understand the system and help come out with a better design. A methodologist should have good managerial experience. A gifted methodologist is a gifted manager as well – he knows what roles and responsibilites to assign to each object and component. Providing complete Information Technology Solutions - Software Development, Application integration, etc. Email: SpaceAgeNJ@att.net ; Web Site: www.SpaceAgeGroup.com Honesty . Integrity . Justice . Love . Compassion . Peace . Happiness . Progress . Prosperity . Help Reduce Paperwork. Save Trees, Save our Environment. This document is an intellectual property of SpaceAge. Please retain SpaceAge letter head. It will bring you good luck. SpaceAge. Member NACCB ( National Association of Computer Consulting Business’s ) Page 4 of 5 MEGA METHODOLOGY What is MEGA Methodology? MEGA is a Methodology for Very Large, Challenging Projects. It is UML Compliant and one can use Rational Rose tool. MEGA is a combination of: Distributed Component Analysis and Design, and, Management Techniques for Very Large Projects. MEGA can be used with splendid gains, on the following projects: (a) Very large and complex projects. (b) Projects that would use thousands of distributed components. (c) For designing and developing distributed muti-tiered applications using EJB, JMS, WebServices, etc. What is My Background in Methodology? I am a gifted Methodologist. I have designed large complex systems. In 1992 at IIT (MIT of Asia) I specialized in Object Oriented Analysis and Design. In 1993-1995, I picked expertise in Methodologies by Grady Booch, James Rumbaugh and Ivar Jacobson. I studied a couple of other methodologies as well such as from Ed Yourdon, Peter, etc. And in recent times RUP and Extreme Programming. In 1993, I did some initial work in Distributed Component Analysis and Design. In 1996 at Chase Manhattan Bank, a team of about 15 Andersen Methodologists were let go. I helped set the standards and Distributed Component Analysis and Design. To my knowledge, there was not a single book in the market at that time on Distributed Component Analysis and Design . Where did the Andersen team go wrong? They had no experience in Distributed Component Analysis and Design. They did not know the difference between a conventional object and a distributed object. They could not take the design from the conventional business object model to the distributed object model. In 1999, at Merrill Lynch, at the PCR project, one of the largest and most ambitious projects in the financial industry, I developed MEGA methodology. A team of ten Providing complete Information Technology Solutions - Software Development, Application integration, etc. Email: SpaceAgeNJ@att.net ; Web Site: www.SpaceAgeGroup.com Honesty . Integrity . Justice . Love . Compassion . Peace . Happiness . Progress . Prosperity . Help Reduce Paperwork. Save Trees, Save our Environment. This document is an intellectual property of SpaceAge. Please retain SpaceAge letter head. It will bring you good luck. SpaceAge. Member NACCB ( National Association of Computer Consulting Business’s ) Page 5 of 5 senior methodologists voted in favor of MEGA and against the methodology proposed by Andersen. A team of over 30 top notch Andersen Methodologists were let go. What helps me excel as a methodologist? I am highly creative, I have rich managerial experience and I am hands on (in programming). I have studied more than five methodologies. I have experience in Structured Programming Languages and in Object Oriented Programming Languages. I have experience in three Object Oriented Languages – Smalltalk, C++ and Java. I have done Structured Systems Analysis and Design, Object Based Design, Object Oriented Design and Component Based Design. I have experience in multiple middleware, distributed component technologies – DCOM, Corba, EJB, JMS, MQ Series, RMI, WebServices, etc. My foundations in Computer Science are very strong – rock solid. This helps me pick up new technologies very quickly. Managerial experience and experience of running a technology company, helps me understand business needs. Having deep understanding of the business and technology, helps me leverage the power of technology to serve the business – to help raise efficieny and lower operating costs. In case you need more information, please email me at – alexander@SpaceAgeGroup.com or SpaceLabs@verizon.net Providing complete Information Technology Solutions - Software Development, Application integration, etc. Email: SpaceAgeNJ@att.net ; Web Site: www.SpaceAgeGroup.com Honesty . Integrity . Justice . Love . Compassion . Peace . Happiness . Progress . Prosperity . Help Reduce Paperwork. Save Trees, Save our Environment. This document is an intellectual property of SpaceAge. Please retain SpaceAge letter head. It will bring you good luck.