Software Development Best Practices

As a software engineer, i feel overwhelming with the software development process. Although, it's been more than decades to learn about it and plus my doctoral degree is in software engineering. i don't have any confidence that our software will have less bugs, better performance, and stable architecture. This is because several reasons such as:

  • requirements changes
  • lack of better architecture (chaos architecture)
  • untested software

So my real question is how we create better software and eliminating that problem. Let's think simple solution about this:

  • Requirements changes --> unavoidable --> we should take care the changes by giving our customer chance to change as long as they pay
  • Lack of better architecture --> can be avoided --> we should create a standard platform in the team and the architect should maintain the document so it should up to date
  • Untested software --> can be avoided --> we can create a standard process to make sure the software is tested and the bugs is eliminated.

Requirements Changes

the way to improve the requirement process is by

  • Creating a series workshop / meeting session to improve the requirement visibility
  • Managing clear documentation about the requirement and the requirement changes.
  • Tracking the changes about the requirement and the requirement changes.

So what tool do you have for these:

  • Azure DevOps
  • Microsoft Planner
  • Microsoft OneNote

You can learn further here Manage requirements, Agile methods - Azure DevOps | Microsoft Docs

Lack of Better Architecture

The way to improve better architecture are:

  • Evaluate the architecture with the architecture best practices
  • Learning the new technology that can fulfill you architectural need
  • Implement standardization of your platform and architecture task

So what tool do you have for these:

  • Visual Studio 2022 or later to check the code map, and code analysis
  • Visio or PowerPoint to create and propose your architecture work
  • Azure WIKI to document your architecture

You can learn further about the architecting here

Untested Software

The way to improve your software quality are:

  • Regular testing. For example, do software testing for each iteration
  • Creating your testing script. For example, you can create manual testing on Azure DevOps or automated testing with Visual Studio
  • Get Feedback from customer. Do feedback session with the client for each iteration.

So what tool do you have for these:

  • Visual Studio unit testing and testing feature
  • Azure DevOps testing feature
  • Microsoft Teams for documenting your meeting

You can learn further about the testing here

Add comment

  Country flag

  • Comment
  • Preview

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.


Month List