Do You Have Your Custom Web Development Risks Under Control?

Managing custom web development is managing a software project. More and more, average people in average businesses are managing software projects in the form of customized blogs, websites, and e-commerce shopping carts. Even more so, if they are trying to deploy a custom intranet application, for internal use by their company’s employees, or an extranet application, for use by their customers and corporate partners, they may find themselves faced with developing a fully custom software system.

For example, one project I recently worked on is a custom extranet application that a certain company’s clients use to submit jobs to the company. As each job request goes through the system, a number of people in the company need to add information and sign off on it. This automated system was thick with business rules for this particular company and as a result was almost completely custom, because no off-the-shelf software got even close to doing the job the way they needed it done. It was expensive for them to develop, but it allowed them to automate a process that previously had been manually intensive. (Before this, they would email Excel spreadsheets around. Now, the computer handles all the grunt work, and frequently, all a human has to do is click “Approve.”)

This is an extreme example, but more moderate examples also exist. For example, a Gilmore Girls fansite I put together years ago had custom database features in order to store memorable quotations from the show with fan commentary, linked to episode and topical guides. That’s something that has not to my knowledge been done before or since. It required custom programming and configuration to process user submissions, store the data, and display the data in the right format.

Unfortunately, if you’re facing this type of project, many of the consultants and service providers you talk to will not be aware of the software development issues involved and how to manage the software-development risk. They may try to shoehorn your problem into something off-the-shelf software can accomplish. Or they may just “hack together” custom programming, without managing the complexity of the underlying software design. Or they may want an up-front specification of everything your project needs to do and may want to spend months working out these details, under the guise of good planning. But how can you plan a project you have zero experience with? You can’t. And neither can they.

Now, this is not a problem if all you need is a stock installation of off-the-shelf software. For example, if all you need is a WordPress blog with off-the-shelf plugins and an off-the-shelf theme, the traditional approach is the right one. Figure out what you need, install it, make sure it works, and release it to the world. Even if all you need is a custom theme for a stock website, the traditional graphic design approach–3 mock-ups, choose one, then implement it in code–may be the best approach. Even if you have a semi-custom installation of a more complex web application, like a content management system or an e-commerce shopping cart, the traditional approach may be acceptable.

But the more customization your project requires, the more software engineering concerns will impact it, and the more ignoring these concerns will put your project at risk. This is especially important in a financial squeeze, where you need to maximize what you get for your software-development dollar and minimize the risk that the project will go off track or bust.

If you find yourself faced with this prospect, here are 13 “lucky” software development tips to planning and executing your next web development project, briefly:

  1. Resolve to take tiny steps. Don’t develop and deploy the system in one big leap. Rather, do it in small chunks so that you can monitor its progress and adjust its direction each step of the way.
  2. Find an expert you can trust, then trust him. Don’t just look for someone to bang out code for you, but for someone to advise you on technology and on the software development process.
  3. Don’t commit to which features you want until you need to develop them. Wait until the last responsible moment before committing. That gives you more time to gain the experience at each step to choose the most important features to add next.
  4. Make sure the contract allows for changes, and make changes before committing, but not after. Work with a development team who will allow you to make changes to the plan, up to the point at which they begin actually implementing your requests.
  5. Provide software requirements in the form of objective test procedures. Go step by step through a typical usage scenario so that the developers can understand what you envision, and so that your in-house testers can know that they implemented what you asked for.
  6. Set objective acceptance criteria for each feature. Be as flexible as you can without giving up your core requirements. Think through ahead of time what you really need and what you can get away with. Then talk to the developers about what they can do to give you the former.
  7. Ask the developers how long each feature will take to implement, and whatever they tell you, trust but verify. Many developers are over-optimistic in their estimates. So depend on their expertise in estimating time-to-completion, but verify it with your own measurements.
  8. Make an “expert user” available to advise the developers. Good developers will ask you questions about the system that you probably never thought of. Assign an “expert user” to answer these questions, someone in your company who can represent the users of the system to the developers.
  9. Get regular status updates. Have someone in-house look at each release. Meet with the development team leader every week to address issues. Stay in constant communication.
  10. Expect the possible, but not the impossible. If your developer says such-and-such a task will take a month, don’t argue him down to a week. Rather, talk about what parts of it you can leave out to reduce the time it will take.
  11. Be prepared to choose which features are more important, and which are not. If the developer asks you to choose which of two features is more important, don’t insist that both are critical and must be done next week. Make the hard choices. Pick one to do this week, and leave the other until next.
  12. Expect to fail in the short term, even if you’re optimistic in the long term. Microsoft didn’t get Windows right until version 3. You also may need to wait until the third monthly release before you see anything usable in your application.
  13. Don’t be afraid to pull the plug. At some point, you’ll find that all the most important features are already working and that the ones that are left aren’t actually worth what you’re paying for them. At that point, stop buying new features, and move onto the next project.

Not every development shop will be able to work within these bounds. These tips do come from many years of experience, failed projects, and successful ones. But there’s also a certain amount of faith involved, because despite the years of experience, we still have scanty scientific data to prove which software-development practices are most effective. That’s why some developers may not be used to working with the kind of process I’ve outlined here and may even refuse to. So you may need to shop around a little to find a developer who can. But at least now you know what questions to ask.

Use Joomla CMS for Web Development and Manage Your Content With Ease

It’s important for businesses to have a feature-rich and user-friendly website to score well on the internet. Since a lot of opportunities and prospects generate online these days, every business will thus need a website to realize their potential in true sense. The website in question should be powerful and functional to help your business get an edge in the market. So, you will need to first choose a proven content management system (CMS) or platform and then hire an expert to get the website developed. The platform should be rich in features and functionality to ensure success to your business.

At present, there are a variety of software packages available for building, organizing, managing and publishing content for web-based applications. Most of these software claim to bring great results for websites, blogs, mobile apps and intranets in more or less the same manner. However, you should be careful in selecting the one as you will need a platform that suits your needs perfectly. Among the list of available options, Joomla is one such CMS, which brings an award-winning platform for web development. It has scalable MVC architecture and therefore considered quite helpful for building web applications. It is also packed with features for quality web development.

More so, Joomla is an open source multilingual CMS platform that brings support to 66 languages and helps in creation of websites in multiple languages. With this kind of language support, any business can enhance their reach and get to cater a much larger and wider audience across the world. Furthermore, this platform enables simple and easy updates, and in fact, brings to the domain the much-envied feature of “One Click Version Update”. More so, it has an integrated help system so that users at every level find it easy to manage and operate this platform.

In addition, it brings the Media Manager tool to let files and folders be uploaded, managed and organized in a simple manner. Its banner manager option creates the prospect of adding advertising and monetizing the website as it’s now easy to create campaigns and add banners to get clicks and impressions. Similarly, it has features that help in adding of several contacts and categories to make websites a rich source of information. Not to forget, it also brings the feature of built-in smart search feature so that visitors to your website never face any issue in searching any information.

The best thing about Joomla is its wide range of features of content management which makes the task of managing your content a cakewalk. Creating and editing content has gone extremely easy and breezy, and it’s now simple to publish the content with just few click alone. What’s more, frontend editing is now a reality and there is absolutely no need to log into the admin section for doing any changes to the content. In a sense, managing content is not tough anymore and Joomla has added more simplicity to the entire content. So, you should select the right platform for your web development projects to realize your business goals.

Small Business Web Development Software

There are numerous options you can choose when looking into finding small business website development software. The final choice is influenced by your specific needs. As small as your business can be, there are some features you simply can’t do without.

Web Database Development

This is an example of a feature that you should include from the start. Before you pick software, you need to evaluate your needs for a custom database. This will help you develop a website that is data base driven and tailored to the exact needs of your business.

One thing to keep in mind is that web database development can be quite trick and so you need to make sure that the software you choose is user friendly and “smart” enough to deal with all the issues. This includes browser compatibility, client/server interaction and the database performance issues.

Website Development Software

I know that you are probably looking for software that does not only focus on the database. You can find small business web development software that you can use to easily create web pages, add buttons, force users to complete capcha fields and even allow data entry forms and save all to a database.

A good example is Adobe Dreamweaver. It is good small business website development software for any one with little or no much knowledge on web design and coding. By this I do not mean that you do not need to take a few days trying to get around it. In fact I personally bought a Dreamweaver book and took 30 days reading and practicing. You can also try our Frontpage but it is too basic for my liking.