Architecture
Architecture, Events, Mobile, News »
What do you need to know to build native mobile apps using C#? Phone and tablet operating systems and programming models differ from web and desktop development. There are many options available for mobile events, threading, and services, but what are the best ones when coding in C#? Featuring the Xamarin product suite, this talk covers the fundamentals of native mobile development in iOS and Android, including:
Architecture, News »
Coding, testing, and releasing at breakneck speed.
What could go wrong?
Technical Debt
Constant changes to a system lead to disorganized code, which is fragile and costly to maintain. Each feature we add without spending an equal amount of time reorganizing the code accrues some measure of technical debt. Agile’s fast pace and change-orientation raises the risk of bringing about the early demise of a system through this process. So how do we pay off that debt before it accrues?
The lifecycle of software is well-established: Enhance the code until it becomes unmaintainable, then …
Architecture, Mobile, News »
I recently spoke at SharePoint and .NET Saturday Bermuda, a one day conference co-hosted by the Bermuda SharePoint Users Group and the Bermuda .NET Users Group. The keynote by Joel Oleson focused on the trends of mobile and tablet use in the enterprise, and ways that Sharepoint development addresses this trend. Responsive Design is the order of the day. Enterprise web applications must be constructed in a flexible, adaptive manner that detects and responds to the device type. That is, the web pages should look different and display appropriately different content depending on whether they’re …
Agile, Architecture »
I have found these books to be useful for agile coding practices in .NET:
Agile, Architecture, News »
It is a mistake to think that Agile is merely a project management methodology or worse, a buzzword.
Agile, Architecture »
The Agile/XP notions of frequent releases and constant redesign can be worrying. There was a day, not far in the past, that code changes, any code changes, struck fear into the heart of a developer or project manager. In many cases this fear was justified. The majority of code was quite brittle and fragile. The smallest of changes could bring an application to a grinding halt. That’s why, when we’re doing things the Agile/XP way, we use Test-driven Development(TDD). As we destabilize the code with refactoring and destabilize …
Agile, Architecture, Headline »
Software development is important to many of us, so we strive to find better ways to do it.
In the late 20th century we spent a great deal of time and money developing requirements and specifications, thinking through each case and documenting possible uses and outcomes. We would plan a glorious plan before beginning development.
Wait, that never happened.
Architecture »
Application running slow? The biggest challenge with improving application performance is finding the problems. There are often more than one. Narrow down the problem by tier, by machine, by application, then by functionality. Using this approach, one of our client’s primary product performance improved by over 300%:
Agile, Architecture, The IT Shop »
The Waterfall model has become the whipping boy of 20th century software development. The idea that analysis, development, and testing are separate, distinct phases of a development project, where time must be allocated to each, and one must be completed before the next begins, is history. Although it was seldom actually practiced, with time and budget constraints compressing schedules and steps, it was often an ideal to shoot for. There was some integrity in it, as I recall. For a long time, we regarded the model as a sign of …
Agile, Architecture »
MVC (Model-View-Controller) is the latest fad in Microsoft .NET development. As Agile and Scrum sweep the industry, a need has grown for continuous integration and deployment, requiring automated unit testing. Conventional ASP.NET architecture makes unit testing of page functionality difficult because form controls are tightly coupled to back end code-behind logic. That is, to simply unit test the selection of a dropdown list along with a Submit button isn’t straightforward. Enter MVC. By clearly delineating front end form functionality, the View, from back end business …