In the content below, topics are divided into 4 sections:
AIM uses the Microsoft Visual Studio library of tools to plan, develop, and deliver modern webapps and business intelligence portals.
Webapp features we provide include responsive design, mobile and desktop pages, user profile management and authentication, social media branding, eCommerece, and Search Engine Optimization. Our AIM website is an example of a basic ASP.Net MVC website using bootstrap.
Thanks to responsive design, weather you browse this site in Edge, Chrome, Android, iPhone, or even Kindle, the website will resize and stack the areas that build out to the right on larger screens such as columns. The images and videos on this website can even be responsive. For unique situations where responsive design does not provide the mobile, or Kindle experience that you want to deliver, we can design separate views for each device.
Many websites need to provide the ability for users, employees, or customers to login and logout. This process is called authentication. AIM can offer OWIN authentication, a technology that allows users to not only login and logout using a system provided user name and password, but it also allows users to authenticate using their social media accounts such as Facebook and Twitter.
Once authentication is deployed, you will quickly realize that you need a way to manage and users can manage account profile information. Building on the OWIN technology above, we can extend the model to include a user profile table that can be viewed and maintained by the user. We also need an administrative view to allow for assigning users to roles, deleting and updating users, and approving website registrations that create a new user profile. This is user profile management.
Social Media and Social Media Branding remains an essential focus of website design and the continuous involvement and participation in organizational and personal collaboration and sharing of our professional acumen to help build awareness in the Social Media world and brand.
An e-Commerce website has many technical concerns. Integrating with PayPay and testing this integration using the PayPal developer sandbox is one method to enable an e-commerce website. Integrating with PayPal allows you to design a custom shopping cart using your own product images and information from your own website and database, yet let PayPal manage the financial exchange and the security concerns.
Search Engine Optimization is a huge service that AIM can help with. Starting with making sure your website used a static IP address and is properly registered and accepted by the major search engine services. Techniques like defining the page meta-data tags, using dashed (-) us certain naming situations, and including inbound and outbound linking strategies.
In the arena of website development, including mobile, there are 3 types of development styles. These 3 styles are as follows:
Most companies today have embraced the Agile Methodology due to its flexibility and its focus on divining effort into small atomic tasks.
One benefit of dividing the effort this way is that users, developers, and clients have continuous visibility in to the development process.
In an Agile work flow, business analysts will gather the requirements for projects called "User Stories." These user stories go into what is called a Story Backlog. These stories are then assigned to developers by either the project manager, or a scrum leader.
Once a story has been assigned to a developer, the developer will review the story requirements and create a list of tasks (TFS: work items) that will represent the estimated effort for the story.
Both the user stories and the tasks can be displayed on Kanban & Scrum Dashboards. We can track the Estimated Effort, the Actual Effort, and the Velocity. We can also track Capacity versus Utilization.
These user stories that are encapsulated with tasks provided by the developer are assigned to sprints by the project manager, or scrum master.
These sprints are usually 2 weeks of functional development with 1 week of delivery, review, and feedback for a total of 3 weeks per sprint (iteration).
At the end of the feedback process, we go through an approval process. The stories that are approved will be assigned a release id and begin the release process. Stories that are not approved are recorded and changes will be incorporated into future iterations. For smaller issues, we will adjust and track keeping with the flexible nature of the Agile Methodology. Vary rarely will a feedback change require changes that will ripple throughout the entire Epic. An Epic is a larger grouping of User Stories that represent a larger, or bigger picture of the overall development goal.
Once these feedback adjustments and changes have been managed by collectively modified in the current and, or future iterations, the Next 3 week iteration begins. This 3 week iterative cycle is repeated for the required duration determined by the Business Analysts and Development Team during the Story Estimation Meetings.
One excellent way to estimate effort with a development team is by using a free "Planning Poker" Agile User Story Estimating plication. These estimation applications use a Fibonacci sequence. The reason for using the Fibonacci sequence is to reflect the inherent uncertainty in estimating larger items of effort.
When discussing development team collaboration, the topic in the Microsoft product line is Team Foundation Server. I want to point out that team collaboration
in this sense can include executive leadership, middle managers, business analysts, project managers, developers from other teams, as well as your team.
At the heart of Team Foundation Server is Visual Studio. In fact, TFS is an installable extension to Visual Studios. It is also true that TFS is also an expendable application like Visual Studio. The user interface inside Visual Studio is called Team Explorer.
Besides Team Explorer, there is also a web interface. TFS as an application also interfaces well with SharePoint, Office, and Project. TFS also support lab (training lab) management features.
In terms of collaboration between the development team and the operations team such as a database administrator (dba), we enter the discussion of DevOps.
DevOps is short for development and operations. In terms of developers, it can mean many developers and many teams of developers. In terms of operations,
it may mean one dba, or it may mean a dba team and an approval process with a team of its own.
At the core of DevOps is source control. Source control is where we manage and administrate the enterprise source code that we develop. We can branch and merge code, track versions, protect intellectual property by securing access to the enterprise code stored in source control. This represents the development side of DevOps.
Changes that developers make that are checked into source control will trigger what is called continuous integration. Continuous integration is the continual
process of building the Microsoft Solution and releasing the build according to a release management schedule maintained by operations. This represents the
operations side of DevOps.
Operations will manage things like the release life cycle that may look like a migration from a development environment, to a test environment, to a final user acceptance (UAT) environment . Once user acceptance has been approved, operations will initiate the release and deployment of the code following their set change control policies. Ideal continuous integration will build the code on a set schedule such as nightly. In some environments, like development, automated builds may fail, however at higher level release environments, such as UAT, build should rarely fail during scheduled continuous integration.