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 Visual Studio 2022 architecture feature - Architecture analysis & modeling tools - Visual Studio (Windows) | Microsoft Docs Architecture Center - Azure Architecture Center - Azure Architecture Center | Microsoft Docs 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 Unit test tools - Visual Studio (Windows) | Microsoft Docs What is Azure Test Plans? Manual, exploratory, and automated test tools. - Azure Test Plans | Microsoft Docs

Remote Learning Guide with Microsoft Teams or Zoom

Delivering remote learning is not an easy task. Comparing with the offline classroom, you can see your student, you have a flexibility in movement, and you can provide instant interaction through various hardware. During the hard time in COVID 19, giving the best learning experience in online environment is mandatory to keep our student / participant engaged. On this article, I will show you seven tips to prepare, run, and evaluate the remote learning. This guide will help you, if you are instructor, speaker, or a mentor in remote learning, workshop, seminars, or interactive meetings. Let us get started with the Tips Tips 1 – The most important thing is Microphone! Most of the session will be delivered online through your laptop / desktop. Many of them have built in microphone and webcam. However, it will be great if you can invest yourself for several hardware. Here is my guide list for the Microphone It should have noise cancelation enabled. If you are having recording session, please consider to desktop microphone. Desktop microphone tends to obtain many noises but the quality quite high and can be reduced later. If you are having online session, please consider earbud with extended microphone (look at the picture). The idea is using microphone that near with your mouth. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; Tips 2 – Configuring hardware through software Some of the sound cards has a useful feature to eliminate noise by using software emulation. Realtek audio console do a good trick for that. Find your Realtek audio console and do this configuration. Set the microphone in maximum level. Set the microphone effects Uni-directional when you want to deliver online session High-Quality record when you want to deliver recording session Tips 3 – Speaker! Choose wisely If you have long running session, I recommend you use wired headset / earbud. I do not recommend you use True Wireless Headset / Bluetooth headset for long running session (> 4 hours). I had bad experience when the battery is running out and disconnecting. Never use external speaker to reduce the feedback. Tips 4 – Separating the device I always do a separation between speaker and microphone. For example, when I found the built-in microphone provide better voice. I am choosing custom setup to separate it. Tips 5 – Camera and a good virtual background You need to find better camera at least 1080p. After having a good camera put and effort to search the virtual background. Some of the keyword that you can search are: Furnitures Living room Virtual background The tips to find a good virtual background is Finding at a site that focusing on picture sharing (unsplash, freepict, etc.) Find the picture without human Find the high resolution Tips 6 – Planning Your Activity Plan what you want to share with the participant, make sure its visual appealing but elegant. Here are the tips Creating visual rich presentation. You can use Zen presentation technique to balance between the content and the visual. Adding several activities in one session. You cannot hope the participant can focus for 2 hours presentation. Please consider adding: Quizzes or Pool Demonstration Videos Workbook for hands on lab. Games! Feedback survey. Creating a drill down activity in a table. You should combine more than one activity in a session. Share the agenda with the participant 3 days before the events what the software, hardware, and skill that need to learn before your workshop. Tips 7 – Dry Run Before the event, please make sure you already. Prepare 15 minutes / 30 minutes before event. I choose 15 minutes for a short webinar (60- 90 minutes) and 30 minutes for a remote learning session (120 – 180 minutes) Open any windows that you need to show in the remote learning session. For example, I open Visual Studio, Web Browser, PowerPoint, Whiteboard, and others before the event. It will eliminate time to wait for the participant. If you will show several websites. It will be good if you create a bookmark / collection by using Microsoft Edge. Looking your face in the camera, if its too dark consider adding light in your desk. Having a backup connection and plugging your notebook in the power outlet. Upload any related material to the cloud so the participant can grab and download the content in the workshop. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Ten Tips Managing Microsoft Teams

If you are an administrator, you might need to manage Microsoft Teams to suite your organization needs and policy. In this article, we discuss about ten most activities that you might be done in Microsoft Teams. #1 Managing Guest Having a guest and you want to manage it. You can use the Azure AD to manage the external settings. Azure AD -> Users -> User Settings - > External Users - > Manage external collaboration settings #2 Managing Guest Activity on Teams If you want to disable the guest camera, enable the call, or anything. You can do that by accessing the Microsoft Teams admin center and modifying the External collaboration settings. #3 Managing Teams Expiration. For example, you want to manage the HR department to fulfill compliance requirements: Teams expiration when is not used, Teams deletion, and Teams restoration. You can do that by using PowerShell. From PowerShell, run the New-AzureADMSGroupLifecyclePolicy cmdlet #4 Providing High Confidential Content Sometimes, you have a classified information that you can't share. Teams can help you identify the channel as high confidential by using classification label that can be configured in Azure AD. // #5 Preventing others department to invite others. You can do that by applying information barriers policies #6 You want to deploy Teams automatically You have two options. For Windows User you can identify the Skype for Business installation and do background installation. For Windows, IOS, or Android, you can do the automatic installation by using Intune that available on Microsoft 365 Plan E5 / A5. #7 Getting Alert when Teams Creation and Modification You can do that by configuring an alert policy in Security and Compliance admin center. #8 Getting Log for Troubleshooting You can request the user that use Microsoft Teams Client to do Ctrl + Alt + Shift + 1, to generate the log in the download folder. #9 Generating Reports You can create report such as active Microsoft Teams users during a week, active teams channel, and many more by looking the Teams Usage Report. You can share the report to the user with the report reader. #10 Removing Inactive users You can remove the inactive users in the group by looking the access reviews in Azure AD. That's' it 10 tips to manage your teams for policy and governance. Having other tips to share? Please send a comment. //

Webinar: Creating Teams for Education to Manage Virtual Classroom

In the era of COVID 19, we need a way to continue our education process without leaving our home. With the limitation of our mobility, virtual classroom can be used to deliver learning process both synchronous and asynchronous. On this 30 minutes webinar, we discuss how to create Teams for Education to facilitate digital classroom. This recorded webinar focused on creating and starting virtual classroom, managing assessment, and additional support.   //

Office 365 Development Scenario

in the previous post, I discussed about the choice for the developer to develop in the top of Office 365 platform. Today I will discuss about what kind of scenario and proper technology that you can use to build proper scenario for your customer. // Single Sign on Scenario This is the most useful scenario. Office 365 works as a cloud identity provider. You can register your office 365 tenant in Azure Active Directory. It works as your identity provider. Learn more about SSO scenario here Accessing the Data from Office 365 Platform After you authenticate the user, you can obtain the data from the Office 365 platform. This can be done by registering an application as Azure App and give the proper permission. You can learn in through here Interacting with the Document This can be done through Add-In model. The Add-In model works with Word, PowerPoint, Excel, and many Office 365 desktop application. You can learn here Designing for Instant Collaboration This can be done by creating application in Teams. You can create app integration, bots, and massaging integration. You can learn here Designing for Portal Collaboration Of you want to create a portal based solution, you can use SharePoint to develop platform based application. You can learn here //

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