How to Get the Most Value out of Web Development

Increasingly clients want applications to be built within a tight budget, but with a feature list that is outside of it.

One way of overcoming this issue is by building and releasing your application in stages. This helps your cash flow and lets you get user feedback quickly enabling you to decide on which features you need to build next.

However, sometimes a fully bespoke system just isn't needed as there is an off-the-shelf solution. But where does that leave you if an off-the-shelf system doesn't quite fit your needs and a fully bespoke one is out of budget? I see three options:

Open Source
Customizing an existing open source application (if one is available) would save on the cost of the bespoke system as you would only pay for the new features.

Application Platforms

You can use an existing paid application platform and we can extend it with plug-ins to fit your needs. For example, we are currently a development partner with Shopify to provide e-commerce sites. We will be looking to create other similar partnerships.

API Extensions / Plug-ins / Widgets
We can build a bespoke application and use third party APIs, this not only saves on development time but you also get a more feature complete solution. For example, MailChimp for email marketing, Intense Debate or Disqus for commenting, Get Satisfaction or Zendesk for support and help-desk functionality.

I will be updating our website with more application platforms, plug-ins and open source applications soon.

We don't just want to build applications, we want to deliver real value and there is no point in reinventing the wheel.


Ruby on Rails Development by Bit Zesty

Loading mentions Retweet
Filed under  //  API   open source   project management   SaaS   services  
Comments (0)

What are the Advantages of Scrum for the Client?

Scrum provides many benefits for developers, but what are the advantages of Scrum for the client and other stakeholders? This is a question I faced yesterday in a client meeting.

To answer that I need to define what is Scrum. In layman terms, it is a project management technique that is used with agile development projects.

Benefits for the client:

First of all, Scrum facilitates changing customer requirements. It provides a flexible framework where addition of new features or re-prioritization can take place without negatively affecting the project flow and team's morale.

Secondly, it encourages regular feedback by having short development cycles (sprints), where at the end of each sprint a review takes place. The review provides opportunity for the entire team to reflect on the last sprint and improve.

Thirdly, by defining roles for team members it promotes collaboration as well as clear and open lines of communication between developers, the client and other stakeholders.

Finally, Scrum provides a framework for work estimation, where features are estimated using points. Each point represents a relative amount of effort required. The technique is flexible enough to allow for changes in requirements as well as changes in development teams velocity.


However, Scrum is not always suitable and does not always work:

It does not work with traditional software development methodologies such as Waterfall.

It cannot be fully adopted if a team is too small or too big - ideal team would be 4 to 6 developers.

It cannot work effectively if it does not have full management/client support.

It requires a Scrum Master who understands the Scrum practices and is able to apply them.

Loading mentions Retweet
Filed under  //  agile   project management   Scrum   ScrumMaster  
Comments (0)

Agile Web Development Process

Feature Planning Workshop
A feature planning workshop is essentially a brainstorming session. The participants should at least include developer's team manager and a person leading a project in your organization. Other developers, software users and other stakeholders could also add value. During the workshop the identified requirements are captured in the form of user stories and prioritized.

Estimate and Schedule
After the feature planning workshop, the developers estimate how long each user story will take to implement. Work is divided into one or two week cycles (iterations) and resources are allocated accordingly.  You should then receive an estimate and an iteration schedule.

Weekly/Fortnightly Demonstration and Planning Meetings
Once the project is given the go ahead, you may want to meet developers again to plan the first iteration cycle - define goals for the iteration, clarify, detail and re-prioritize features. Then the development team goes away to write the code and tests while constantly collaborating with you to make sure they are building what you want.

At the end of the iteration, developers should demonstrate the completed features for that iteration. You should provide feedback and proceed to plan the second iteration in more detail. The process should keep repeating itself until the application is complete.

Completion
Once all the iterations are completed and you are happy with the result, the developers should deploy the final version of the application to your server. But the relationship should not end here - make sure they are there to support you if needed.

For more information on how to make sure your project runs smoothly, read 5 Ways To Keep a Web Project on The Rails.

Bit Zesty Ltd

Loading mentions Retweet
Filed under  //  agile   project management  
Comments (0)

5 Ways To Keep a Web Project on The Rails

It is amazing how many things can go wrong during the course of a web project. Here, we focus on five problems which any project can encounter and explore how they can be avoided or solved.

1. Poor Communication

It is vital to establish a good line of communication between yourself and the developmentteam as soon as possible.  Poor communication can lead to misunderstandings and slow the progress of your web project considerably.

SOLUTION:  Try to ensure that there is an assigned project manager within the development team you work. You should also appoint a dedicated person within your own company as a point of contact for the development team.

2. Requirements Not Met

At the end of a project, it is all too common for clients to be presented with a product which is very different from what they had envisioned at the beginning.

SOLUTION:  Have regular meetings with your development team and request demonstrations of the progress they have made as you move forward with the web project.

3. Undefined Priorities

When priorities become muddled, projects can drag on for long after the target deadline, with no end in sight. This confusion is often caused by the introduction of more and more requirements to the brief as the project progresses.

SOLUTION:  Be clear about your priorities. It is far more efficient to launch the product and then tailor further adjustments to specific user feedback than to delay the launch date indefinitely while making changes based on guesswork.

4. Inadequate Testing

Testing is usually the first corner to be cut when the budget is tight. However, it is a risky step which rarely pays off: inadequate testing can leave the web project vulnerable to many bugs, which in turn will slow down the project and result in greater costs in the long run.

SOLUTION:  Ask for automated testing as part of the development process, especially if the web project is complex. It is also good to have someone within your company testing the project throughout the duration, helping to identify bugs as early as possible.

5. Warning Signs

If you think that something might be wrong, the likelihood is that you're right. Trust your instincts!

SOLUTION:  As soon as you notice warning signs such as slow progress or poor quality work, get to work addressing the issues so that they don’t end up snowballing.

The best way to keep your project going along the right tracks is to fix problems as soon as they start to occur. Read on Agile Web Development Process.

Loading mentions Retweet
Filed under  //  agile   project management  
Comments (0)