Software Development Tale: The Plan

Software Development Plan

Software Development

It was a rainy autumn evening. I was at home, sitting in a comfortable chair with my phone in hand, scrolling through Google Analytics report and wasn’t able to understand how did it happen. Six months ago my software development blog had three thousand views per day, and now it is below two hundred. I think the main reason for such a terrible drop was the fact that I have stopped posting new content.

At that moment I have realized that it’s time to change something, bring a new life to the blog. Of course, writing content will be the easiest thing to do, but I am an engineer, and I want to combine content creation, system design, and software development into one process.

As with any other system, you should start with a high-level plan. The plan should at least define your goals, milestones and business requirements for the system.

Software Development Goals

I will use SMART (Specific, Measurable, Achievable, Relevant, Time-bound) criteria to define the goals for this project. Each goal should be specific, try to avoid vague descriptions. As well you should have criteria to measure if your goal was achieved, for example, page load time should not say: “load fast” but should specify how fast: “Average full page load time after 20 tries with 20 simultaneously connected users should be less than 100ms.”. Achievable is another important part, try to set goals that are visible to achieve, if you have something that almost impossible to achieve, consider this as a dream, not a goal.

Here is the list I have created:

  • Fast load from different parts of the world. Average full page load time after 20 tries with 20 simultaneously connected users should be less than 100ms. Locations to test from:
    • USA (East and West coast)
    • Europe (Amsterdam, Frankfurt, London)
    • Russia (Moscow)
    • Australia (Sidney)
  • Mobile friendly. The page should render and be usable on the mobile devices. List of devices:
    • iPhone 6 and above
    • iPad mini and above
    • Samsung Galaxy s9+
    • Samsung Galaxy Tab
  • Backward compatible with existing WordPress links. All existing links should work as before and show the same article or page.
  • The 95+ score in google page speed in mobile and desktop tests.
  • 400k+ in Alexa Rating
  • A YSlow rating
  • Valid W3C markup
  • Google AMP support. Each article should have a valid AMP page with the cross-reference to the original article.
  • 1000+ daily views after two months of the new version in the production.

As you can see goals do not answer the question of how to achieve them, this is part will be defined in the next step, when we start creating the architecture for the new version of the system.

Software Development Milestones

Another vital part of the plan is the list of milestones, of course, this is something that might change over the time, but it’s good to start with a high-level overview.

  1. Create the architecture of the new system
  2. Develop and release MVP (Minimum Viable Product)
  3. Migrate existing content
  4. Implement and release version 1.0
  5. Create new content
  6. Collect and analyze statistics.

Since this is a side project that I am working on in my free time, I will not put hard deadlines on these milestones, but in the product development, you should specify at least time frame for each milestone.

As well remember that this is not something written in stone, do not be afraid to change your plan. In the Agile Software Development, the earlier you detect that you need to change something the less effort, money or resources it will cost you.

I really like when everything is well organized and structured that’s why every time I design and develop the new system I try to understand the business problem and come up with a good plan. Before we start any project I personally do technical consultation and dive deep into the business domain.

We are always open to discuss your project and help you with the implementation of your system. We have extensive expertise in different technologies and the best team of top-notch developers. Call us or write a message if you have a question or need help and we will lead your project in the right direction.

Leave a Reply

Your email address will not be published. Required fields are marked *