PDSA Special Report You Can Develop Software Successfully
Almost everyone in business today has tried to develop custom software at one time or another. 74% of these projects (according to a recent study by the Gartner Group) has failed! There are a few key factors that you must ensure are a part of your development process to ensure success. Below is a list of these items. Step 1: Establish Project Phases Do not start programming until you ve completed two phases: the Discovery Phase, and the Architecture Phase. In the Discovery Phase meet with end users, line-of-business managers, your own technical staff and your outside developers or consultants in order to "discover" and clearly define the deliverables of the application. You should identify at least the following during this phase. What business problem are you solving? What technologies will this application interact with? What will you use to build it? What are the measurable factors to determine if the project is progressing well? The Discovery Phase needs to include only two items as a deliverable 1. The Initial Prototype 2. The Initial Specification Document. The initial prototype should contain about 2-4 screens, just enough so you get an idea of what your software will look like. The initial specification document will present a high level overview of what the software will do, an expected return-on-investment, major milestones in the project, and a plan for what will happen in the Architecture Phase. The second phase that you need to complete before doing any actual programming is the Architecture Phase. Here you ll need to expand on the Discovery Phase by determining every screen, function, business rule, the cost and the value that your final app will contain. Page 1
Step 2: Develop an Architecture Hire a software architect to perform the Architecture Phase. Normal programmers do not have the expertise to know how to perform this critical part of your development process. An architect is someone who has been in the IT business for at least 15 years and has a track record as both a programmer, architect, and a business person. Develop a methodology before you start programming. A methodology should include such items as how a software project is created, how milestones are established, how estimates are established, how source code is maintained, tracked and backed up. It will also include such items as programming standards, database standards, and how each programmer will create software. Create a re-useable architecture before you begin. If you do not already have a set of prebuilt routines to use in your application, purchase some. A good re-useable architecture (or framework) should provide basic building blocks that every business application needs such as configuration and exception management, a data access layer, a set of UI standards, a security system, a menu system, etc. Do not let your programmers create everything from scratch. Remember, programmers like to program. But you need to get your project done! Leave it to programmers and you will be waiting forever to receive your working software. That is why it is critical that an architect be responsible for the project and not programmers. Step 3: Establish Milestones Establish milestones for delivery of each piece of software. Everyone needs to have deadlines to work against. Be sure you create a delivery schedule for each piece of the software. You should see a piece of your software completed at least every 2 weeks. We find that by keeping the time between deliverables short, programmers will always feel an urgency about meeting those deadlines. Summary I ve given you a lot to think about. I talked about the two phases required for a successful application, the Discovery Phase and the Architecture Phase. I talked about the prebuilt software and experience-based methodology any application developer should bring to Page 2
the table for your project. And I talked about the milestone procedure and what you should expect at 14 days. You should see some part of your application running within 2 weeks, or else your application stands a 97% chance of failing. Page 3
Contact Information If you would like to know more about the information in this special report, please contact either Paul D. Sheriff or Michael Krasowski at PDSA. Paul Sheriff (615) 675-4632 PSheriff@pdsa.com Michael Krasowski (714) 734-9792 x223 Michaelk@pdsa.com Company Information PDSA, Inc. Tel (714) 734-9792 17852 17 th Street Fax (714) 734-9793 Suite 205 www.pdsa.com Tustin, CA 92780 Page 4