Software Information |
|
My Experience - Making a Vision into Reality
Disclaimer: All the thoughts expressed are my views only! Your perception might differ... 1. How different is product development? 2. What are the fundamentals of building a product? 3. How do I know that I'm at the wrong end of building the product? 4. Will you start building two products, if given a second chance? 5. All of a sudden I go blank, what should I do? 6. But my project is running on a delayed schedule, what do I do? 7. Pitfalls in putting out milestones? 8. Testing? what? 9. Do I make the team work 7 days a week? 10. why this faq? 1. How different is product development? For starters, they are completely orthogonal! I can hear you mumble "C'mon building a product cannot be different from building a framework." I learnt it the hard way! Yes, though they seem to be very much related, the subtle differences place them far apart! In developing a framework, you get started with whatever you have in mind. i.e you conceptualize your version of the framework. This will get you started, but after sometime, when you rope in a couple of customers, it is not you(framework team) that decide what goes in or what is useful! IT is mainly driven by the internal customers. They start defining the rules. This check ensures that whatever the framework team builds, is used effectively! Well, it acts as a guide post. The scenario takes a "U" turn with respect to product development. why? it is due to the fact that it is pretty difficult to rope in early customers. Unless they have an impinging need for the solution, they will not opt to be part of the early bird customer programs. So what can happen is the possibliy to get insane, "what might happen if this happens?" and you start fixing problems or developing features which might not be useful! This I would term as the "product developers" mind block. To overcome this we cross-verify ourselves with the competitors(EEE strategy), but down the line, it might not be effective. Because we tend to supersede the competitor. So always be watchful about what you put into the product. 2. What are the fundamentals of building a product? The most important aspect of the product is the conceptual integrity! Yes! that is the secret ingredient for making your product a success! Visualize how the end-user/customer will see the product. That will set things straight! Start looking at the product with NOT what you know, but with what the customer knows. The default behaviour of any developer is to fall into the habit of taking things for granted. i.e the normal pitfall is that once you get into the trees you tend to forget the forest( the overall picture!) Always concentrate on the forest and not on the trees! During the intial stages of the product, I missed it and I payed the price(extra time)! 3. How do I know that I'm at the wrong end of building the product? Well it is a tough question, let me give it a try... The moment you sit down to work, what is that flashes in your mind, "how to fix the issues?" "where to find the solutions?" "how could I nail this bug?" If you answer "Yes" to any of the questions, then you are seeing the trees! It is high time you start visualizing the global picture of the product. 4. Will you start building two products, if given a second chance? No, it is not OK! NEVER start two products at the same time, even when they are related. Normally what happens is that you tend to lose focus of one product or the other. Just postpone the start of the second product by 5-6 months. During which the first product would have come to a decent shape. It is just an balancing act! but your mileage may vary... 5. All of a sudden I go blank, what should I do? Well, this I would term as the Product developers "block". It happens, remember afterall we are human. Just take a couple of days off! and get started with a fresh mind! believe me it is normal! Just go ahead and talk with guys out there who has already built great products! 6. But my project is running on a delayed schedule, what do I do? Whatever I say out here will not address your problem. All I have to say is this, you underestimated the project time frame. Believe me all software developers are optimistic, no matter what, that is their nature ;-) This is Ok! as long as you acknowledge the delay and make an effort to make much better schedules. 7. Pitfalls in putting out milestones? Well it depends upon the product, if the product is very straight forward i.e without very high performance/scalability requirements, go ahead with your monthly milestone(s). But be careful while tagging the milestones. Because I faced the problem of running out of milestone numbers :-( and started calling it beta even before it was beta ready! 8.Testing? what? It depends on how much quality you want in your product! Normally it will take 1/3rd the time of the time taken to build the product! No matter how much pressure you have for monthly release, never compromise on quality! We talk about quality etc at the early stages,but sacrifice it in the name of time constraint! Never do that. What if the milestone gets postponed? it is ok! 9. Do I make the team work 7 days a week? Nope! whatever happens don't over do it! (I did it, I got obssessed with the product). Stretch your team only if needed! Well! it might be against the standard management philosophy were the more time you spend the more you gain! I totally disagree with this! Think about this, when is that you get the best ideas and solutions to your problems? I am confident that you don't get them at work! It happens only when you are away from work. Moreover, the nature of software job does not need the couontless hours. All it needs is a clear mind and very little time. But the industry is all screwed up! I took a shot at it but in vain... but I am sure I would break it someday in the near future! Here is an interesting tid-bit: I came across a international study about the productivity of work(i'm sorry I missed the link), It states that on an average only 2 hours/day results in productive work! That means we spend nearly 6 hours a day (assuming 8 hrs as the working time) in communicating etc... Well, I could hear you shout at me, that is not possible, well try for yourseslf! Before that ensure that what productive work is! Anything that you to attain the goal of the company is termed productive. Another word of caution is that this time frame is only an average over a week, i.e you tend to be more productive on some days only! 10. Why this faq? There are two ways to learn anything in this world, one the hard the way and second learning from somebody else's experince. I learnt the hard way, I want you to learn the easier way! If this enlightened you, here is what I want you to do... share two of your learnings that would do! Hey I have more questions what do I do? well you have couple of options i) read some books esp Mythical Man Month (a must read for product leaders) ii) discuss with people who have already crossed it or iii) learn it the hard way! -Ramesh-
|
RELATED ARTICLES
Getting Technical Support Help Online Sometimes your PC will start acting strange for no apparent reason or a program which you use regularly will all of a sudden stop working as it should. This can be a frustrating experience especially if you have no idea where to go for help. If this happens to you, don't panic! Here are some simple tips which may turn your frown upside down. IT Strategy for Midsize Business: Microsoft vs. Java, Great Plains & CRM Midsize business or non-profit organization should decide if one-vendor solution would be appropriate and the associated risk acceptable. In our opinion, balancing the risk of one-vendor-approach is not economically feasible and should be avoided. This means that you need to decide if you plan to be Microsoft-oriented or Java/Unix/Linux/Oracle oriented. In the case of Java direction ? you again have to further consider your options and if possible do not deploy too many systems from different vendors. Even if you host your systems with somebody else ? we think that in the future you might have a risk of complex data conversion from one system to another. In this small article we'll show you typical way if you follow Microsoft direction: Microsoft Business Solutions Great Plains and Microsoft CRM Great Plains Dexterity Development: FAQ Microsoft Business Solutions Great Plains is Dexterity-written application and currently we see increased interest for Great Plains customers to do in-house Dexterity development and customization. Dexterity itself is written on C programming language and its initial architecture was based on the Graphical and Database platform independence, which C programming language was believed to provide. Initially back in 1994 Great Plains Software Dynamics and Dynamics C/S+ were realized for Macintosh and Windows and pretty similar Dexterity DYNAMICS.DIC dictionary worked for Ctree/Faircomm and Microsoft SQL Server 6.5. In our days Microsoft Great Plains is available for Windows and MS SQL Server only (since version 8.0). In this small article we would like to give you highlights on the most typical entry level Dexterity development questions Microsoft Great Plains Reporting ? Overview for Developer Looks like Microsoft Great Plains becomes more and more popular, partly because of Microsoft muscles behind it.� Now it is targeted to the whole spectrum of horizontal and vertical market clientele.� Small companies use Small Business Manager (which is based on the same technology ? Great Plains Dexterity dictionary and runtime), Great Plains Standard on MSDE is for small to midsize clients, and then Great Plains serves the rest of the market up to big corporations.� There are several reporting tools available and you definitely need to know which one to use for different types of reports. If you are developer who is asked: how do we create report for Microsoft Great Plains ? read this and you will have the clues on where to look further. Great Plains Report Writer (ReportWriter) ? this is built-in reporting tool.� All the original report in Great Plains are written in ReportWriter.� ReportWriter itself is Dexterity module.� You should use this tool if you would like to modify existing Great Plains reports, such as Blank Invoice Form - here you can place your company logo, change the positioning, fonts, colors, etc.� ReportWriter will allow you also do new� reports - simple option� if you want to export all the records from one Great Plains table - use it.� New report, however doesn't have interface where you would enter parameters - so it is not useful for real custom reports.� Another limitation of ReportWriter - you can not do cross-modules report - when you need sales and purchasing info on the same report for example. FRx.� This is excellent tool when deal with financial reporting - it works on the General Ledger level (Balance sheet, P&L, Cash Flow Statement, etc.).� It also allows you to do multiple companies consolidation - when you do consolidated Balance Sheet (with inter-companies transactions elimination). Smart List - Export to Excel ? this is nice feature in Great Plains - you could create a list with simple criteria and then export it to Excel. Crystal Reports.� It gives you unlimited functionality.� Obviously flexibility requires you to know Great Plains table structure:� Launch Great Plains and go to Tools->Resource Description->Tables.� Find the table in the proper series.� If you are looking for the customers ? it should be RM00101 ? customer master file.� If you need historical Sales Order Processing documents ? they are in SOP30200 ? Sales History Header file, etc.� Create ODBC connection to GP Company database.� Use the same technique as when you create standard ODBC connection for GP workstation ? but change default database to targeted company database.� Create SQL Query to probe the data ? we always recommend tuning your query and see that you are getting adequate results ? in any case ? Crystal Report is just a nice tool to show the results of your query. Direct Web Publishing off Great Plains databases ? yes - it is easy now with Visual Studio.Net and you can hire good programmers.� This is good - Microsoft Business Solutions products: Great Plains, Solomon, Navision and Axapta will be integrated into so called Microsoft Business Portal - which will have web interface - you can get the idea if you look at Microsoft CRM web client - so direct web publishing is good taste. SQL Queries.� If you have SQL background - this is great field for you.� You know - with properly formatted SQL query you can realize simple EDI export/import for the integration with legacy systems. Happy designing!� if you want us to do the job - give us a call 1-866-528-0577! [email protected] Exactly What Does FTP Stand for and What Can it do for Me? FTP stands for "file transfer protocol". FTP is basically a way of sending files over the Internet. Cisco CCNA Certification: Becoming A Truly Valuable CCNA. I've been active in the Cisco Certification track for four years, working my way from the CCNA to the coveted Cisco Certified Internetwork Expert title, and during that time I've conducted job interviews and casual conversations with hundreds of CCNAs and CCNA candidates. Microsoft Great Plains: carpet, textile, fabric, felt distributor ? implementation overview In this small article we will show you the possible way of deploying Microsoft Business Solutions Great Plains for the market niche of large, mid-size and small reselling and distribution business in carpeting and floor covering, textile & fabric. We will not be talking about fabric production, but rather cutting for the end-user or small retailer. Microsoft Great Plains itself in our case should be considered as a platform for light customization and modification. We'll describe industry requirements and the way them to be implemented in Great Plains Spyware Protection: A Must for Any Home Computer Now that spyware is the single most dangerous threat to home computers connected to the internet today, getting your hands on some sort of spyware and adware protection is critical. Spyware has outpaced computer viruses in its prevalence, and in the kind of damage it can do to your system. Microsoft Great Plains Customization Recovery & Upgrade for Large Corporation At the end of XX century, in the late 1990th Great Plains Software eEnterprise was recognized as one of the leader on the midsize to large corporate ERP market. Due to the nature of eEnterprise architecture - it is Great Plains Dexterity based application and Dexterity imposes some specific to the database access and table structure ? eEnterprise was subject to relatively inexpensive customization. During the recession time a lot of former Great Plains Software and then Microsoft Business Solutions partners either went out of business or merged with Auditing firms and their Great Plains clients saw this instability and simply stopped annual enhancement program payments and become so-called orphan clients. Today, in 2005 ? it is time to upgrade from eEnterprise 6.0 to Microsoft Great Plains Professional 8.0. If you have major customization for eEnterprise ? you need to understand your options before you find your new Microsoft Business Solutions VAR of record. In this small article we will describe you the main steps and options to upgrade Dexterity customization: netstat - Linux Command to Display Networking Information In linux, one of great commands for finding out information about your network connections is "netstat". It provides you interface information, statistics, connections, and a lot of other really great information about your computer. Navision Attain Database access via C/ODBC in ASP.NET Application Navision Software was purchased by Microsoft and now it is supported by Microsoft Business Solutions together with Microsoft Great Plains, Axapta, Solomon, Microsoft Retail Management System and Microsoft CRM. Navision has extremely strong position on mid-size European and US markets, plus it has excellent manufacturing solution. Our goal is to help IT departments to support and tune Navision with in-house expertise and skills. The topic of this article is Navision database access from ASP.NET application via C/ODBC interface. Our goal will be ASPX page accessing Navision Customers. Microsoft Great Plains on Ctree or Pervasive SQL ? What to Do ? Tips for IT Manager As you probably know, when Microsoft purchased Great Plains Software ? the whole strategy for Great Plains Dynamics/eEnterprise line was changed. Initial GPS strategy was to maintain DB platform independence ? via it's C-written engine Dexterity, based on the believe that C programming language is platform independent. So ? Great Plains was running on MS SQL Server, Ctree (Faircom ? if you remember 1995-96 Macintosh era), Pervasive SQL (Btrieve). Microsoft obviously had no plan to keep this multiplatform capability and Great Plains was optimized to MS SQL Server and with the introduction of MSDE ? the need to keep entry level Dynamics on Ctree/Btrieve disappeared. Great Plains Dynamics on Pervasive/Ctree support ? overview for consultant All of us know that Microsoft bought former Great Plains Software and formed Microsoft (Great Plains) Business Solutions in the earlier 21st century. It was total success for GPS, we guess, but for Great Plains Dynamics / eEnterprise / Dynamics C/S+ clients it was the time of change. First of all ? Great Plains Software, as being independent corporation in 1990th had to stake on certain future predictions. They decided that future should be based on these two basic principles: Microsoft CRM for Corporate Business ? Working Offline If your company has regional and worldwide operations, you might already realized that it is very hard to get decent internet connection in your remote locations. In this small article we will try to give you highlights on how to implement Microsoft Business Solutions CRM for worldwide operations with restricted internet connection. What is a Document Manager without Version History? Document Manager and Version History Are You Waiting for Microsoft Longhorn Operating System I love new technology. I am still ready to wait long for Longhorn. I have tried almost all operating systems of Windows series. My interest in Longhorn is building up day by day and the reason is..! From beginning Microsoft is very successful to project Longhorn as something mysterious. Many interesting stories are connected with it, which helped Longhorn to gain pre-launch popularity; I would rather say curiosity about this product. I don't know who is the propaganda minister of Microsoft? May be Mr. Brightside or Mr.Lonely. Relax guys I was just kidding. Anti-Virus Software Anti-virus software is used to find, remove or fix files that are infected with computer viruses. Most anti-virus companies release weekly updates of their databases to help keep you safe. Your anti-virus software uses these weekly updates (also known as virus signatures or definitions file) to identify newly discovered viruses. Microsoft CRM Implementation - US Market Lessons Microsoft CRM is CRM answer from Microsoft Business Solutions. If you compare it to other traditional CRM applications, such as Siebel - you will see that Microsoft CRM does use all the resent Microsoft technologies, that means that Microsoft targets its CRM to Windows market exclusively, plus this means that Microsoft CRM is more difficult in its installation. Microsoft doesn't even have to care about other platforms, such as Linux/Unix or Apple. Now - we see kind of paradoxical situation when Microsoft CRM is gaining market share even in recession and early post-recession time. Where is the secret? Increase Office Efficiency With One Simple Tool When you need a phone number, you do a quick search on the Internet and in a few seconds, you've got the information you need. And you probably receive a lot of contact information right inside the emails you receive every day. Both methods are by far more convenient than using those white or yellow-colored telephone directories. Who?s Watching What You Type? If someone entered your home, uninvited and installed numerous cameras and listening devices in order to monitor your activities, you would quite rightly be outraged. While such a situation, unless you are living in the Big Brother House, would be considered ridiculous, the same cannot be said for the humble home computer. |
home | site map |
© 2005 |