Choosing a Methodology, That You Should Consider Before You Write a Single Line of Code

Total Page:16

File Type:pdf, Size:1020Kb

Choosing a Methodology, That You Should Consider Before You Write a Single Line of Code 4327book.fm Page 1 Tuesday, February 24, 2004 3:49 PM Chapter 1 Planning Your Project How does one design an electric motor? Would you attach a bathtub to it, simply because one was available? Would a bouquet of flowers help? A heap of rocks? —Professor Bernardo de la Paz, quoted in The Moon Is a Harsh Mistress, by Robert A. Heinlein COPYRIGHTED MATERIAL 4327book.fm Page 2 Tuesday, February 24, 2004 3:49 PM 2 Chapter 1 • Planning Your Project S o there you are with your shiny new IDE and your coding skills and a vague idea of what it is that you want to produce. The temptation can be almost overwhelming to dive right in and start typing. Don’t do it. Even the smallest of projects benefits from at least a little bit of planning up front, and yours is no different. In this chapter, I’ll discuss some of the basic planning steps, including requirements management and choosing a methodology, that you should consider before you write a single line of code. Nailing Down a Feature Set Before you write a single line of code, there’s a simple yet difficult question that you must answer: What are you writing? You need to have more than a vague idea of the end product before you can finish building an application. If you don’t know what you’re trying to produce, then you’re not really writing an application; you’re just noodling around with code. There’s nothing wrong with that as a learning activity, but as a developer, you need to be more focused. “What” is not the only question you should be asking about your application at this point. In fact, you should think about the same set of questions that a good newspaper reporter asks: ● What are you writing? ● When do you want to finish writing it? ● Where do you expect it will be used? ● Why are you writing this software? ● How will you write the software? I’ve found it useful to start the process of software development with some brainstorming activities. The goal of brainstorming is not to come up with all the answers, but to develop a set of ideas that you can reasonably expect will include the answers. In the context of focusing your software development, that means that you want to have a pretty good idea of the features of the finished product before you start building it. It’s possible, even likely, that this list of fea- tures will change as you actually build the application. That’s OK; for right now, you just want to have a clear direction, even if the ultimate destination changes later. If you read the Introduction, you know that my sample application for this book is named Download Tracker, and that it has something to do with downloading software from the Inter- net. So far, Download Tracker is just a vague idea: I want to keep track of things I download from the Internet. To come up with an initial feature set, I’ll develop an elevator pitch and a mind map. 4327book.fm Page 3 Tuesday, February 24, 2004 3:49 PM Nailing Down a Feature Set 3 The Elevator Pitch The elevator pitch is an idea that was popularized during the peak of the dot-com era, when it seemed as if there were buckets of money out there to be had—and a lot of competition for hav- ing them. The scenario goes like this: You’re on your way to a meeting with the venture cap- italists on the 87th floor of the skyscraper. You’ve got your laptop loaded with PowerPoint slides, and collateral to hand out. Your 15-minute presentation is honed to a glittering edge. Then, just as you step into the elevator in the building lobby, the senior partner from the VC firm steps in with you. “So, Bill,” he says, “what have you got for us today?” Forget the 15-minute presentation. You’ve got a 30-second elevator ride to impress this guy and convince him to add zeroes to your bank balance. What do you say? You’re probably not going to get an eight-figure investment from someone who thinks your idea is fabulous, but coming up with an elevator pitch is still a very useful exercise. The important thing is not to create your elevator pitch quickly, but to be able to explain your software quickly. You might also think of this as coming up with “100 words or less” to explain your software. RULE Write a short statement describing what your software will do, and why, to help keep you on track. If you’re unsure whether a potential new feature should be added, ask yourself whether it fits in with the elevator pitch. If not, either the pitch needs to be modified or the feature should be discarded. When in doubt, discard the feature. Feature creep—the continuing addition of new functionality while you’re still writing the code—is one of the biggest enemies that keep you from actually finishing a project. Here are some things to think about when you’re coming up with your elevator pitch: ● Short is better than long. A long and rambling elevator pitch probably means you haven’t really decided what you’re building yet. ● Functionality trumps technology. Potential customers care about what your software will do. They usually don’t care how your software does it. ● Solve a problem. If you can’t explain what problem your application will solve, customers won’t know why they should buy it. ● Pitch the benefits, not yourself. Customers won’t be buying you, your superior knowledge, or your development team (if you’re lucky enough to be working with a team). They’ll be buying the software. ● Figure out what’s important to your audience, and make sure you address that. Are the people buying your product most interested in cost, innovation, features, compatibility, or something else entirely? 4327book.fm Page 4 Tuesday, February 24, 2004 3:49 PM 4 Chapter 1 • Planning Your Project With those points in mind, here’s an elevator pitch for Download Tracker: Download Tracker builds a personal catalog of all the software that you download from the Internet. You can add descriptions and keywords to identify each software package. Later on you can edit this information and add your own ratings. With Download Tracker, you’ll never forget where you saved a program again, or lose track of the name of the file that installs your favorite freeware application. If you run a website, you can even use Download Tracker to automatically generate a list of your favorite downloads, complete with hyperlinks. The Mind Map The elevator pitch is a great tool for gaining focus on your application. You can print it out and nail it to the wall over your monitor to keep you motivated when you’re chasing bugs at 3 A.M. and that last slice of pizza puts you into the heartburn zone. But after you’ve achieved that focus, you need to expand your view. This is the point where I’ll typically start brainstorming a more detailed list of the things that the software will do. There are a lot of ways to do this brainstorming, and choosing between them is largely a mat- ter of personal preference. Some people like to use a text editor or a word processor and just type ideas, perhaps organizing them into an outline. Many developers are happy with a white- board for this purpose, although that leaves you with the problem of saving the whiteboard contents for later reference. If you have this problem, take a look at PolyVision’s Whiteboard Photo (www.websterboards.com/products/wbp.html), though at $249 it may be too pricey if you’re not a frequent whiteboard user. NOTE The software prices I quote in this book are current in early 2004. Prices do change, though, so check at the relevant websites before making up your budget. I’m including prices so you know which tools are free, which are inexpensive, and which are potential budget-busters. My own personal choice for freeform brainstorming is the mind map. Tony Buzan, who invented this form of diagram, describes a mind map as “a powerful graphic technique which provides a universal key to unlock the potential of the brain. It harnesses the full range of cor- tical skills—word, image, number, logic, rhythm, color, and spatial awareness—in a single, uniquely powerful manner.” You can think of a mind map as a sort of two-dimensional outline; rather than organizing ideas into a linear list, you spread them around the page and connect them. Mind maps can also use icons, graphics, fonts, colors, hyperlinks, and other techniques to include information that’s hard to put into words. NOTE For general information on mind mapping, visit Tony Buzan’s website at www.mind-map.com/. 4327book.fm Page 5 Tuesday, February 24, 2004 3:49 PM Nailing Down a Feature Set 5 There are several software packages out there to create mind maps, which is a good thing, because most developers don’t have the graphic skills to create a nice one by hand. Table 1.1 lists some of the mind-mapping software available for Windows. TABLE 1.1 Mind-Mapping Software for Windows Product URL Description ConceptDraw MINDMAP www.conceptdraw.com/en/products/ Cross-platform Mac/PC mindmap/main.php product that strives for a “hand-drawn” creative look.
Recommended publications
  • Document Management System Design Architecture for Interdepartmental Organization
    Date September 2009 Page/of 1/487 Document Management System design architecture for interdepartmental organization H. Safari Asl 1063405 Y.F. Tang 1107860 Master Thesis Honeywell B.V & Department: Information Architecture Faculty: Electrical Engineering, Mathematics and Computer Science, Delft University of Technology Date: September 2009 Date September 2009 Page/of 2/487 Document Management System design architecture for interdepartmental organization Authors: H. Safari Asl, BSc, Student nr: 1063405, Email: [email protected] Y.F. Tang, BSc, Student nr: 1107860, Email: [email protected] MSc presentation: 16 December 2009 Graduation committee Prof.dr.ir. J. L.G. Dietz(Chair) Electrical Engineering, Mathematics and Computer Science Department 2: Software Technology Web Information Systems Dr.ir. Jan van den Berg(Member) Technology, Policy and Management Infrastructures, Systems and Services Section Information & Communication Ir. Bernard Sodoyer(Supervisor) Electrical Engineering, Mathematics and Computer Science Department 2: Software Technology Web Information Systems Date September 2009 Page/of 3/487 Table of Contents List of tables .......................................................................................................................................... 4 List of figures ......................................................................................................................................... 5 List of appendix .....................................................................................................................................
    [Show full text]
  • Modern Mind Mapping Tony Buzan Pdf
    modern mind mapping tony buzan pdf Download modern mind mapping tony buzan pdf Тони Бьюзен: англ. Tony Buzan: Тони Бьюзен: Дата рождения: 2 июня 1942 (1942-06-02) (73 года) Место рождения: Consider for a moment all of life s problems that you ve had to work through. Now imagine being able to think your way through all of these problems with effortless ease. This course will teach you how to use mind maps to increase your personal and professional productivity. You’ll learn how to save time on any task that requires. Resources. Written by me, unless otherwise stated. Creative Thinking. A Whack on the Side of the Head: How You Can Be More Creative by Roger von Oech. During the past 10 years, I had the opportunity to test out just about every mind mapping software available on the market. Below you will find my favorite picks. III.Methodology The traditional or innovative methods of teaching are critically examined, evaluated and some modifications in the delivery of knowledge is suggested. Anthony Tony Peter Buzan (/ ˈ b uː z ən /; born 2 June 1942) is an English author and educational consultant. Buzan popularized the idea of mental literacy and a. Examples of Mind Maps for business, personal and education use. We show great range of Mind Mapping examples created by hand and using Mind Mapping software 3D Topicscape; Axon Idea Processor; Buzan s iMindMap; Coggle; ConceptDraw MINDMAP; ConceptDraw PRO; Creately; Debategraph; iMindQ; Inspiration; Kidspiration; LucidChart Click on the link to download your Learning Guide for The Merchant of Venice.
    [Show full text]
  • Collaborative Mind Mapping to Support Online Discussion in Teacher Education
    Western University Scholarship@Western Electronic Thesis and Dissertation Repository 9-17-2019 1:30 PM Collaborative mind mapping to support online discussion in teacher education Rosa Cendros Araujo The University of Western Ontario Supervisor Gadanidis, George The University of Western Ontario Graduate Program in Education A thesis submitted in partial fulfillment of the equirr ements for the degree in Doctor of Philosophy © Rosa Cendros Araujo 2019 Follow this and additional works at: https://ir.lib.uwo.ca/etd Part of the Curriculum and Instruction Commons, Educational Technology Commons, Online and Distance Education Commons, and the Scholarship of Teaching and Learning Commons Recommended Citation Cendros Araujo, Rosa, "Collaborative mind mapping to support online discussion in teacher education" (2019). Electronic Thesis and Dissertation Repository. 6561. https://ir.lib.uwo.ca/etd/6561 This Dissertation/Thesis is brought to you for free and open access by Scholarship@Western. It has been accepted for inclusion in Electronic Thesis and Dissertation Repository by an authorized administrator of Scholarship@Western. For more information, please contact [email protected]. Abstract Mind maps that combine text, images, color and layout elements, have been widely used in classroom teaching to improve retention, knowledge organization and conceptual understanding. Furthermore, studies have shown the advantages of using mind maps to facilitate collaborative learning. However, there are gaps in the literature regarding the use and study of collaborative mind mapping in online learning settings. This integrated-article dissertation explores the implementation of online collaborative mind mapping activities in a mathematics teacher education program at a Canadian university. The studies were developed with participants enrolled in three different courses where at least two of the online activities used collaborative mind mapping for knowledge construction.
    [Show full text]
  • Conceptdraw Office: What Our Users Say
    User Story ConceptDraw Office: What Our Users Say Challenge: My first experience with graphics editors started with MS Paint. Creating a large number of vector diagrams I was a senior student who helped put together study guides and illustrations. Visual monitoring of the for junior students and students of other faculties. I would draw project status and design of the visual all explaining and demonstrative pictures in Paint. Generally project documentation. it was alright; I mastered this simple editor quite fast after drawing 1-2 pictures. Toolkit: “Thanks to the huge number Meanwhile, my student life of pre-designed solutions that was coming to its logical end. can be found in ConceptDraw Being rather lazy, I did not Solution Park, ConceptDraw have the visual presentation Office can cope with any task: of the results of my Diploma from making floor plans to Paper 3 days before computer networking , and from the preliminary review designing cooking recipes to Solution: of the thesis. It was a starting business processes modeling.“ point. I began to search ConceptDraw Office can cope with any as- signment: ranging from an apartment plan Google for the tool that would to a restaurant plan and from a scheme let me make schemes and diagrams quickly. of computer network in your office to a complex multidivisional structure of a large I was surprised to discover vector graphics. Since you always holding company. need to edit something after reviewing – to make something ConceptDraw Solution Park is full of beauti- smaller or bigger – I decided to draw in vector graphics. ful well-performed illustrated examples and clipart images.
    [Show full text]
  • Mind Map Generation Tool Using Ai Technologies
    International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 07 Issue: 12 | Dec 2020 www.irjet.net p-ISSN: 2395-0072 IMAGINE: MIND MAP GENERATION TOOL USING AI TECHNOLOGIES Vaibhavi Dere#1, Mansi Sawant#2, Sadhana Yadav#3, K.T Patil#4 1-3Student,Department of Computer Engineering Smt. Indira Gandhi College of Engineering Navi Mumbai, Maharashtra, India 4Professor, Department of Computer Engineering Smt. Indira Gandhi College of Engineering Navi Mumbai, Maharashtra, India ---------------------------------------------------------------------***---------------------------------------------------------------------- Abstract - A mind map is a diagram used to represent words, fascinating to know how the concept of Mind mapping ideas, or other items linked to and arranged around a central emerged. In the early 1970s, keyword or idea. The propounded idea helps to organize and summarize textual contexts efficiently using Mind Mapping. Tony Buzan realized that every new computer comes with a This tool provides a prospect to transform many literatures manual [6]. On the contrary, the human brain with an automatically into mind maps. Mind maps are used to incomparable power comes with no manual which made him generate, visualize, structure, and classify ideas, and as an aid envisage an operative handbook for our brain. A mind map is in organization, study, project management, problem solving, a diagram used to represent words, ideas, tasks, or other decision making, and writing. It has been long used in items linked to and arranged radially around a central brainstorming and as an effective educational tool. Many keyword. As an example, 0 depicts a mind map of Google students find it easier to follow and remember information tools [4].
    [Show full text]
  • How to Integrate Evernote with Mind Mapping Applications
    How to integrate Evernote with mind mapping applications Since its launch in 2008, Evernote has evolved into a powerful tool for taking notes and capturing all types of digital content. Its growth rate has been amazing; as of February of this year, it has over 50 million users, with 100,000 a day signing up for it. Developers of mind mapping and visual thinking applications have embraced Evernote, integrating with it in a number of different ways. In this report, I will provide you with an overview of the desktop- and web-based mind mapping and visual thinking applications that integrate with Evernote. I will describe how they work together and the pros and cons of each developer’s approach. As a writer, I have a strong personal interest in this topic. I have been using Evernote for several years as my primary tool for capturing content ideas. I also do a significant amount of writing within it, mainly because Evernote does a fantastic job of giving me instant access to all of my notes no matter where I go or what computing platform I’m using. I also find it useful for Evernote-Mind Map Integration Page 2 gathering research for reports I’m working on. Evernote’s web clipper enables me to quickly and easily capture all or part of any web page, tag it and store it in a folder of my choice. So naturally, for larger reports and projects, I’m keenly interested in developing new ways to incorporate the great content and ideas I’ve gathered in Evernote into my mind maps.
    [Show full text]
  • Getting Started with Conceptdraw PROJECT for Windows
    Getting Started with ConceptDraw PROJECT v10 for Windows CS Odessa corp. Getting Started with ConceptDraw PROJECT v10 for Windows Contents GETTING STARTED WITH CONCEPTDRAW PROJECT ...........................................3 CREATING PROJECTS .........................................................................................4 ASSIGNING RESOURCES ....................................................................................5 SETTING THE CALENDAR ...................................................................................7 ADDING DETAILS ..............................................................................................8 MILESTONE .....................................................................................................8 HYPERNOTE ....................................................................................................8 MANAGING MULTIPLE PROJECTS .......................................................................9 PROJECT REPORTS ............................................................................................10 PRESENTING YOUR PROJECT .............................................................................11 INTEGRATING WITH OTHER CONCEPTDRAW OFFICE APPLICATIONS .................12 CONCEPTDRAW DIAGRAM .................................................................................12 CONCEPTDRAW MINDMAP .................................................................................13 WORKING WITH OTHER APPLICATIONS ............................................................14
    [Show full text]
  • Introducing Conceptdraw OFFICE 2
    Introducing ConceptDraw OFFICE 2 CS Odessa 2011 Introducing ConceptDraw Office 2 CS Odessa Contents Introducing ConceptDraw Solution Park ................................ 1 ConceptDraw OFFICE 2 .................................................................................... 3 Office Products ....................................................................................................3 Office Technologies ..............................................................................................3 Product Extensions Add Future Value ......................................................................3 Project Management Support ................................................................................4 Future Value Beyond Purchase ...............................................................................4 Leading Innovation ..............................................................................................4 What is ConceptDraw MINDMAP? ................................................................... 5 What are the Output Capabilities of ConceptDraw MINDMAP? .....................................5 What are the Presentation Capabilities of ConceptDraw MINDMAP? .............................5 What are the Input Capabilities of ConceptDraw MINDMAP? .......................................5 What is ConceptDraw PROJECT? ..................................................................... 6 What is ConceptDraw PRO? ............................................................................. 7 Products: Approach
    [Show full text]
  • Plan Du Site Pétillant Découvrir Articles Une Introduction Aux Cartes
    Une introduction aux cartes heuristiques Définition du mind mapping dans l’encyclopédie collaborative Wikipédia Définitions du mot heuristique Articles Notre galerie de cartes heuristiques Témoignages d’étudiants utilisant les cartes heuristiques Témoignages sur l’utilisation des cartes heuristiques Des sites exploitant la spacialisation de l’information Feuilletez les carnets de Léonard de Vinci comme si vous les aviez dans les mains L’arbre des forums Les cartes heuristiques : secret de la Curiosités réussite des élèves finlandais Évolution du site Les cartes heuristiques : un moyen de lire L’équipe Pétillante la complexité des réseaux ? Pétillant sur le net Mark Lombardi, artiste heuristicien à propos du site Pourquoi le tsunami a t-il été si destructeur ? une carte heuristique aide Articles l’explique conditions d’utilisation Informations Animer une réunion mentions légales Découvrir Comprendre le monde de Harry Potter infos site Mettre de l’ordre dans ses idées FAQ Organiser ses activités personnelles nous contacter Organiser ses activités professionnelles Exemples d’applications Pratiquer l’écriture créative Boyé (Clément), La pensée rayonnante Prendre des notes efficaces Buzan Centres Préparer sa retraite Cerveau droit Préparer une présentation orale Cerveau et apprentissage Résumer un livre CerveauEtPsycho.com Navigation sur le Web Différence entre donnée et information Arbor Scientiae de Raymond Lulle Dossier sur la mémoire par Baker, L’Art de guérir au Tibet l’Encyclopédie de l’Agora Sites Web L’arbre de Vie pour comprendre
    [Show full text]
  • Getting Started with Conceptdraw PROJECT for Windows
    Getting Started with ConceptDraw PROJECT v11 for Windows CS Odessa corp. Getting Started with ConceptDraw PROJECT v11 for Windows Getting Started with ConceptDraw PROJECT v11 for Windows Contents GETTING STARTED WITH CONCEPTDRAW PROJECT Thank you for your interest in ConceptDraw® PROJECT v10! To begin with, let’s install GETTING STARTED WITH CONCEPTDRAW PROJECT ...........................................3 the program on your system. To install the product, and activate your trial license: CREATING PROJECTS .........................................................................................4 1. Navigate your web browser to www.ConceptDraw.com and click Sign In. ASSIGNING RESOURCES ....................................................................................5 2. Fill in the form with your information, and then click Submit. SETTING THE CALENDAR ...................................................................................7 3. Check your email for the message from [email protected] that contains ADDING DETAILS ..............................................................................................8 your confirmation link. (Spam filters may catch this message. If you don’t see MILESTONE .....................................................................................................8 the email within a few minutes, check your “Junk” or “Spam” folders.) HYPERNOTE ....................................................................................................8 4. Follow the link to confirm your account, and
    [Show full text]
  • Mindjet Catalyst Datasheet
    Visually connecting people and ideas to capture and communicate information in a truly collaborative platform Mindjet Catalyst is the only collaboration platform that KEY FEATURES combines the industry’s leading visual productivity application (mind mapping) with secure online workspaces and web Web-Based Visual Mapping conferencing, via an intuitive web interface. With Mindjet Catalyst, teams can visually connect ideas and information Collaborate with others to organize, manage in a flexible, intuitive and interactive manner to save time, and communicate complex ideas and information improve business processes and drive innovation. Whether using an intuitive diagram called a “mind map.” driving the sales process, managing meetings or projects, Add images, hyperlinks, attachments and more to or simply getting organized, Mindjet Catalyst provides the help you better understand context, relationships platform for teams to work in a truly collaborative manner. and priority of the information. Use web-based visual mapping to access mind maps anytime, from any web browser. Finally, a tool that increases clarity and turns your ideas into action. Secure Online Workspaces Store maps and related document files automati- cally in Mindjet Catalyst’s secure workspaces. Anyone in your account can get immediate access to the most recent versions. You can combine related files into one or more workspaces, according to your needs. In addition, you can assign various permission levels (owner, author or reader access) to each workspace member. Full-Featured Web Conferencing (Optional) Easily schedule or start a web conference directly from within Mindjet Catalyst. Initiate an unlimited number of web conference meetings and invite up to 15 participants to each meeting.
    [Show full text]
  • Outliner History About This Particular Outliner by Ted Goranson, [email protected]
    ATPO: Outliner History About This Particular Outliner by Ted Goranson, [email protected] Outliner History For a while there, I felt deprived. Yes, Mac OS X is the future, but we sure went through a hard patch until the core applications were brought over the fence. Lost in the shuffle were some dearly loved power tools: Nisus Writer, OneClick, and IdeaKeeper. But there’s fresh light in the homeland as a new generation of power tools is appearing. Many of us are taking advantage of this shift to improve our way of working. Almost certainly in this shift, outlining is bound to play a role in whatever world you build for yourself in your Mac. This new column will track what’s happening in outlining and provide some useful perspectives beyond the average “review.” This month, we give an overview of outlining. In future columns, we’ll drill down into different features, use patterns, philosophies, and specific tools. Macs and Outlining The Mac community has always had more innovative software than their Windows counterparts. Perhaps it is the nature of the community. Possibly it is because every Mac user is a niche customer already, and therefore more interested in niche software. This interest in innovation has often involved the outlining paradigm, sometimes as standalone applications but often embedded in other applications. I am as lazy as the next guy, and generally don’t revert to basic philosophy in evaluating applications. The trigger for my most recent self-examination was the appearance of Circus Ponies NoteBook and its sibling AquaMinds NoteTaker.
    [Show full text]